<SEC-DOCUMENT>0000912562-24-000012.txt : 20240221
<SEC-HEADER>0000912562-24-000012.hdr.sgml : 20240221
<ACCEPTANCE-DATETIME>20240221085545
ACCESSION NUMBER:		0000912562-24-000012
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		130
CONFORMED PERIOD OF REPORT:	20231231
FILED AS OF DATE:		20240221
DATE AS OF CHANGE:		20240221

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			GIBRALTAR INDUSTRIES, INC.
		CENTRAL INDEX KEY:			0000912562
		STANDARD INDUSTRIAL CLASSIFICATION:	STEEL WORKS, BLAST FURNACES & ROLLING & FINISHING MILLS [3310]
		ORGANIZATION NAME:           	04 Manufacturing
		IRS NUMBER:				161445150
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	000-22462
		FILM NUMBER:		24656500

	BUSINESS ADDRESS:	
		STREET 1:		3556 LAKE SHORE ROAD
		STREET 2:		P O BOX 2028
		CITY:			BUFFALO
		STATE:			NY
		ZIP:			14219-0228
		BUSINESS PHONE:		7168266500

	MAIL ADDRESS:	
		STREET 1:		GATEWAY EXECUTIVE PARK
		STREET 2:		3556 LAKE SHORE ROAD PO BOX 2028
		CITY:			BUFFALO
		STATE:			NY
		ZIP:			14219-0228

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	GIBRALTAR STEEL CORP
		DATE OF NAME CHANGE:	19930924
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>rock-20231231.htm
<DESCRIPTION>10-K
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:rock="http://www.gibraltar1.com/20231231" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns="http://www.w3.org/1999/xhtml" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:srt="http://fasb.org/srt/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xml:lang="en-US"><head><meta http-equiv="Content-Type" content="text/html"/>


<title>rock-20231231</title></head><body><div style="display:none"><ix:header><ix:hidden><ix:nonNumeric contextRef="c-1" name="dei:AmendmentFlag" id="f-33">false</ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="dei:DocumentFiscalYearFocus" id="f-34">2023</ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="dei:DocumentFiscalPeriodFocus" id="f-35">FY</ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="dei:EntityCentralIndexKey" id="f-36">0000912562</ix:nonNumeric><ix:nonNumeric contextRef="c-4" name="us-gaap:ImpairmentOfIntangibleAssetIndefiniteLivedExcludingGoodwillStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration" id="f-645">http://fasb.org/us-gaap/2023#GoodwillAndIntangibleAssetImpairment</ix:nonNumeric><ix:nonNumeric contextRef="c-8" name="us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="f-664">http://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrent</ix:nonNumeric><ix:nonNumeric contextRef="c-7" name="us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="f-665">http://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrent</ix:nonNumeric><ix:nonNumeric contextRef="c-54" name="rock:IncomeTaxStatueOfLimitationsExpirationPeriod" id="f-1244">P4Y</ix:nonNumeric></ix:hidden><ix:references xml:lang="en-US"><link:schemaRef xlink:type="simple" xlink:href="rock-20231231.xsd"/></ix:references><ix:resources><xbrli:context id="c-1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier></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="c-2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="usd"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:context id="c-3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-02-20</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="shares"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:context id="c-4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="usdPerShare"><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:context id="c-6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</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-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-10"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-11"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-12"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-13"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-14"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-15"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-16"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</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="c-17"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</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="c-18"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</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="c-19"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</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="c-20"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</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="c-21"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-22"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-23"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-24"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-25"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-26"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-27"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-28"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-29"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</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="c-32"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</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="c-33"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</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="c-34"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-35"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</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="c-36"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</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="c-37"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</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-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-38"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</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-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-39"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</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="c-40"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</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="c-41"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</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="c-42"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</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="c-43"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-44"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</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:unit id="segment"><xbrli:measure>rock:segment</xbrli:measure></xbrli:unit><xbrli:context id="c-45"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rock:HomeImprovementRetailCompanyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</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:unit id="number"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:context id="c-46"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rock:HomeImprovementRetailCompanyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-47"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rock:HomeImprovementRetailCompanyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</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="c-48"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rock:HomeImprovementRetailCompanyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-49"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rock:HomeImprovementRetailCompanyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</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="c-50"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandBuildingsAndImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-51"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandBuildingsAndImprovementsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-52"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-53"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-54"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</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="c-55"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</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="c-56"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-57"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">rock:BillingsinExcessofCostMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-58"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">rock:BillingsinExcessofCostMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-59"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">rock:BillingsinExcessofCostMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-60"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:PrivatelyHeldUtahBasedCompanyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-07-05</xbrli:startDate><xbrli:endDate>2023-07-05</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-61"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:PrivatelyHeldUtahBasedCompanyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-07-05</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-62"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:PrivatelyHeldUtahBasedCompanyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-07-05</xbrli:startDate><xbrli:endDate>2023-07-05</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-63"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:PrivatelyHeldUtahBasedCompanyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-07-05</xbrli:startDate><xbrli:endDate>2023-07-05</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-64"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:QualityAluminumProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-08-22</xbrli:startDate><xbrli:endDate>2022-08-22</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-65"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:QualityAluminumProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-08-22</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-66"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:QualityAluminumProductsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-67"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:QualityAluminumProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</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="c-68"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:QualityAluminumProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</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="c-69"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:QualityAluminumProductsMember</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="c-70"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</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="c-71"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-72"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</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="c-73"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</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="c-74"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-75"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</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="c-76"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-77"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-78"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-79"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-80"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-81"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-82"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-83"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-84"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-85"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-86"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-87"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-88"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</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="c-89"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</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="c-90"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</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="c-91"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</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="c-92"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-93"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-94"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-95"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-96"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-10-31</xbrli:startDate><xbrli:endDate>2023-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="unit"><xbrli:measure>rock:unit</xbrli:measure></xbrli:unit><xbrli:unit id="reporting_unit"><xbrli:measure>rock:reporting_unit</xbrli:measure></xbrli:unit><xbrli:context id="c-97"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-98"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-99"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-100"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-101"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:UnpatentedTechnologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-102"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:UnpatentedTechnologyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-103"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-104"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-105"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-106"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-107"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</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="c-108"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-109"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2022SeniorCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-08</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-110"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2022SeniorCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:MediumTermNotesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-08</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="debtcovenant"><xbrli:measure>rock:debtCovenant</xbrli:measure></xbrli:unit><xbrli:context id="c-111"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2022SeniorCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="rock:DebtInstrumentApplicableRatePeriodAxis">rock:ApplicableRatePeriod1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-08</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-112"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2022SeniorCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">rock:SecuredOvernightFinancingRateSOFRMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="rock:DebtInstrumentApplicableRatePeriodAxis">rock:ApplicableRatePeriod1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-08</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-113"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="rock:DebtInstrumentApplicableRatePeriodAxis">rock:ApplicableRatePeriod2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2022SeniorCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-08</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-114"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="rock:DebtInstrumentApplicableRatePeriodAxis">rock:ApplicableRatePeriod2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2022SeniorCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-08</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-115"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="rock:DebtInstrumentApplicableRatePeriodAxis">rock:ApplicableRatePeriod2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2022SeniorCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">rock:SecuredOvernightFinancingRateSOFRMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-08</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-116"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="rock:DebtInstrumentApplicableRatePeriodAxis">rock:ApplicableRatePeriod2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2022SeniorCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">rock:SecuredOvernightFinancingRateSOFRMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-08</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-117"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2022SeniorCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="rock:DebtInstrumentApplicableRatePeriodAxis">rock:ApplicableRatePeriod1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-08</xbrli:startDate><xbrli:endDate>2022-12-08</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-118"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="rock:DebtInstrumentApplicableRatePeriodAxis">rock:ApplicableRatePeriod2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2022SeniorCreditAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-08</xbrli:startDate><xbrli:endDate>2022-12-08</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-119"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="rock:DebtInstrumentApplicableRatePeriodAxis">rock:ApplicableRatePeriod2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2022SeniorCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-08</xbrli:startDate><xbrli:endDate>2022-12-08</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-120"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2019SeniorCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-01-24</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-121"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2019SeniorCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">rock:LondonInterbankOfferedRateLIBOR1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-24</xbrli:startDate><xbrli:endDate>2019-01-24</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-122"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2019SeniorCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">rock:LondonInterbankOfferedRateLIBOR1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-24</xbrli:startDate><xbrli:endDate>2019-01-24</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-123"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2019SeniorCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-24</xbrli:startDate><xbrli:endDate>2019-01-24</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-124"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2019SeniorCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-24</xbrli:startDate><xbrli:endDate>2019-01-24</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-125"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:SeniorCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:StandbyLettersOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-126"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:SeniorCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-127"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:SeniorCreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-128"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">rock:A401kPlanMember</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="c-129"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">rock:A401kPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-130"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">rock:A401kPlanMember</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="c-131"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</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="c-132"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-133"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</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="c-134"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:DefinedBenefitPostretirementHealthCoverageMember</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="c-135"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:DefinedBenefitPostretirementHealthCoverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-136"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:DefinedBenefitPostretirementHealthCoverageMember</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="c-137"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="plan"><xbrli:measure>rock:plan</xbrli:measure></xbrli:unit><xbrli:context id="c-138"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:DefinedBenefitPostretirementHealthCoverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-139"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:DefinedBenefitPostretirementHealthCoverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-140"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:DefinedBenefitPostretirementHealthCoverageMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-141"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-142"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-143"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-144"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-145"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-146"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-147"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</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="c-148"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</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="c-149"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-150"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-151"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:Amended2018PlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-02</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-152"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:Amended2018PlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-153"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:A2015PlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-154"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:NonEmployeeDirectorsPlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-05-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-155"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:NonEmployeeDirectorsPlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-05-04</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-156"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:TwoThousandEighteenEquityIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-157"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:NonEmployeeDirectorsPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-158"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rock:DeferredStockUnitsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rock:A2019Member</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="c-159"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rock:DeferredStockUnitsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rock:A2018Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-160"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rock:DeferredStockUnitsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rock:A2017Member</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="c-161"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rock:A2019Member</xbrldi:explicitMember><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-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-162"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rock:A2018Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-163"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rock:A2017Member</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="c-164"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rock:A2019Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</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="c-165"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rock:A2018Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-166"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rock:A2017Member</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="c-167"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rock:A2019Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</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="c-168"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rock:A2018Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-169"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rock:A2017Member</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="c-170"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</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="c-171"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</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="c-172"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:A2018PlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rock:SharebasedCompensationMeasurementReturnOnInvestedCapitalMember</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="c-173"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">rock:ExercisePriceRangeOneMember</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="c-174"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">rock:ExercisePriceRangeOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-175"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-176"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-177"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-178"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rock:DeferredStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-179"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</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="c-180"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</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-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-181"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</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="c-182"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rock:DeferredStockUnitsMember</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="c-183"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-184"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-185"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-186"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rock:DeferredStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-187"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-188"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-189"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-190"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-191"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</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="c-192"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-193"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</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="c-194"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rock:PerformanceStockUnitsMember</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="c-195"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rock:PerformanceStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-196"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rock:PerformanceStockUnitsMember</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="c-197"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rock:DeferredStockUnitsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-198"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rock:DeferredStockUnitsMember</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="c-199"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:ManagementStockPurchasePlanMember</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="c-200"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">rock:AccruedExpensesCurrentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-201"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">rock:NonCurrentLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-202"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">rock:AccruedExpensesCurrentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-203"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">rock:NonCurrentLiabilitiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-204"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-205"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">rock:ManagementStockPurchasePlanMember</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="c-206"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">rock:ManagementStockPurchasePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-207"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">rock:ManagementStockPurchasePlanMember</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="c-208"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</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="c-209"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-210"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</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="c-211"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">rock:IndustrialBusinessSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-02-23</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-212"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">rock:IndustrialBusinessSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2021-02-23</xbrli:startDate><xbrli:endDate>2021-02-23</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-213"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</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="c-214"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-215"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</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="c-216"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">rock:JapanBasedSolarRackingBusinessMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DisposalGroupDisposedOfBySaleNotDiscontinuedOperationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-04-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="facility"><xbrli:measure>rock:facility</xbrli:measure></xbrli:unit><xbrli:context id="c-217"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</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="c-218"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-219"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</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="c-220"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</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="c-221"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-222"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</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="c-223"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</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="c-224"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-225"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</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="c-226"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</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="c-227"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-228"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</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="c-229"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</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="c-230"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</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="c-232"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:CostOfSalesMember</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="c-233"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-234"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:CostOfSalesMember</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="c-235"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rock:SellingGeneralAndAdministrativeExpenseMember</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="c-236"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rock:SellingGeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-237"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rock:SellingGeneralAndAdministrativeExpenseMember</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="c-238"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementOperatingActivitiesSegmentAxis">us-gaap:SegmentContinuingOperationsMember</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="c-239"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementOperatingActivitiesSegmentAxis">us-gaap:SegmentContinuingOperationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-240"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementOperatingActivitiesSegmentAxis">us-gaap:SegmentContinuingOperationsMember</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="c-241"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-242"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-243"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-244"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-245"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-246"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-247"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</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="c-248"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-249"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</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="c-250"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-251"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:CommonStockMember</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="c-252"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-253"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:CommonStockMember</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="c-254"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-255"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</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="c-256"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-257"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</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="c-258"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-259"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-260"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-261"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-262"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-263"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-264"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-265"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-266"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-267"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-268"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-269"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-270"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-271"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-272"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-273"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</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="c-274"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</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="c-275"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</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="c-276"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</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="c-277"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</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="c-278"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</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="c-279"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</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="c-280"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</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="c-281"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</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="c-282"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</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="c-283"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-284"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-285"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-286"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-287"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-288"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-289"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-290"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-291"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-292"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-293"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</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="c-294"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</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="c-295"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</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="c-296"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</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="c-297"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</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="c-298"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</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="c-299"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</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="c-300"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</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="c-301"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</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="c-302"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</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="c-303"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</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="c-304"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</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="c-305"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</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="c-306"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</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="c-307"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</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="c-308"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-309"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</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="c-310"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</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="c-311"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c-312"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</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="c-313"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-314"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-315"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-316"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-317"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c-318"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000912562</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context></ix:resources></ix:header></div><div id="i32dbd54440254257bc94c8354b78dd51_1"></div><div style="min-height:42.75pt;width:100%"><div><span><br/></span></div></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:18.900%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.900%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.900%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.900%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.900%"/><td style="width:0.1%"/></tr><tr style="height:3pt"><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"/></tr></table></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:700;line-height:120%">UNITED STATES</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:700;line-height:120%">SECURITIES AND EXCHANGE COMMISSION</span></div><div style="margin-bottom:6pt;text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:700;line-height:120%">Washington, D.C. 20549</span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:58.479%"><tr><td style="width:1.0%"/><td style="width:98.900%"/><td style="width:0.1%"/></tr><tr style="height:3pt"><td colspan="3" style="border-top:2pt solid #000000;padding:0 1pt"/></tr></table></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:700;line-height:120%;text-decoration:underline">FORM <ix:nonNumeric contextRef="c-1" name="dei:DocumentType" id="f-1">10-K</ix:nonNumeric> </span></div><div style="margin-bottom:3pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:58.479%"><tr><td style="width:1.0%"/><td style="width:98.900%"/><td style="width:0.1%"/></tr><tr style="height:3pt"><td colspan="3" style="border-bottom:2pt solid #000000;padding:0 1pt"/></tr></table></div><div style="margin-top:6pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:512.25pt"><tr><td style="width:1.0pt"/><td style="width:13.00pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:495.25pt"/><td style="width:1.0pt"/></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:DocumentAnnualReport" format="ixt-sec:boolballotbox" id="f-2">&#9746;</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">ANNUAL REPORT PURSUANT TO SECTION 13 OR 15 (d)&#160;OF THE SECURITIES EXCHANGE ACT OF 1934</span></td></tr></table></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">For the fiscal year ended <ix:nonNumeric contextRef="c-1" name="dei:DocumentPeriodEndDate" format="ixt:date-monthname-day-year-en" id="f-3"><ix:nonNumeric contextRef="c-1" name="dei:CurrentFiscalYearEndDate" format="ixt:date-monthname-day-en" id="f-4">December 31</ix:nonNumeric>, 2023</ix:nonNumeric> </span></div><div style="margin-top:3pt;text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">OR</span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:512.25pt"><tr><td style="width:1.0pt"/><td style="width:12.25pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:496.00pt"/><td style="width:1.0pt"/></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:DocumentTransitionReport" format="ixt-sec:boolballotbox" id="f-5">&#9744;</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">TRANSITION REPORT PURSUANT TO SECTION 13 OR 15 (d)&#160;OF THE SECURITIES EXCHANGE ACT OF 1934</span></td></tr></table></div><div style="margin-bottom:3pt;margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">For the transition period from </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%;text-decoration:underline">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%"> to </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%;text-decoration:underline">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></div><div style="margin-bottom:3pt;text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Commission File Number <ix:nonNumeric contextRef="c-1" name="dei:EntityFileNumber" id="f-6">000-22462</ix:nonNumeric> </span></div><div style="margin-bottom:3pt;text-align:center"><img src="rock-20231231_g1.jpg" alt="Gibraltar_Wordmark_Blue_RGB.jpg" style="height:45px;margin-bottom:5pt;vertical-align:text-bottom;width:361px"/></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:16pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:EntityRegistrantName" id="f-7">GIBRALTAR INDUSTRIES, INC.</ix:nonNumeric> </span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:457.50pt"><tr><td style="width:1.0pt"/><td style="width:67.75pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:54.25pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:85.00pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:43.75pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:49.00pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:145.75pt"/><td style="width:1.0pt"/><td colspan="3" style="display:none"/></tr><tr style="height:11pt"><td colspan="18" style="border-top:0.5pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:100%">(Exact name of registrant as specified in its charter)</span></td><td colspan="3" style="display:none"/></tr><tr style="height:14pt"><td colspan="9" style="border-bottom:0.5pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityIncorporationStateCountryCode" format="ixt-sec:stateprovnameen" id="f-8">Delaware</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityTaxIdentificationNumber" id="f-9">16-1445150</ix:nonNumeric></span></td><td colspan="3" style="display:none"/></tr><tr style="height:11pt"><td colspan="9" style="border-top:0.5pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:120%">(State or other jurisdiction of incorporation or organization)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:0.5pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:120%">(I.R.S. Employer Identification No.)</span></td><td colspan="3" style="display:none"/></tr><tr style="height:15pt"><td colspan="6" style="border-bottom:0.5pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityAddressAddressLine1" id="f-10">3556 Lake Shore Road</ix:nonNumeric></span></td><td colspan="3" style="border-bottom:0.5pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityAddressAddressLine2" id="f-11">P.O. Box 2028</ix:nonNumeric></span></td><td colspan="3" style="border-bottom:0.5pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityAddressCityOrTown" id="f-12">Buffalo ,</ix:nonNumeric></span></td><td colspan="3" style="border-bottom:0.5pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityAddressStateOrProvince" format="ixt-sec:stateprovnameen" id="f-13">New York</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityAddressPostalZipCode" id="f-14">14219-0228</ix:nonNumeric></span></td><td colspan="3" style="display:none"/></tr><tr style="height:11pt"><td colspan="15" style="border-top:0.5pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:120%">(Address of principal executive offices)</span></td><td colspan="3" style="border-top:0.5pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:7pt;font-weight:700;line-height:120%">(Zip Code)</span></td><td colspan="3" style="display:none"/></tr></table></div><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Registrant&#8217;s telephone number, including area code: </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">(<ix:nonNumeric contextRef="c-1" name="dei:CityAreaCode" id="f-15">716</ix:nonNumeric>) <ix:nonNumeric contextRef="c-1" name="dei:LocalPhoneNumber" id="f-16">826-6500</ix:nonNumeric> </span></div><div style="margin-top:9pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:511.50pt"><tr><td style="width:1.0pt"/><td style="width:189.25pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:1.75pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:88.75pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:4.00pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:217.75pt"/><td style="width:1.0pt"/></tr><tr style="height:12pt"><td colspan="15" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Securities registered pursuant to Section 12(b) of the Act:</span></div></td></tr><tr style="height:12pt"><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Title of each class</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Trading Symbol</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Name of each exchange on which registered</span></td></tr><tr style="height:12pt"><td colspan="3" style="border-top:0.5pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:Security12bTitle" id="f-17">Common Stock, $0.01 par value per share</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:0.5pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:TradingSymbol" id="f-18">ROCK</ix:nonNumeric></span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:0.5pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:SecurityExchangeName" format="ixt-sec:exchnameen" id="f-19">NASDAQ Stock Market</ix:nonNumeric></span></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:12pt"><td colspan="15" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Securities registered pursuant to Section&#160;12(g) of the Act:</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%"> None</span></div></td></tr></table></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act.&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="dei:EntityWellKnownSeasonedIssuer" id="f-20">Yes</ix:nonNumeric>&#160;</span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#9746;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;&#160;&#160;No&#160;</span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#9744;</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Indicate by check mark if the registrant is not required to file reports pursuant to Section&#160;13 or Section&#160;15(d) of the Act.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;&#160; Yes&#160;</span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#9744;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;&#160; <ix:nonNumeric contextRef="c-1" name="dei:EntityVoluntaryFilers" id="f-21">No</ix:nonNumeric>&#160;&#160;</span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#9746;</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">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.&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="dei:EntityCurrentReportingStatus" id="f-22">Yes</ix:nonNumeric>&#160;&#160;</span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#9746;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;No&#160;&#160;</span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#9744;</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (&#167;232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="dei:EntityInteractiveDataCurrent" id="f-23">Yes</ix:nonNumeric>&#160;&#160;</span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#9746;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;No&#160;&#160;</span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#9744;</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definition of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;small reporting company,&#8221; and "emerging growth company" in Rule 12b-2 of the Exchange Act.</span></div><div style="margin-top:3pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:511.50pt"><tr><td style="width:1.0pt"/><td style="width:121.75pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:18.25pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:37.75pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:121.75pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:18.25pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:37.75pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:121.75pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:18.25pt"/><td style="width:1.0pt"/></tr><tr style="height:12pt"><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityFilerCategory" format="ixt-sec:entityfilercategoryen" id="f-24">Large accelerated filer</ix:nonNumeric></span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#9746;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accelerated&#160;filer</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#9744;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Emerging growth&#160;company</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntityEmergingGrowthCompany" format="ixt-sec:boolballotbox" id="f-25">&#9744;</ix:nonNumeric></span></td></tr><tr style="height:12pt"><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Non-accelerated filer</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#9744;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Smaller&#160;reporting&#160;company</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="margin-top:3pt"><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="dei:EntitySmallBusiness" format="ixt-sec:boolballotbox" id="f-26">&#9744;</ix:nonNumeric></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr></table></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">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 13(a) of the Exchange Act.&#160;&#160;&#160;&#160;</span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#9744;</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant has filed a report on and attestation to its management&#8217;s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report.&#160;&#160;&#160;&#160;</span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:IcfrAuditorAttestationFlag" format="ixt-sec:boolballotbox" id="f-27">&#9746;</ix:nonNumeric></span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">If securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements.&#160;&#160;&#160;&#160;</span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:DocumentFinStmtErrorCorrectionFlag" format="ixt:fixed-false" id="f-28">&#9744;</ix:nonNumeric></span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant's executive officers during the relevant recovery period pursuant to &#167;240.10D-1(b).&#160;&#160;&#160;&#160;</span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#9744;</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Act).&#160;&#160;&#160;&#160;Yes&#160;&#160;</span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:EntityShellCompany" format="ixt-sec:boolballotbox" id="f-29">&#9744;</ix:nonNumeric></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#160;&#160;&#160;&#160;No&#160;&#160;</span><span style="color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%">&#9746;</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Aggregate market value of voting Common Stock held by non-affiliates of the registrant as of June&#160;30, 2023 was: $<ix:nonFraction unitRef="usd" contextRef="c-2" decimals="-8" name="dei:EntityPublicFloat" format="ixt:num-dot-decimal" scale="9" id="f-30">1.9</ix:nonFraction> billion.</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">As of February&#160;20, 2024, the number of shares of Common Stock outstanding was: <ix:nonFraction unitRef="shares" contextRef="c-3" decimals="INF" name="dei:EntityCommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="0" id="f-31">30,442,954</ix:nonFraction>. </span></div><ix:nonNumeric contextRef="c-1" name="dei:DocumentsIncorporatedByReferenceTextBlock" id="f-32" escape="true"><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">DOCUMENTS INCORPORATED BY REFERENCE</span></div><div style="margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Portions of the Registrant&#8217;s Definitive Proxy Statement to be filed for its 2024 Annual Meeting of Stockholders</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">are incorporated by reference into Part III of this Annual Report on Form 10-K.</span></div></ix:nonNumeric><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1</span></div></div></div><div id="i32dbd54440254257bc94c8354b78dd51_7"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Form 10-K Index</span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:7.538%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:82.062%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.100%"/><td style="width:0.1%"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Page<br/>Number</span></td></tr><tr style="height:15pt"><td colspan="9" style="padding:0 1pt"/></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_13">PART I</a></span></div></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item&#160;1</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_16">Business</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_16">3</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item&#160;1A</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_19">Risk Factors</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_19">12</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item&#160;1B</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_22">Unresolved Staff Comments</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_22">20</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item&#160;1C</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_1493">Cybersecurity</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_1493">20</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item&#160;2</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_25">Properties</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_25">21</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item&#160;3</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_28">Legal Proceedings</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_28">21</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item&#160;4</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_31">Mine Safety Disclosures</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_31">21</a></span></div></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_34">PART II</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item&#160;5</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_37">Market for Registrant's Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_37">22</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item 6</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_40">Reserved</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_40">22</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item&#160;7</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_43">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_43">22</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item&#160;7A</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_61">Quantitative and Qualitative Disclosures About Market Risk</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_61">31</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item&#160;8</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_64">Financial Statements and Supplementary Data</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_64">33</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item&#160;9</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_148">Changes in and Disagreements with Accountants on Accounting and Financial Disclosure</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_148">67</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item&#160;9A</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_151">Controls and Procedures</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_151">67</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item 9B</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_154">Other Information</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_154">70</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item 9C</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_157">Disclosure Regarding Foreign Jurisdictions that Prevent Inspections</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_157">70</a></span></div></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_160">PART III</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item&#160;10</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_163">Directors, Executive Officers and Corporate Governance</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_163">71</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item&#160;11</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_166">Executive Compensation</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_166">71</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item&#160;12</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_169">Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_169">71</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item&#160;13</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_172">Certain Relationships and Related Transactions, and Director Independence</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_172">71</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item&#160;14</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_175">Principal Accountant Fees and Services</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_175">71</a></span></div></td></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:center"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_178">PART IV</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item&#160;15</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_181">Exhibits and Financial Statement Schedules</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_181">72</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Item 16</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_187">Form 10-K Summary</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_187">75</a></span></div></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_190">SIGNATURES</a></span></div></td><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2</span></div></div></div><div id="i32dbd54440254257bc94c8354b78dd51_10"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Safe Harbor Statement</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certain information set forth herein includes statements that express our opinions, expectations, beliefs, plans, objectives, assumptions or projections regarding future events or future results and, therefore, are, or may be deemed to be, &#8220;forward-looking statements.&#8221; These forward-looking statements can generally be identified by the use of forward-looking terminology, including the terms &#8220;believes,&#8221; &#8220;estimates,&#8221; &#8220;anticipates,&#8221; &#8220;expects,&#8221; &#8220;seeks,&#8221; &#8220;projects,&#8221; &#8220;intends,&#8221; &#8220;plans,&#8221; &#8220;may,&#8221; &#8220;will&#8221; or &#8220;should&#8221; or, in each case, their negative or other variations or comparable terminology. These forward-looking statements include all matters that are not historical facts. They include statements regarding our intentions, beliefs or current expectations concerning, among other things, our results of operations, financial condition, liquidity, prospects, growth, competition, strategies and the particular markets in which we operate. By their nature, forward-looking statements involve risks and uncertainties because they relate to events and depend on circumstances that may or may not occur in the future. We believe that these risks and uncertainties include, but are not limited to, those described in Item&#160;1A &#8220;Risk Factors.&#8221; Those factors should not be construed as exhaustive and should be read with the other cautionary statements herein.  Although we base these forward-looking statements on assumptions that we believe are reasonable when made, we caution you that forward-looking statements are not guarantees of future performance and that our actual results of operations, financial condition and liquidity and the development of the particular markets in which we operate may differ materially from those made in or suggested by the forward-looking statements contained herein. In addition, even if our results of operations, financial condition and liquidity and the development of the particular markets in which we operate are consistent with the forward-looking statements contained in this document, those results or developments may not be indicative of results or developments in subsequent periods. Given these risks and uncertainties, you are cautioned not to place undue reliance on these forward-looking statements. Any forward-looking statements that we make herein speak only as of the date of those statements, and we undertake no obligation to update those statements or to publicly announce the results of any revisions to any of those statements to reflect future events or developments. Comparisons of results for current and any prior periods are not intended to express any future trends or indications of future performance, unless expressed as such, and should only be viewed as historical data.</span></div><div id="i32dbd54440254257bc94c8354b78dd51_13"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">PART I</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6pt;font-weight:400;line-height:120%">&#160;</span></div><div id="i32dbd54440254257bc94c8354b78dd51_16"></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:7.684%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:90.116%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Item&#160;1.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%;text-decoration:underline">Business</span></td></tr></table></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">The Company</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gibraltar Industries, Inc. (the "Company") is a leading manufacturer and provider of products and services for the renewable energy, residential, agtech and infrastructure markets. The Company's mission is to make life better for people and the planet, fueled by advancing the disciplines of engineering, science, and technology. The Company is innovating to reshape critical markets in sustainable power, comfortable and efficient living, and productive growing throughout North America. Furthermore, the Company strives to create compounding and sustainable value for its stockholders and stakeholders with strong and relevant leadership positions in higher growth, profitable end markets focused on addressing some of the world's most challenging opportunities.  The foundation of the Company's strategy is built on three core pillars: Business System, Portfolio Management, and Organization Development.</span></div><div style="margin-top:12pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.67pt">Business System reflects the necessary systems, processes, and management tools required to deliver consistent and continuous performance improvement, every day.  The Company's business system is a critical enabler to grow, scale, and deliver its plans.  The Company's focus is on deploying effective tools to drive growth, improve operating performance, and develop the organization utilizing 80/20 and lean quote-to-cash initiatives along with digital systems for speed, agility and responsiveness. The Business System pillar challenges existing operating paradigms, drives day-to-day performance, forces prioritization of resources, tests the Company's business models, and drives new product and services innovation.</span></div><div style="margin-top:12pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.67pt">Portfolio Management is focused on optimizing the Company&#8217;s business portfolio in higher growth markets with leadership positions while ensuring its financial capital and human resources are effectively and efficiently deployed to deliver sustainable, profitable growth while increasing its relevance with customers and shaping its markets. In 2023, the Company acquired the assets of a privately held Utah-based company in the Residential segment and sold its Japan-based solar racking business within the Renewables segment to help achieve these objectives.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:12pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.67pt">Organization Development drives the Company&#8217;s continuous focus on ensuring it has the right design and structure to scale the organization in order to execute the Company&#8217;s plans and meet commitments.  The Company aspires to make its place of work the "Best Place to Work", where focus is on creating an environment for our people to have the best opportunity for success, continue to develop, grow and learn. At core of this pillar is the Company&#8217;s development process focused on helping employees reach their potential, improve performance, develop career roadmaps, identify ongoing education requirements, and respective succession plans.  The Company believes doing so helps it attract and retain the best people to execute its business plans.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Corporate Social Responsibility </span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate Social Responsibility is a key consideration in everything, from the products the Company makes and the suppliers the Company engages with, to the Company's employee policies, business strategies, and future plans.  The Company is committed to making a difference in the lives of the people the Company's business touches, and to creating meaningful impact every day through the Company's work and relationships.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A sense of responsibility to people and the planet is woven into the core values that define the Company's purpose and drive the Company's culture.  These values include:</span></div><div style="margin-top:6pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Make it better - The Company challenges itself and its way of thinking every day to exceed the needs of the Company's customers.</span></div><div style="margin-top:6pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Make it right - The Company cares about doing the right thing for each other, customers, and communities by holding the Company to the highest standards of ethics and safety.</span></div><div style="margin-top:6pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Make it together - The Company works collaboratively with customers and each other - teamwork sets the Company apart. The Company works to create a culture that is inclusive of different perspectives and experiences.</span></div><div style="margin-top:6pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Make an impact - The Company is here to make a difference. The Company drives change and delivers meaningful value to customers, investors, and community.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's efforts are focused on delivering positive impact in three key areas:</span></div><div style="margin-top:6pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Our People: The safety, well-being, and success of our people is our top priority. We are dedicated to developing their potential as professionals and future leaders, drawing on the unique abilities of each team member to build a rich, inclusive culture of difference-makers.</span></div><div style="margin-top:6pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Our Communities: Sharing our success with the communities where we live and work is vital to our purpose. By supporting local nonprofits and institutions as investors and volunteers, we help build resilience and strengthen the bonds that will help our communities thrive.</span></div><div style="margin-top:6pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">The World: Our work is firmly rooted in making life better for people and the planet; we innovate in the service of possibility, acting responsibly to create positive, lasting change in our world. We promote sustainability across our value chain, developing products and services for our customers that reduce environmental impact and improve quality of life.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's businesses reflect the Company's purpose, values and desire to make a positive impact on the world. Since 2014, the Company has been transforming itself to focus on solving some of humanity's most challenging opportunities - from harnessing energy and growing food more sustainably to living and working with greater ease, efficiency, and comfort.  Transforming the Company positions it to play a significant role in sustainable development issues, building partnerships with key players that help advance critical technologies, strengthening the Renewables, Residential, Agtech and Infrastructure businesses, and enabling the Company to better respond to humanity's evolving needs.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Segments</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company serves customers primarily in North America including renewable energy (solar) developers, home improvement retailers, wholesalers, distributors, institutional and commercial growers of fruits, vegetables, flowers  and other plants, and contractors.  At December 31, 2023, the Company operated thirty facilities, which were comprised of twenty-three manufacturing facilities, one distribution center, and six offices, and were located within sixteen states, Canada and China.  The Company's operational infrastructure provides the necessary scale to support regional and national customers in each of its markets.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company operates and reports its results in the following four reporting segments: </span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">Renewables</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">Residential</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">Agtech</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:13.8pt">Infrastructure</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the primary products and, where applicable, services, applications, and end markets for each segment:</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">Renewables Segment</span></div><div style="margin-top:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:33.892%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.728%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:27.596%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:3.731%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:27.453%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Products and Services</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Applications</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">End Market</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Design, engineering, manufacturing and installation of solar racking and electrical balance of systems</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Commercial and distributed generation scale solar installations on any type of terrain</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Solar developers; power companies; solar energy EPC contractors</span></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">Residential Segment</span></div><div style="margin-top:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:33.841%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.139%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:27.554%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:4.455%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:27.411%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Products</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Applications</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">End Market</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:26pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Roof&#160;and foundation ventilation products</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Ventilation and whole-house air flow management </span></td><td colspan="3" rowspan="7" style="padding:0 1pt"><div style="text-align:center"><img src="rock-20231231_g2.jpg" alt="imageb.jpg" style="height:182px;margin-bottom:5pt;vertical-align:text-bottom;width:30px"/></div></td><td colspan="3" rowspan="7" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Residential: new construction and repair and remodeling</span></td></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:38pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Single point and centralized mail systems and electronic package solutions</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Secure storage for mail and package deliveries</span></td></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:26pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Retractable awnings and gutter guards</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sun and wind protection; gutter protection</span></td></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:26pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Trims and flashings, metal roofing, rain dispersion, other accessories</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Protection from water and other natural elements - roof integrity</span></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">Agtech Segment</span></div><div style="margin-top:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:33.841%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.139%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:27.554%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.139%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:30.627%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Products and Services</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Applications</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">End Market</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Provide growing solutions including the designing, engineering, manufacturing, full scope construction, maintenance and support of greenhouses and indoor growing operations</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Retail, fruits and vegetables, flowers, cannabis, commercial, institutional and conservatories, car wash structures</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Large scale indoor produce growers; retail garden centers; conservatories and botanical gardens; floriculture growers; agricultural research; car washes; cannabis growers</span></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%;text-decoration:underline">Infrastructure Segment</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:33.841%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.139%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:27.554%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.139%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:30.627%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Products</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Applications</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">End Market</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Engineered solutions for bridges, highways and airfields, including</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">structural bearings, expansion joints, pavement seals, elastomeric concrete, bridge cable protection systems</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Preserve functionality under varying weight, wind, temperature and seismic conditions</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Bridge and elevated highway construction, airport pavements</span></td></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s operating businesses have established strong positions in attractive end markets by building core capabilities in innovation, new products and services, manufacturing and field operations, business systems, quality performance, along with a healthy balance sheet and the strength of our people. The Company will continue its focus of time, talent, and energy on strengthening its position in each market it serves.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Attractive End Markets</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">. </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The Company's businesses are focused on solving global challenges accelerating renewable energy generation, increasing the supply of locally-grown and more sustainably-produced food and plants, maintaining healthy and efficient home environments, supporting mail and package delivery, and improving the country&#8217;s transportation infrastructure and ways of transporting people.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Value-Added Products and Services</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">.</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">  The Company provides optimal solutions to its customers: racking, foundation, and electrical systems for photovoltaic solar systems, commercial growing greenhouses for biologically grown food, floriculture, and other plants; roof-related ventilation and weather protection to support healthy home environments; mail and package storage for home and retail and non-retail sites; and structural bearings, expansion joints and rubber products for bridges and other transportation structures.  The Company's products and services are highly engineered, supported with intellectual property, and driven by effective business systems and IT infrastructure.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Commitment to Customer and Quality</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The Company strives to be connected directly with its end customers, where it receives unfiltered feedback on performance, insight on customer problems and opportunities, and cooperation on ideas for new products, services, and business model optimization.  The percentage of the Company's total revenue generated from products and services that were sold directly to the end user was approximately 45% and the Company expects this to grow in future years.  The Company's commitment to quality is a core operating tenet, and its quality management systems are designed to ensure the Company delivers to meet customer and stakeholder expectations.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Strong Liquidity Profile</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. The Company strives to manage its cash resources to ensure sufficient liquidity to fund growth initiatives, support the seasonality of its businesses and manage effectively through economic cycles. As of December 31, 2023, the Company's liquidity was $495.5 million, including $99.4 million of cash and $396.1 million of availability under its revolving credit facility. The Company believes its low leverage and ample borrowing capacity, along with flexibility in its Credit Agreement, provides the Company with the financial capacity to fund its ongoing business requirements, strategic initiatives, and acquisition opportunities.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recent Developments</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On December 1, 2023, the Company sold its Japan-based solar racking business within its Renewables segment to a third party and received net proceeds of $8.0 million.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On July 5, 2023, the Company acquired the assets of a privately held Utah-based company that manufactures and distributes roof flashing and accessory products for $10.4 million.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Customers and Products</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's customers are located primarily throughout North America. One customer, a home improvement retailer which purchases from the Residential segment represented 13%, 14% and 13% of the Company's consolidated net sales for the years ended December 31, 2023, 2022 and 2021, respectively. No other customer in any segment or segments accounted for more than 10% of the Company's consolidated net sales.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline">Renewables</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Renewables segment designs, manufactures and installs solar energy mounting systems including foundation, racking, and electrical balance of systems for developers, EPCs and owners / operators of solar fields. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">An integral part of solar projects is the design, engineering, and fabrication of unique structures and electrical balance of systems ("eBOS"), as well as the field installation of both whether applied to a ground-mounted or carport systems. The Company provides both fixed tilt and tracker racking systems along with either a screw or pile driven foundation systems. Most of the Company's production is completed using computer numerical control machines, roll forming machines, laser cutters and other fabrication tools. The structural metal components are designed, engineered, fabricated and installed in accordance with applicable building codes.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">6</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">New products introduced in recent years include screw-based racking and foundation solutions, operating software  to optimize solar energy investments, and single-axis tracker systems. The Company's screw-based racking foundation offers rapid and secure installation on any terrain. The Company's operating software enables its team to optimize solar project design utilizing solar irradiance data and topography analysis to quickly and automatically generate multiple potential layouts for complex projects. The single-axis tracker systems support and adapt to a variety of site conditions while also reducing the typical civil work preparation and installation costs associated with projects. The patented design eliminates complexities incorporated in traditional systems, simplifying the operations and maintenance of the system, along with streamlining the installation process.  Other products offered include solar racking systems for both carports and pile-driven ground mount systems and eBOS. Solar racking systems for carports serve as protection for cars from the effects of the sun and intense heat while providing a renewable energy source. Similarly, solar racking systems installed on idle land, such as solid waste landfills, or on challenging, rocky terrain, converts such land into a useful property by providing clean renewable power generating capabilities. An eBOS system supports the conversion of captured sunlight to direct current energy. The Company is a full eBOS solution provider, from combiner boxes that take multiple source circuits and combine them into a single output to pre-fabricated and customized wire harnesses and source circuit lengths which greatly shorten field installation time.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline">Residential</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Residential segment serves both the residential repair and remodeling and new housing construction markets in North America with products and services including roof and foundation ventilation products, single point and centralized mail systems and electronic package solutions, outdoor living space products (sun-shading), rain dispersion systems, metal roofing job site services, and other construction accessories. The Company's residential product offerings are sold through major retail home centers, building material wholesalers, building product distributors, buying groups, roofing distributors, residential contractors, property management companies, manufactured housing dealers, postal services distributors and providers, and online direct to end consumers.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's mail and electronic package solutions include single mailboxes, cluster style mail and parcel boxes for single and multi-family housing, and electronic package locker systems.  The Company's remaining residential product offerings consist of roof edging and flashing, soffits and trim, drywall corner bead, metal roofing and accessories, rain dispersion products, including gutters and accessories, and exterior retractable awnings. Each of these product offerings can be sold separately or as part of a system solution.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company strives to improve its product-solution offerings while adapting to local and regional building codes and new products recently introduced include efficient-installation ventilation solutions, next generation single mailboxes, electronic parcel lockers, pipe flashings and remote-controlled deck awnings and valances for sun protection. The Company's ventilation and roof flashing products provide protection and extend the life of residential structures while providing a safer, healthier environment for residents.  The Company's building products are manufactured primarily from galvanized and painted steel, anodized and painted aluminum, and various resins. The Company's cluster box mail delivery products provide delivery cost savings to the postal service while offering secure storage for delivered mail and packages. The Company's electronic parcel lockers systems provide multi-family communities and businesses a secure storage solution to handle both package deliveries and receipt of other goods, along with helping retail businesses and their customers to transact via buy online, pick up in store transactions. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leverages its production capabilities and supply chain across the U.S. while maintaining the capability to support the many local and regional customer requirements. The production facilities and processes are designed to provide a broad, but locally focused product range of residential products, and includes automated roll forming and injection molding, welding, stamping, and finished painting. The Company maintains its equipment through daily maintenance and a preventive maintenance program. In some cases, the Company sources products from third-party vendors to optimize cost and quality in order to provide the very best and affordable solution for customers.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline">Agtech</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Agtech segment designs, manufactures, and builds advanced-technology turnkey greenhouse growing facilities for large-scale indoor commercial growers of fruits and vegetables, plants and flowers, and agricultural research and development facilities with over 100 universities in the United States.</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">  </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Large scale greenhouse facilities are unique to a particular type of plant, vegetable, flower, or fruit, and require unique structures, growing systems, and the integration of the structure and the systems.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">7</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline">Infrastructure</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Infrastructure segment serves highway and bridge construction and airports through commercial and transportation contractors and fabricators. The Company's products include expansion joints, structural bearings, rubber pre-formed seals and other sealants, elastomeric concrete, and bridge cable protection systems. Infrastructure's products are manufactured primarily from plate, rail and structural steel along with various resin and rubber based materials. The products manufactured are highly engineered to meet the exact specifications for the particular project undertaken. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">New products introduced in recent years extend the infrastructure products into new markets. High speed and traditional rail projects involving elevated structures have created new opportunities in recent years. Engineered pavement sealants for roadways are commonly used in airport runways, for both existing runways and expansion projects. Its corrosion-protection products for cable-suspension bridges are now marketed and sold internationally and have been used on numerous signature bridges.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Engineering and Technical Services</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's business segments employ engineers and other technical personnel to perform a variety of key tasks which include the identification and implementation of improvements to its manufacturing process, redesign of its products for better performance, the development of new products and identification and execution of cost reduction activities. In addition, the Company's engineering staff employs a range of software to design highly specialized and technically precise products. In the Renewables, Agtech, and Infrastructure segments, drawings are approved and stamped by state licensed professional engineers as required by individual projects. Technical service personnel also work in conjunction with the Company's sales and product management teams in the new product development process to determine the types of products and services that suit the needs of customers.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Suppliers and Raw Materials</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's business is required to maintain sufficient quantities of raw material inventory in order to accommodate customers' delivery requirements. Accordingly, the Company plans its purchases to maintain raw materials at sufficient levels to satisfy the anticipated needs of customers. The Company has implemented enterprise resource planning systems along with a corporate wide SIOP (Sales, Inventory, Operations Planning process) to better manage inventory, forecast customer orders, enable efficient supply chain management, and allow for timely counter-measures to changing market conditions.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The primary raw materials the Company purchases are flat-rolled, structural and plate steel, aluminum coil and extrusions, and resins. The Company purchases flat-rolled and plate steel and aluminum at regular intervals on an as-needed basis, primarily from the major North American mills, as well as a limited amount from domestic service centers and foreign steel importers. Substantially all of its resins are purchased from domestic vendors, primarily through distributors, with a small amount purchased directly from manufacturers. Management continually evaluates improvements in the Company's purchasing practices across its geographically dispersed facilities in order to streamline purchasing across similar commodities.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company purchases natural gas and electricity from suppliers in proximity to its operations.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Intellectual Property</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company actively protects its proprietary rights by the use of trademark, copyright, and patent registrations. While the Company does not believe that any individual item of its intellectual property is material, the Company believes its trademarks, copyrights, and patents provide the Company with a competitive advantage when marketing its products to customers. The Company also believes its brands are well recognized in the markets it serves and the Company believes the brands stand for high-quality manufactured goods at a competitive price. These trademarks, copyrights, and patent registrations help the Company maintain product leadership positions for the goods it offers.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Sales and Marketing</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2023, approximately 41% of the Company's revenues were generated from products and services that were sold directly to the end user, with the remainder of revenues generated through retailers, wholesalers and distributors. The Company's sales process regularly includes a competitive bid process, and its reputation for product and service quality and meeting delivery requirements make the Company a preferred provider for many customers.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's marketing focus is to build an enhanced cohesive brand strategy for Gibraltar&#8212;ensuring the Company has a defined purpose and values and ensuring the Company's brand messages reflect the needs of the market and the capabilities of its businesses with "We advance the art and science of making and celebrate the people that make life better". In addition, the businesses in the Company's Renewables segment were integrated and rebranded under the brand name Terrasmart at the beginning of 2022 and the Company's  businesses in its Agtech segment were consolidated under the brand name Prospiant during 2021. In their markets, both brands reflect the Company's unique value to customers.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's Customer Relationship Management systems provides important aggregate market data and visibility into sales account status and enabling cross-sell and up-sell opportunities.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Backlog</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Backlog represents the value of the total confirmed orders at a point in time for which performance obligations have not yet been satisfied. Only actual orders with signed contracts are included in the Company's backlog. This metric is useful as it reflects the committed amount the Company expects to recognize as revenue in the near-term.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">While the majority of the Company's products have short lead time order cycles, the Company has aggregated approximately $330 million of backlog at December 31, 2023 compared to $299 million at December 31, 2022. The backlog primarily relates to certain business units in the Company's Renewables, Agtech, and Infrastructure segments. The Company believes that the performance obligations related to the majority of its backlog will be satisfied and related revenue recognized during 2024.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Competition</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company operates in highly competitive markets with several competitors participating in each of its end markets. The Company goes to market with a focused and broad range of high quality products, executes with speed and industry-leading service, value-based pricing and project management and field operations in its Agtech and Renewables businesses.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Seasonality</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s end markets have historically experienced seasonal demand fluctuation, with lower demand typically in the first and fourth quarters. Levels of residential and commercial construction can be cyclical and can depend on interest rates, availability of financing, inflation, employment, spending habits, consumer confidence and cost and availability of skilled labor. Furthermore, general economic forces, such as tax credit expirations,  imposed tariffs and changes in the Company&#8217;s products and customer mix can and have shifted traditional seasonal fluctuations in revenue over the past few years.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Governmental Regulation</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's production processes involve the use of environmentally regulated materials. The Company believes that the Company operates its business in material compliance with all federal, state and local environmental laws and regulations, and does not anticipate any material adverse effect on its financial condition or results of operations to maintain compliance with such laws and regulations. However, the Company could incur operating costs or capital expenditures in complying with new or more stringent environmental requirements in the future or with current requirements if they are applied to its manufacturing facilities or distribution centers in a way the Company does not anticipate. In addition, new or more stringent regulation of the Company's energy suppliers could cause them to increase the price of energy.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's operations are also governed by many other laws and regulations covering its labor relationships, the import and export of goods, the zoning of its facilities, taxes, its general business practices, and other matters. The Company believes that it is in material compliance with these laws and regulations and does not believe that future compliance with such laws and regulations will have a material adverse effect on its financial condition or results of operations.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Human Capital - Organization Development</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The foundation for the Company's focus on organizational development is built on two fundamental beliefs:</span></div><div style="margin-top:6pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">The Company's ability to perform and deliver shareholder value is dependent on our people, and</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Each member of the Company's team plays an important role in creating an environment where individuals are respected and valued and diverse teams have the best chance to thrive.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company seeks to support an array of career pathways and life journeys by engaging the entire organization, with areas of focus that include Health and Safety, Education and Development, Diversity and Inclusion, Compensation and Benefits, as well as Communication and Employee Engagement.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company employed 2,097 full-time employees and 13 part-time employees as of December 31, 2023.  Of the Company's 2,110 total employees, 796 were classified as salaried and 1,314 classified as hourly. The Company also employed approximately 358 full-time equivalent temporary agency employees. Approximately 6% of the Company's U.S. workforce was represented by unions through two collective bargaining agreements ("CBAs") as of December 31, 2023. Both of the Company's CBAs will expire and are expected to be renegotiated in 2024. The Company considers its employee relations to be good.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Health and Safety</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company expects each team member of the Company to follow the Company's safety standards and practices, support the Company's key safety initiatives, be accountable to themselves and each other, and be part of safety solutions.  The Company believes all accidents and near-misses are preventable as the Company strives to create a zero incident work environment.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has continued to invest in the Company's safety organization, and implemented a disciplined safety management and reporting process, measuring and reviewing the Company's safety results continuously in each location. The Company's CEO reviews safety performance monthly, including recordable incidents, near misses, and first aid cases. Safety performance and best practices are also reviewed quarterly with the entire organization during company-wide Town Hall meetings and with the Company's Board of Directors during quarterly board meetings.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Each of the Company's businesses have a safety team that assesses all recordable incidents and near misses to identify mitigating actions to prevent accidents in the future. The Company's businesses also identify additional safety investments required for training, education, equipment, and processes as part of the Company's annual budget and capital planning procedure.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is continuously evolving its crisis management plans as the Company gains experience, reviews industry best practices, and continues to develop more effective tools, processes, and policies.  In an emergency, the Company's priorities are to protect the welfare of our people and to maintain business continuity.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Diversity and Inclusion</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company supports and encourages a culture where diversity of thought flourishes and all employees feel appreciated, included, and know they have an equal opportunity to develop, grow, and succeed based on their performance.  The Company believes demonstrating respect for our people and valuing their perspectives and their contributions is critical to cultivating the Company's best and most successful work environment.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Key demographics for the Company's employees are shown below.  While the figures below are in total, the Company evaluates its organization against the diversity of the communities that the Company operates in, with a goal of being representative at the community level.</span></div><div style="margin-bottom:3pt;margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">2023 Workforce Composition (Gender and Age)</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:416.25pt"><tr><td style="width:1.0pt"/><td style="width:148.00pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:1.00pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:48.25pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:1.00pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:48.25pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:1.00pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:48.25pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:1.00pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:48.25pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:1.00pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:48.25pt"/><td style="width:1.0pt"/></tr><tr style="height:38pt"><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Employee Age Groups</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Female</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Male</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Non-Binary</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total by Age Group</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">% by Age Group</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&lt; 30 years of age</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">86</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">276</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">364</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">17.3%</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30 - 49 years of age</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">297</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">678</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">975</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">46.2%</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">50+ years of age</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">245</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">526</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">771</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">36.5%</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">628</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,480</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2,110</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">As a percentage</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">29.8%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">70.1%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">0.1%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">10</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-bottom:6pt;margin-top:13pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Number of 2023 Employees by Employment Type (by Gender)</span></div><div style="margin-bottom:1pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:416.25pt"><tr><td style="width:1.0pt"/><td style="width:148.00pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:1.00pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:48.25pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:1.00pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:48.25pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:1.00pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:48.25pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:1.00pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:48.25pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:1.00pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:48.25pt"/><td style="width:1.0pt"/></tr><tr style="height:26pt"><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Employee Type</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Female</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Male</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Non-Binary</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total by Type</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">% by Type</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Salary</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">242</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">554</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">796</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">37.7%</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Hourly</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">386</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">926</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,314</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">62.3%</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">628</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,480</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2,110</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr></table></div><div style="margin-bottom:6pt;margin-top:13pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">2023 Ethnic Background of Employees</span></div><div style="margin-bottom:1pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:267.75pt"><tr><td style="width:1.0pt"/><td style="width:202.75pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:1.00pt"/><td style="width:1.0pt"/><td style="width:1.0pt"/><td style="width:58.00pt"/><td style="width:1.0pt"/></tr><tr style="height:26pt"><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ethnic Background</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">% of Employees</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">White</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58.8%</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Hispanic or Latino</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17.0%</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Black or African American</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12.6%</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asian</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.3%</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Not Specified</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.5%</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Two or More Races</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.3%</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Hawaiian/Pacific Islander</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.9%</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">American Indian/Alaska Native</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.6%</span></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company believes in building a team that includes people who bring diversity of thought, experience, and perspective to its organization.  The Company recognizes that its organization and the communities in which the Company operates will continue to evolve and grow, which will require that the Company remain focused on the following initiatives:</span></div><div style="margin-top:6pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Continue the Company's mandatory and annual education and development program for the Company, including the Board of Directors, and evolve the curriculum as needed</span></div><div style="margin-top:6pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Continue to map the Company's organization with the communities where it operates and strive to reflect the diversity of these communities in the Company's team</span></div><div style="margin-top:6pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Implement and upgrade business systems across the Company to give the Company the capability to gather and analyze data, derive conclusions, and develop action plans for implementation</span></div><div style="margin-top:6pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Communicate the Company's progress through monthly business reviews with the Company's leadership teams, quarterly communications with its teams, and quarterly reviews with the Company's Board of Directors</span></div><div style="margin-top:6pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Build the most effective talent acquisition framework to attract the best people and extend training and development opportunities through a combination of on-the-job experiences, peer connections as well as classroom and self-paced learning.</span></div><div style="margin-top:6pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Be proactive with the Company's customers and supply chain partners to find ways to work together in promoting positive social development</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Leadership Development</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2022, the Company launched a reimagined leadership development program to better equip our mid- and senior-level leaders with modern tools and tactics to best foster collaboration and success within its workforce. The basis of the program now includes multiple learning paths to meet the development needs of employees at all levels, including ethics compliance, leadership development, continuous improvement, diversity &amp; inclusion, and function-specific learning and certification programs.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Gibraltar Leadership Program ("GLP") core curriculum is a two-day program with modules on servant leadership, skilled collaboration, accountability at work, taking control of conflict, emotional intelligence, and communicating as a manager. In 2022, 194 leaders from across the business units participated in the GLP, followed by 146 leaders in 2023.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, the Company maintains its commitment to ethical leadership with quarterly ethics training for all employees. It also encourages and supports employees who pursue training and development to build their functional knowledge and expertise through continuing education and certification programs related to their functional area.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Going forward the Company has strategic initiatives in place to expand advanced trainings offered for current GLP participants. In addition, it seeks to best leverage its rising talent through future rollout of a Leadership Potential Assessment and Manager Fundamentals program. The continued deployment of the new human resources system will allow leaders at all levels from across the businesses to collaborate in a common space to share best practices and support new leaders with development coaching to continue to invest in their career growth.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Internet Information</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Copies of the Company&#8217;s Proxy Statements on Schedule 14A filed pursuant to Section 14 of the Securities Exchange Act of 1934 and Annual Reports on Form 10-K, Quarterly Reports on Form 10-Q, Current Reports on Form 8-K, and amendments to those reports filed or furnished pursuant to Section&#160;13(a) or 15(d) of the Securities Exchange Act of 1934 are available free of charge through the Company&#8217;s website (www.gibraltar1.com) as soon as reasonably practicable after the Company electronically files the material with, or furnishes it to, the Securities and Exchange Commission.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_19"></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:7.684%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:90.116%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Item&#160;1A.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%;text-decoration:underline">Risk Factors</span></td></tr></table></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's business, financial condition, results of operations, and the market price for its common stock are subject to numerous risks, many of which are driven by factors that cannot be controlled or predicted. The following discussion, as well as other sections of this Annual Report on Form 10-K, including &#8220;Part II, Item 7, Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations,&#8221; describe certain business and other risks affecting the Company. In conjunction with reviewing the forward-looking statements and other information contained in this Annual Report on Form 10-K, consideration should be given to the risk factors described below as well as those in the Safe Harbor Statement at the beginning of this Annual Report on Form 10-K. These risks are not the only risks to which the Company is exposed. The Company's business operations and the market for its securities could also be adversely affected by additional factors that are not presently known to the Company, or that it currently considers to be immaterial to its operations.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Risks Related to the Company's Business Operations</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">The volatility of the commodity market with respect to the Company's principal raw materials and component parts, or substantial decreases in the availability of the Company's principal raw materials and component parts, has impacted, and could continue to impact, the Company's business, results of operations, and cash flows.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's principal raw materials are commodity products primarily consisting of steel, aluminum, and resins. The Company also purchases component parts such as glass for greenhouse roofing systems thus resulting in exposure to changes in the price and availability of glass, and furthermore, although not purchased by the Company, the Company also has exposure related to the availability of solar modules which has impacted the installation of, and which can and has reduced demand for, the Company's solar racking projects, as experienced in 2022 and 2023.  The availability and pricing of raw materials and component parts can be volatile due to a number of factors beyond the Company's control, including general economic conditions, domestic and worldwide supply and demand, labor costs and availability, competition, freight costs and transportation, import duties, tariffs, and currency exchange rates. The Company may not be successful in passing along pricing increases to its customers or in its efforts to mitigate the impact of supply chain disruptions. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The failure by the Company's suppliers to deliver raw materials or component parts according to schedule, or at all, has </span><span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">resulted in manufacturing delays, capacity constraints, project delays, cost inflation and logistics delays</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and has affected, and may continue to affect the Company's ability to meet its customers' needs. Furthermore, the failure of any sourced raw materials or components to conform to the Company's specifications could also result in delays in its ability to timely deliver, and may have an adverse impact on the Company's relationships with its customers and its ability to fully realize the revenue expected from sales to those customers.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">12</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, commodity price fluctuations could force the Company to adjust its prices or to offer additional services or enhanced products at a higher cost to the Company, which could reduce the Company's gross profit, net income, and cash flow and cause the Company to lose market share. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Macroeconomic factors outside of the Company's control may adversely affect its business, its industry, and the businesses and industries of many of its customers and suppliers.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Macroeconomic factors can have and have had a significant impact on the Company's business, customer demand and the availability of credit and other capital, affecting the Company's ability to generate profitable margins. The Company's operations are subject to the effects of domestic and international economic conditions, including global industrial production rates, inflation, deflation, interest rates, availability of capital, debt levels, consumer spending, energy availability, commodity prices, and the effects of governmental initiatives to manage economic conditions, including government monetary and trade policies, tax laws and regulations. Tariffs placed on imported products used by the Company's customers, such as solar modules, could impact cost and availability of these products to the Company's customers which could impact the demand for the Company's products or services. In addition, fluctuations in the U.S. dollar impact the prices the Company charges and costs it incurs to export and import products. The Company is unable to predict the impact on its business of changes in domestic and international economic conditions. The Company faces changing market conditions, as well as changes in domestic or global economies, or certain industry sectors of those economies that are key to the Company's sales, may further deteriorate, and could result in a corresponding decrease in demand for the Company's products and negatively impact the Company's results of operations and financial condition.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In reference to aforementioned tariffs on imported solar modules, while the Company does not sell or import solar modules, the goods and services the Company provides for its customers depend upon the supply of solar modules for which such shortages have resulted in project delays over the past two years. The supply has been primarily impacted by two regulatory items: the Uyghur Forced Labor Prevention Act ("UFLPA") which was enacted in June 2022, and the circumvention of anti-dumping and countervailing duties (&#8220;AD/CVD&#8221;) investigation launched by the U.S. Department of Commerce ("USDOC") in March 2022, against eight solar module manufacturers producing in four countries in Southeast Asia.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The UFLPA requires traceability of components of imported goods to validate components are not sourced from the Xinjiang province in China. This requirement has caused delays in module availability as module manufacturers must follow a stringent importation process with the U.S. Custom and Border Protection Agency. While a few of the larger module manufacturers are experiencing more consistent success with the importation process, other module suppliers need to make further progress with UFLPA and the importation process. The UFLPA continues to create a compliance burden and constrain supply of imported solar modules, but the Company expects continual improvement of supply as more module manufacturers move forward on the learning curve.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of the USDOC&#8217;s AD/CVD investigation, and until the final ruling from the USDOC was announced in August 2023, projects were delayed due to the risk of retroactive tariffs being imposed on the import of solar modules produced in four countries in Southeast Asia, where Chinese manufacturers have operations. In addition, of the eight major manufacturers under investigation, five were found to have been circumventing the AD/CVD orders. In parallel to the USDOC investigation, on June 6, 2022, an emergency Presidential Proclamation was issued delaying the imposition of duties on imports from the impacted countries until June 6, 2024. This proclamation provides non-U.S. based module manufacturers time to modify and secure supply chains to ensure compliance with U.S. law. In January 2024, a motion was filed requesting that the delay in the imposition of duties per the Presidential Proclamation be removed retroactively which could adversely impact the supply of modules imported into the U.S. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As the timing and progress of many of the Company's customers&#8217; projects depend upon the supply of solar modules and components, the Company's operating results have been impacted by the disruption resulting from the above investigation and validation procedures. The Company's operating results could be further adversely impacted by any final negative circumvention determinations made by the USDOC and continued timing lag of review by U.S. customs.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">The success of the Company's business depends on the Company's senior management team, as well as other key employees and the Company's ability to attract, retain, develop and motivate a skilled and diverse workforce.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's success is dependent on the management and leadership skills of its senior executive and divisional management teams. The Company cannot provide assurance that the Company will be able to retain its existing senior management personnel, or that the Company will have a successor prepared and available upon any loss of such personnel, or that the Company will be able to attract additional qualified personnel through external recruitment when needed. The Company has not entered into employment agreements with any of its senior management personnel.  </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additionally, the Company may not be able to successfully compete for, attract, retain, develop or motivate a skilled and diverse workforce that the Company's business may require. The Company's business is dependent on engineers and other technical personnel to execute a variety of key responsibilities which include, but are not limited to, the identification and implementation of improvements to the Company's manufacturing process, redesign of the Company's products for better performance, the development of new products, and the identification and execution of cost reduction activities. Also, technical service personnel work in conjunction with the Company's sales force in the new product development process to determine the types of products and services that suit the particular needs of the Company's customers. Furthermore, the Company's business may be adversely impacted by the availability of labor at its manufacturing and distribution facilities, or in the field at its customers' project sites. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The unexpected loss of a member of the Company's senior management team, key employee or highly-skilled associate, including due to an increase in aggressive recruiting for talent in the current labor market, or the Company's inability to attract and retain additional personnel could deplete the Company's institutional knowledge base, erode the Company's competitiveness and prevent the Company from successfully executing its business strategy. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">A significant portion of the Company's net sales are concentrated with a few customers. The loss of any of those customers would adversely affect the Company's business, results of operations, and cash flows. </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A loss of sales from the Company's significant customers, whether due to a decrease in demand from the end markets the Company serves, the loss or bankruptcy of any significant customer, a decrease in the prices that the Company can realize from sales of its products to its significant customers, or a significant decrease in business from any of the Company's significant customers, could have an adverse effect on the Company's business, results of operations and cash flows. The Company's ten largest customers accounted for approximately 37%, 41%, and 38% of the Company's net sales during 2023, 2022, and 2021, respectively, with its largest customer accounting for approximately 13%, 14% and 13% of the Company's consolidated net sales during each of the years 2023, 2022, and 2021, respectively.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">The Company's business is highly competitive and increased competition could reduce the Company's revenue, gross profit, net income, and cash flows.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The principal markets that the Company serves are highly competitive. Competition is based primarily on product functionality, quality, price, raw material and inventory availability, as well as the ability to meet delivery schedules dictated by customers. Additionally, the principal markets the Company participates in are characterized by changing technologies and new products and services, thus the Company also faces competition from the introduction of new products and services or technologies by competitors. The Company competes in its principal markets with companies of various sizes, some of which have greater scale, access to capital and other resources than the Company, as well as may have more established brand names and may be better able to withstand a change in conditions in the principal markets the Company serves. Increased competition could force the Company to lower its prices or to offer additional services or enhanced products at a higher cost to the Company, which could reduce the Company's gross profit, net income, and cash flow, and could cause the Company to lose market share. Further, if the Company does not have sufficient resources to invest or is otherwise unable to correctly identify customer needs and preferences, innovate and drive improvements or efficiencies in existing products, develop new products, technologies or services in the markets the Company participates in, or successfully commercialize its innovation efforts, the Company may lose market share. Even when the Company successfully innovates and develops new and enhanced products and services, the Company often incurs substantial costs in doing so, and the Company's revenue, gross profit, net income and cash flows may be impacted.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">If the subcontractors the Company relies upon do not perform their contractual obligations, the Company's business, results of operations and cash flows would be adversely affected. </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Some of the Company's construction contracts with customers involve subcontracts with other companies that perform a portion of the services or provide systems that are integral to the end product that the Company provides </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">to its customers. The Company depends on the quality and timeliness of work performed by its subcontractors.  There is a risk the subcontractors may not perform their contractual obligations, which may subject the Company to customer concerns or disputes. Any such disputes or concerns could materially and adversely impact the Company's ability to perform the Company's obligations as the prime contractor.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">The Company's operations are subject to seasonal fluctuations and the cyclical nature of construction activity that may affect the Company's cash flows.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's net sales are generally lowest in the first quarter primarily as a result of reduced activity in the construction industry due to inclement weather. Therefore, the Company's cash flows from operations may vary from quarter to quarter. Furthermore, construction activity has historically been cyclical and dependent on economic conditions, including interest rates, availability of financing, inflation, employment, spending habits, consumer confidence and other factors outside the Company's control. Residential and commercial construction is also affected by the cost and availability of skilled labor, which could impact both the cost and pace of construction activity, as well as the construction methods used, all of which could adversely affect demand for the Company's products. If the Company's cash flows were significantly reduced due to seasonal fluctuations or reduced construction activity, the Company may not be able to service its indebtedness or maintain covenant compliance.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">The Company's ongoing and expected restructuring plans and other cost savings initiatives may not be as effective as the Company anticipates, and the Company may fail to realize the cost savings and increased efficiencies that the Company expects to result from these actions, which could negatively affect the Company's business, results of operations and financial condition.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company continually strives to simplify or improve processes, eliminate excess capacity and reduce costs in all areas of its operations, which from time to time includes restructuring and integration activities. The Company has implemented significant restructuring and integration activities across its manufacturing, sales and distribution footprint, which include workforce reductions and facility consolidations. Costs of future initiatives may be material and the savings associated with them are subject to a variety of risks, including the Company's inability to effectively eliminate duplicative back-office overhead, overlapping sales personnel, rationalize manufacturing capacity, synchronize information technology systems, consolidate warehousing and distribution facilities and shift production to more economical facilities. As a result, the contemplated costs to effect these initiatives may materially exceed estimates. The initiatives the Company is contemplating may require consultation with various employees and consultants which may influence the timing, costs and extent of expected savings and may result in the loss of skilled employees in connection with the initiatives.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">If the Company is unable to implement its cost savings initiatives as timely and/or effectively as planned, the Company's business may be adversely affected by the negative impact on the Company's ability to continue to meet customer demand, maintain a high level of quality throughout the execution of the plans, and achieve the anticipated financial benefits of such plans. This may result in a material adverse effect on the Company's business, results of operations and financial condition.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Economic, political, and other risks associated with foreign operations could adversely affect the Company's results of operations and cash flows.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Although a significant majority of the Company's business activity takes place in the United States, the Company derives a portion of its revenues and earnings from operations in Canada, and is subject to risks associated with doing business internationally. The Company's sales originating outside the United States represented approximately 3% of the Company's consolidated net sales during the year ended December 31, 2023. The Company believes that its business activities outside of the United States involve a higher degree of risk than the Company's domestic activities, such as the possibility of unfavorable circumstances arising from host country laws or regulations, changes in tariff and trade barriers and import or export licensing requirements and exposes the Company to currency exchange rate fluctuations between the United States Dollar and foreign currencies. In addition, any local or global health issue or uncertain political climates, international hostilities, natural disasters, or any terrorist activities could adversely affect customer demand, the Company's operations and the Company's ability to source and deliver products and services to the Company's customers.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Climate change and climate change legislation or regulations may adversely affect the Company's business and results of operations.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Legislative and regulatory changes in response to the potential effects of climate change may require additional costs and investment for compliance, including an increase in the Company's capital expenditures to reduce the </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">15</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Company's greenhouse gas emissions and increased cost of purchased energy for both the Company and its suppliers, which may increase the Company's costs to procure raw materials, components or equipment parts. As climate change continues to increase the severity of weather, physical effects&#8212;such as damage to facilities, capital equipment and inventory or disruption in production, product distribution or field operations as a result of heat, drought, wildfires, major storm events and shifts in regional weather patterns and intensities&#8212;may also significantly affect the Company's business and financial results. Concerns over global climate change and environmental sustainability over time, including due to expectations of the Company's stockholders, customers and employees, may influence the Company's strategic direction, supply chain, or delivery channels.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Future terror attacks, war, natural disasters or other catastrophic events beyond the Company's control could negatively impact the Company's business, results of operations, and cash flows.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Terror attacks, war, or other civil disturbances, natural or man-made disasters (which may become more frequent due to climate change), other catastrophic events or public health crises could cause catastrophic loss or other material damage to the Company's facilities or lead to economic instability, decreased capacity to produce the Company's products and decreased demand for the Company's products. The Company has experienced operating disruptions related to severe weather across the U.S. From time to time, terrorist attacks worldwide have caused instability in global financial markets. The Company continues to monitor the ongoing conflict between Russia and Ukraine, as well as other conflicts, including between Israel and Hamas and in the Red Sea, for any potential disruptions to the Company's operations. The Company could incur uninsured losses and liabilities arising from such events, and any resulting business interruptions could have an adverse effect on the Company's business, results of operations and cash flows. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Risks Related to Information Technology</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">The Company's business and financial performance may be adversely affected by cybersecurity attacks, information systems interruptions, equipment failures, and technology integration. </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company relies on information technology ("IT") systems, some of which are provided and/or managed by third-parties, to process, transmit and store electronic information, including sensitive data such as confidential business information and personally identifiable data relating to the Company's employees, customers and other business partners, and to manage or support a variety of critical business processes and activities, such as receiving and fulfilling orders, billing, collecting and making payments, shipping products, providing services and support to customers, and fulfilling contractual obligations. The Company's ability to effectively manage its business depends on the security, reliability, and capacity of these IT systems. These systems, including those the Company acquires through business acquisitions can be damaged, disrupted or shut down due to attacks by computer hackers, computer viruses, ransomware, human error or malfeasance, power outages, hardware failures, telecommunication or utility failures, catastrophes, or other unforeseen events.  While, the Company maintains IT measures designed to protect the Company against intellectual property theft, data breaches, sabotage and other external or internal cyber-attacks or misappropriation, cyber-attacks are increasingly difficult to identify and prevent, and it is possible that potential vulnerabilities could go undetected for an extended period. The Company's systems are not fully redundant and the Company's disaster recovery planning may not be sufficient.  Any interruptions to the Company's IT systems could disrupt the Company's operations, causing delays or cancellation of customer orders or impeding the manufacture or shipment of products, processing of transactions or reporting of financial results. Security breaches can result in the misappropriation, destruction or unauthorized disclosure of confidential information or personal data belonging to the Company or to the Company's employees, partners, customers, or suppliers.  Furthermore, security breaches could damage customer, business partner and employee relationships and the Company's reputation and result in legal claims and proceedings, liability and penalties under data protection laws and regulations. Some of the Company's IT systems have experienced past security breaches, although they did not have a material adverse effect on the Company's operating results. There can be no assurance that future incidents will not have material adverse effects on the Company's operations or financial results.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, the Company's IT systems require an ongoing commitment of significant resources to maintain and enhance existing systems and develop new systems to keep pace with continuing changes in information processing technology, evolving legal and regulatory standards and customer expectations, changes in the techniques used to obtain unauthorized access to data and information systems, and the IT needs associated with the Company's changing products and services. In addition, the Company is subject to data privacy and security laws, regulations, and customer-imposed controls in a number of jurisdictions as a result of having access to and processing confidential, personal and/or sensitive data in the course of the Company's business. Compliance with </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">16</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the varying data privacy regulations across the United States and around the world has required and will continue to require significant expenditures. Further, there is increasing regulation regarding responses to cybersecurity incidents, including reporting to regulators, which could subject us to additional liability and reputational harm. There can be no assurance that the Company will be able to successfully maintain, enhance and upgrade the Company's IT systems as necessary to effectively address changing cybersecurity risks and legal requirements, and the Company's efforts to do so may be affect the Company's results of operations.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Risks Related to Acquisitions</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">The Company's strategy depends, in part, on identification, management and successful business and system integration of future acquisitions.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Historically, the Company has grown through a combination of internal growth plus external expansion through acquisitions. The Company intends to continue to seek additional acquisition opportunities in accordance with the Company's business strategy. However, the Company cannot provide any assurance that the following risks involved in completing acquisitions will not occur nor adversely impact the Company's operations and financial results:  </span></div><div style="margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Failure to identify appropriate acquisition candidates, or, if the Company does, failure to successfully negotiate the terms of an acquisition;</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Diversion of senior management&#8217;s attention from existing business activities;</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Failure to integrate any acquisition into the Company's operations successfully; </span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Unforeseen obligations, loss of key customers, suppliers, and employees of the acquired businesses, or loss of existing customers and suppliers; </span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Difficulties or delays in integrating and assimilating information and systems that may require significant unforeseen upgrades or replacement of the Company's primary IT systems across significant parts of the Company's business and operations, which could lead to interruptions of information flow internally and to the Company's customers and suppliers;</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">The need to raise additional funds through additional equity or debt financing, which could be dilutive to stockholder value, increase the Company's interest expense and reduce the Company's cash flows and available funds; and </span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Adverse impact on overall profitability if the acquired business does not achieve the return on investment projected at the time of acquisition.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Risks Related to Financing and Accounting Matters</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">The Company applies judgments and makes estimates in accounting for certain customer contracts, and changes in these judgments or estimates may have significant impacts on the Company's earnings.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in judgments or required estimates and any subsequent adjustments to those judgments or estimates, such as performance incentives, penalties, contract claims and contract modifications, could have a material effect on the Company's sales and profits. Due to the substantial judgments applied and estimations involved with the Company's accounting for customer contracts, the Company's actual results could differ materially or could be settled unfavorably from the Company's estimates. Revenue representing 35%, 40% and 47% of 2023, 2022 and 2021 of the Company's consolidated net sales, respectively, were recognized over time under the cost-to-cost method. Refer to &#8220;Critical Accounting Estimates&#8221; within Item&#160;7 of this Annual Report on Form 10-K for more detail of how the Company's financial statements can be affected by accounting for revenue from contracts with customers.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Increases in future levels of leverage and size of debt service obligations could adversely affect the Company's ability to raise additional capital to fund the Company's operations, limit the Company's ability to react to changes in the economy or the Company's industries and prevent the Company from meeting the Company's obligations.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, the Company had no outstanding indebtedness, but has $396.1 million available for borrowing under its revolving credit facility. The Company's ability to make scheduled payments on, or refinance, its future debt obligations depend on the Company's financial condition and operating performance, which are subject to prevailing economic, industry and competitive conditions and to certain financial, business, legislative, regulatory and other factors beyond the Company's control.  The Company may need to incur additional debt in the future to fund strategic acquisitions, investments or for other purposes, which debt could have significant adverse consequences to the Company's business.  Any sustained weakness in general economic conditions and/or U.S. or global capital markets could adversely affect the Company&#8217;s ability to raise capital on favorable terms or at all.  The </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">17</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Company&#8217;s access to funds under its credit facility is dependent on the ability of the financial institutions that are parties to that facility to meet their funding commitments. Those financial institutions may not be able to meet their funding commitments if they experience shortages of capital and liquidity or if they experience excessive volumes of borrowing requests within a short period of time. Longer term volatility and continued disruptions in the capital and credit markets as a result of uncertainty, changing or increased regulation of financial institutions, reduced alternatives or failures of significant financial institutions could adversely affect the Company&#8217;s access to the liquidity needed for its businesses in the longer term. Such disruptions could require the Company to take measures to conserve cash until the markets stabilize or until alternative credit arrangements or other funding for its business needs can be arranged. The Company's Credit Agreement entered into on December 8, 2022, contains several financial and other restrictive covenants.  A significant decline in the Company's operating income or use of the Company's Credit Agreement (or other additional indebtedness) for acquisitions, operations and capital expenditures could cause the Company to violate these covenants which could result in the Company incurring additional financing fees that would be costly and adversely affect the Company's profitability and cash flows.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Risks Related to Legal and Regulatory Matters</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Imposed tariffs and potential future tariffs may result in increased costs and could adversely affect the Company's results of operations.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Tariffs imposed in the United States on certain steel and aluminum products imported into the U.S. have created volatility in the market and have increased the costs of these inputs. Increased costs for imported steel and aluminum products have led domestic sellers to respond with market-based increases to prices for such inputs as well. These tariffs, along with any additional tariffs or trade restrictions that may be implemented by the U.S. or other countries, could result in further increased costs, shifting in competitive positions and a decreased available supply of steel, resins and aluminum as well as additional imported components and inputs.&#160;The Company may not be able to pass price increases on to its customers and may not be able to secure adequate alternative sources of steel, resins and aluminum on a timely basis. While retaliatory tariffs imposed by other countries on U.S. goods have not yet had a significant impact, the Company cannot predict further developments.&#160;The tariffs could adversely affect the Company's income from operations for some of the Company's businesses and customer demand for some of the Company's products which could have a material adverse effect on the Company's results of operations, financial position and cash flows.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">The expiration, elimination or reduction of solar rebates, credits and incentives may adversely impact the Company's business, results of operations, and cash flows.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A variety of federal, state and local government agencies provide incentives to promote electricity generation from renewable sources such as solar power. These incentives are in the form of rebates, tax credits and other financial incentives which help to motivate end users, distributors, system integrators and others to install solar powered generating systems. Any changes to reduce, shorten or eliminate the scope and availability of these incentive programs could materially and adversely impact the demand for the Company's related products, and the Company's financial condition and results of operations.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The timing and progress of many of the Company's renewable energy customers&#8217; projects are impacted by incentives provided by the Federal solar tax credit also known as Investment Tax Credits ("ITC"). The Inflation Reduction Act ("IRA") signed into law on August 16, 2022, among other things, provides for a variety of enhanced ITC and Production Tax Credits for renewable energy systems subject to specific dates and requirements. Demand for the Company's products could be adversely impacted if the Company does not meet the above standards in order to enable its customer to obtain the full enhanced tax credits.  </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">The nature of the Company's business exposes the Company to product liability, product warranty and other claims, and other legal proceedings and could adversely affect the Company's business, financial condition, results of operations, and cash flows.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is a party in product liability, product warranty and other claims relating to the products the Company manufactured and distributed. Although the Company currently maintains what the Company believes to be suitable and adequate insurance in excess of the Company's self-insured amounts for product liability and other claims, there can be no assurance that the Company will be able to maintain such insurance on acceptable terms or that such insurance will provide adequate protection against potential liabilities. Product liability claims could be expensive to defend and could divert the attention of the Company's management and other personnel for significant periods of time, regardless of the ultimate outcome. Claims of this nature could also have a negative </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">impact on customer confidence in the Company's products, the Company's brands and the Company. In the ordinary course of business, the Company is also subject to other types of legal and regulatory proceedings. Any claims raised in legal and regulatory proceedings, whether with or without merit, could be time consuming and expensive to defend and could divert the Company's management attention and resources. The Company cannot assure you that any current or future claims will not adversely affect the Company's reputation, financial condition, operating results, and cash flows.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">The Company could incur substantial costs in order to comply with, or to address any changes in or violations of, environmental, health, safety and other laws that could adversely affect the Company's business, financial condition, results of operations, and cash flows.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's operations and facilities are subject to a variety of stringent federal, state, local, and foreign laws and regulations, including those relating to the protection of the environment and human health and safety. Compliance with these laws and regulations sometimes involves substantial operating costs and capital expenditures.  Failure to maintain or achieve compliance with these laws and regulations or with the permits required for the Company's operations could result in substantial costs and liabilities, such as fines and civil or criminal sanctions, third-party claims for property damage or personal injury, cleanup costs or temporary or permanent discontinuance of operations, including claims arising from the businesses and facilities that the Company has sold. The Company is subject to the risk that the Company, its employees, its affiliated entities, its contractors, its agents or their respective officers, directors, employees and agents may take actions determined to be in violation of any of these laws, for which the Company might be held responsible, particularly as the Company expands its operations geographically through organic growth and acquisitions. The Company cannot provide assurance that the Company's internal controls and compliance systems, including the Company's Code of Ethics and Statement of Policy, will protect the Company from acts committed by the Company's employees, agents or business partners that violate U.S. and/or non-U.S. laws, including the laws governing payments to government officials, bribery, fraud, kickbacks and false claims, pricing, sales and marketing practices, conflicts of interest, competition, employment practices, workplace behavior, export and import compliance, economic and trade sanctions, money laundering and data privacy. An actual or alleged violation could result in substantial fines, sanctions, civil or criminal penalties, debarment from government contracts, curtailment of operations in certain jurisdictions, competitive or reputational harm, litigation or regulatory action and other consequences that might adversely affect the Company's results of operations, financial condition or strategic objectives. For certain businesses the Company has divested, the Company has provided limited indemnifications for environmental contamination to the successor owners. The Company has also acquired and expects to continue to acquire businesses and facilities to add to the Company's operations. While the Company sometimes receives indemnification for pre-existing environmental contamination, the party providing the indemnification may not have sufficient resources to cover the cost of any required measures. Certain facilities of the Company have been in operation for many years and the Company may be liable for remediation of any contamination at the Company's current or former facilities; or at off-site locations where waste has been sent for disposal, regardless of fault or whether the Company, its predecessors or others are responsible for such contamination. The Company has been responsible for remediation of contamination at some of the Company's locations, and while such costs have not been material to date, the cost of remediation of any of these and any newly-discovered contamination cannot be quantified, and the Company cannot assure you that it will not materially affect the Company's profits or cash flows. Changes in laws, regulations or enforcement policies, including without limitation new or additional regulations affecting disposal of hazardous substances and waste, greenhouse gas emissions or use of fossil fuels, could have a material adverse effect on the Company's business, financial condition, or results of operations.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">The Company is subject to certain additional regulations as a United States government contractor or subcontractor and the Company's business, results of operations and cash flows could be adversely affected if the Company does not comply with these certain additional regulations.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Some of the Company's revenue is derived from contracts with agencies of the United States government and subcontracts with its prime contractors. As a United States government contractor or subcontractor, the Company is subject to federal contracting regulations, including the Federal Acquisition Regulations, which govern the allowability of costs incurred by the Company in the performance of United States government contracts. In connection with the Company's United States government business, the Company is also subject to government audits and to review and approval of the Company's policies, procedures, and internal controls for compliance with procurement regulations and applicable laws. In certain circumstances, if the Company does not comply with the terms of a government contract or with regulations or statutes, the Company could be subject to downward contract price adjustments or refund obligations or could in extreme circumstances be assessed civil and criminal penalties or be debarred or suspended from obtaining future contracts for a specified period of time.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">19</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_22"></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:7.684%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:90.116%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Item&#160;1B.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%;text-decoration:underline">Unresolved Staff Comments</span></td></tr></table></div><div style="margin-top:3pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div><span><br/></span></div><div><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_1493"></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:7.684%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:90.116%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Item&#160;1C.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%;text-decoration:underline">Cybersecurity</span></td></tr></table></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Securing the Company's IT systems is integral and foundational to its everyday operations. The mission of the Company's cybersecurity team is to focus on defining and deploying its information security strategy, sustaining a robust employee cyber awareness and training program, executing security engineering, providing continuous monitoring of its operations, responding and coordinating the response and investigation of cyber threats, building and testing its disaster recovery plans in support of its businesses&#8217; continuity plan requirements, and developing its cyber and information security policies. The Company employs a dedicated cybersecurity team led by its head of information and cybersecurity who reports directly to the Company's Chief Digital Information Officer. Combined, the Company's cybersecurity team has nearly four decades of security and technology operations expertise along with numerous security certifications.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's cybersecurity strategy is based on recognized best practices, standards, and frameworks for cybersecurity and information technology, including the Center for Information Security ("CIS") Controls and National Institute of Standards and Technology ("NIST"). The strategy focuses on implementing technologies, controls, and processes to constantly monitor, identify, assess, and manage cybersecurity risks. The Company also has a cybersecurity incident response plan that is designed to provide a framework across all functions for a coordinated identification and response to security incidents.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Beyond technologies, processes, and controls, the Company's cybersecurity program also includes exercises designed to sustain a high level of awareness and readiness across its employee base of the risks that threat actors pose to the Company. Whether it is through the Company's monthly company-wide cyber training; its frequent in-house phishing exercises, regular tabletop exercises with the Company's Board of Directors, management, and employees; or its annual cyber business continuity planning sessions, the Company strives to provide education so its employees can be a positive force in the protection of the Company's systems.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company engages leading cybersecurity firms to assist with its security engineering and operations; provide independent evaluations of its security posture through regular assessment, penetration testing, or ethical hacking; and to audit and provide advice on how to make its security operations and controls more effective.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Furthermore, the Company utilizes third-party service providers to perform a variety of functions to assist in operating the business. The cybersecurity risks associated with the use of certain providers are covered under a vendor management process. Depending on the nature of the services provided, the sensitivity and/or quantity of information processed, the vendor management process may include reviewing cybersecurity practices of these providers, contractually imposing obligations on the provider, inspecting independently audited reports, and/or conducting its own security assessments of their services.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s Board of Directors has ultimate oversight of the Company&#8217;s cybersecurity risk. Senior leadership, including the Chief Digital Information Officer, updates the Board of Directors on the Company's cybersecurity and information security posture at least quarterly at the Company&#8217;s board meetings, or more frequently as determined to be necessary or advisable. These updates include a review of cybersecurity incidents determined to have a moderate to high business impact, even if immaterial to the Company as a whole. The Audit and Risk Committee has responsibility for assisting the Board in the review and oversight of risks affecting the Company, and oversees the enterprise risk management process, which includes, with the assistance of internal audit, assessing the Company&#8217;s exposure to cybersecurity risk and the effectiveness of the Company&#8217;s processes and controls to address and respond to those risks. Management is responsible for hiring appropriate personnel, integrating cybersecurity considerations into the company&#8217;s overall risk management strategy, and for communicating key priorities to employees, as well as for approving budgets, helping prepare for cybersecurity incidents, approving cybersecurity processes, and reviewing security assessments and other security-related reports.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Notwithstanding the focus and emphasis on cybersecurity, the Company has experienced and will continue to experience cybersecurity incidents. While prior incidents have not had a material effect on the Company's business, </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">20</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">there can be no guarantee that the Company will not experience a future incident that does have a material effect on its business. See "Risk Factors - Risks Related to Information Technology - The Company's business and financial performance may be adversely affected by cybersecurity attacks, information systems interruptions, equipment failures, and technology integration" for more information on the Company's cybersecurity risks.</span></div><div id="i32dbd54440254257bc94c8354b78dd51_25"></div><div style="margin-top:18pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:7.684%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:90.116%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Item&#160;2.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%;text-decoration:underline">Properties</span></td></tr></table></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases its principal executive office and corporate headquarters in Buffalo, New York. The number, type, location and classification of the properties used by the Company's operations by segment and corporate as of December&#160;31, 2023, were as follows:</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"/><td style="width:44.274%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.822%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.822%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.822%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.824%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number and Type of Properties</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Plant</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Distribution<br/>Center</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Office</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Renewables</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agtech</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Residential</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:6pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"/><td style="width:44.274%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.822%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.822%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.822%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.824%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Location of Properties</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Classification of Properties</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Domestic</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Foreign</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Owned</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Leased</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Renewables</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agtech</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Residential</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Corporate</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company believes that its properties are effectively utilized, well maintained, in good condition, and will be able to accommodate the Company's capacity needs to meet current levels of demand. In addition, the Company believes that its properties are located to optimize customer service, market requirements, distribution capability and freight costs.</span></div><div id="i32dbd54440254257bc94c8354b78dd51_28"></div><div style="margin-top:18pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:7.684%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:90.116%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Item&#160;3.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%;text-decoration:underline">Legal Proceedings</span></td></tr></table></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time the Company has been and may in the future become involved in litigation, as well as other legal proceedings in the ordinary course of the Company's business. The Company maintains liability insurance against risks arising out of the normal course of business.  While the outcome of these legal proceedings cannot be predicted with certainty, the Company's management, based on currently available facts, does not believe that the ultimate outcome of any pending litigation will have a material effect on the Company's consolidated financial condition, results of operations, or liquidity. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">See Note 19 to the Company's consolidated financial statements in Part II, Item 8, Financial Statements and Supplementary Data, of this Annual Report on Form 10-K for further information.</span></div><div id="i32dbd54440254257bc94c8354b78dd51_31"></div><div style="margin-top:18pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:7.684%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:90.116%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Item&#160;4.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%;text-decoration:underline">Mine Safety Disclosures</span></td></tr></table></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Not applicable.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">21</span></div></div></div><div id="i32dbd54440254257bc94c8354b78dd51_34"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-bottom:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">PART II</span></div><div id="i32dbd54440254257bc94c8354b78dd51_37"></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:7.684%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:90.116%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Item&#160;5.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%;text-decoration:underline">Market for Registrant's Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities</span></td></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s common stock is traded on the NASDAQ Global Select Market (&#8220;NASDAQ&#8221;) under the symbol &#8220;ROCK.&#8221;</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of February 20, 2024, there were approximately 29 shareholders of record of the Company&#8217;s common stock. However, the Company believes that it has a significantly higher number of beneficial owners because of the number of shares that are held through banks, brokers, and other financial institutions.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company did not declare any cash dividends during the years ended December&#160;31, 2023 and 2022 and does not expect to pay any in the foreseeable future. The Company intends to use cash generated by operations to reinvest in the businesses, fund acquisitions and to repurchase stock. The Company's disclosure in Note 9 of the Company&#8217;s audited consolidated financial statements included in Item&#160;8 of this Annual Report on Form 10-K provide additional information regarding restrictions on potential capital distributions.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In May 2022, the Company's Board of Directors authorized a share repurchase program of up to $200 million of the Company's issued and outstanding common stock. The program was publicly announced on May 4, 2022 and has a duration of three years, ending May 2, 2025. Repurchases may be made, from time to time, in amounts and at prices the Company deems appropriate, subject to market conditions, applicable legal requirements, debt covenants and other considerations. Any such repurchases may be executed using open market purchases, privately negotiated agreements or other transactions. The repurchase program may be suspended or discontinued at any time at the Company's discretion.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company did not purchase shares during the quarter ended December 31, 2023 and the dollar value of shares that may yet be purchased under the program was $88,943,472.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company did not sell unregistered equity securities during the period covered by this report.</span></div><div id="i32dbd54440254257bc94c8354b78dd51_40"></div><div style="margin-top:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:7.684%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:90.116%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Item&#160;6.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%;text-decoration:underline">[Reserved]</span></td></tr></table></div><div><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_43"></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:7.684%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:90.116%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Item&#160;7.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%;text-decoration:underline">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</span></td></tr></table></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations should be read in conjunction with the Company&#8217;s risk factors and its consolidated financial statements and notes thereto included in Item&#160;1A and Item&#160;8, respectively, of this Annual Report on Form 10-K. Certain information set forth in this Item&#160;7 constitutes &#8220;forward-looking statements&#8221; as that term is used in the Private Securities Litigation Reform Act of 1995. Such forward-looking statements are based, in whole or in part, on management&#8217;s beliefs, estimates, assumptions, and currently available information. For a more detailed discussion of what constitutes a forward-looking statement and of some of the factors that could cause actual results to differ materially from such forward-looking statements, please refer to the &#8220;Safe Harbor Statement&#8221; on </span><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_10">page 3</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of this Annual Report on Form 10-K.</span></div><div id="i32dbd54440254257bc94c8354b78dd51_46"></div><div style="margin-top:18pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Company Overview</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is a leading manufacturer and provider of products and services for the renewable energy, residential, agtech, and infrastructure markets.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company operates and reports its results in the following four reporting segments:</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Renewables</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Residential</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Agtech</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Infrastructure</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company serves customers primarily in North America including renewable energy (solar) developers, institutional and commercial growers of fruits, vegetables, flowers and other plants, home improvement retailers, </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">22</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">wholesalers, distributors, and contractors. The Company's operational infrastructure provides the necessary scale to support local, regional, and national customers in each of its markets.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Demand for products and services in the segments and end markets the Company's businesses serve are subject to economic conditions that are influenced by various factors. These factors include but are not limited to changes in general economic conditions, interest rates, exchange rates, commodity costs, federal subsidies for renewable energy projects, supply limitations that impact the availability of solar modules and therefore solar racking installations, demand for residential construction, demand for repair and remodeling, governmental policies and funding, tax policies and incentives, tariffs, trade policies, weather patterns, the level of non-residential construction and infrastructure projects, demand for renewable energy sources, and climate change. The Company believes the key elements of its strategy outlined in Item 1. Business of this Annual Report on Form 10-K will allow the Company to respond timely to these factors.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">Recent Trends</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The uncertainty of the current macro-economic environment, including shifting inflation and higher interest rates, along with trade related disruptions that continue to impact the supply of solar modules used by the Company&#8217;s customers, along with permitting delays that affected project timing, have impacted and may continue to adversely impact our performance and financial results. Although the disruption in the supply of solar modules is improving, our customers continue to be challenged to obtain permits from relevant government entities to build new solar fields and the Company does expect that these aforementioned dynamics will continue through 2024.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">While the Company does not sell or import solar modules, the goods and services the Company provides for its customers depend upon the supply of solar modules. Shortages of solar modules have resulted in project delays over the past two years.  The supply has been primarily impacted by two regulatory items: the UFLPA which was enacted in June 2022, and the circumvention of AD/CVD investigation launched by the USDOC in March 2022, against eight solar module manufacturers producing in four countries in Southeast Asia.  </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The UFLPA requires traceability of components of imported goods to validate components are not sourced from the Xinjiang province in China. This requirement has caused delays in module availability as module manufacturers must follow a stringent importation process with the U.S. Custom and Border Protection Agency. While a few of the larger module manufacturers are experiencing more consistent success with the importation process, other module suppliers need to make further progress with UFLPA and the importation process. The UFLPA continues to create a compliance burden and constrain supply of imported solar modules, but the Company expects continual improvement of supply as more module manufacturers move forward on the learning curve. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of the USDOC&#8217;s AD/CVD investigation, and until the final ruling from the USDOC was announced in August 2023, projects were delayed due to the risk of retroactive tariffs being imposed on the import of solar modules produced in four countries in Southeast Asia, where Chinese manufacturers have operations. In addition, of the eight major manufacturers under investigation, five were found to have been circumventing the AD/CVD orders. In parallel to the USDOC investigation, on June 6, 2022, an emergency Presidential Proclamation was issued delaying the imposition of duties on imports from the impacted countries until June 6, 2024. This proclamation provides non-U.S. based module manufacturers time to modify and secure supply chains to ensure compliance with U.S. law. In January 2024, a motion was filed requesting that the delay in the imposition of duties per the Presidential Proclamation be removed retroactively.  </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On August 16, 2022, the IRA was signed into law. Among other things, the IRA provides for a variety of enhanced ITC and Production Tax Credits for renewable energy subject to specific dates and requirements. Although the Company believes the IRA should assist in driving growth in the renewable energy industry, it is important that the Department of Treasury finalize rules governing the execution of additional investment tax incentives so industry and the Company's customers can move forward with projects currently on hold. Overall, the Company believes the enhanced tax credits under the IRA will provide long-term certainty for the industry and support consistent and accelerating demand for our products. The Company will work with its customers to optimize the various ITC as the final rules are defined and implemented.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">23</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Operating Performance Measures </span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company uses certain operating performance measures, specifically consolidated gross margin, operating margin by segment and consolidated operating margin, to manage its businesses, set operational goals, and establish performance targets for incentive compensation for its employees. The Company defines consolidated gross margin as a percentage of total consolidated gross profit to total consolidated net sales.  The Company defines operating margin by segment as a percentage of total income from operations by segment to total net sales by segment and consolidated operating margin as a percentage of total consolidated income from operations to total consolidated net sales. The Company believes gross margin and operating margin may be useful to investors in evaluating the profitability of its segments and the Company on a consolidated basis.</span></div><div id="i32dbd54440254257bc94c8354b78dd51_49"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Results of Operations</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Year Ended December&#160;31, 2023 Compared to Year Ended December&#160;31, 2022 </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For a discussion of the Company's results of operations for the year ended December 31, 2022 and for a comparison of such results of operations for the year ended December 31, 2021 results please refer to "Management's Discussion and Analysis of Financial Condition and Results of Operations" in the Company's Annual Report on Form 10-K for the year ended December 31, 2022 that was filed with the SEC on February 22, 2023. </span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth selected results of operations data (in thousands) and its percentages of net sales for the years ended December&#160;31:</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:45.752%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.641%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,377,736&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,389,966&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of sales</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,015,770&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73.7&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,071,272&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77.1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">361,966&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26.3&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">318,694&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22.9&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general, and administrative expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">207,440&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15.1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">188,592&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13.5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible asset impairment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,797&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income from operations</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150,729&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.9&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">130,102&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9.4&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,002&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.2&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,047&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.3&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other (income) expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,265)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,565&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income before taxes</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">148,992&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.8&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111,490&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision for income taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,459&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,084&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">110,533&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8.0&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,406&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.9&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the Company&#8217;s net sales by reportable segment for the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.122%"><tr><td style="width:1.0%"/><td style="width:20.876%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.109%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.537%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.256%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.832%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.436%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.537%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.731%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.537%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.846%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.979%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.624%"/><td style="width:0.1%"/></tr><tr><td colspan="18" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Impact of</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total<br/>Change</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Acquisitions</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Portfolio Management</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Ongoing Operations</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net sales:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Renewables</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">330,738&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">377,567&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(46,829)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(46,829)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Residential</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">814,803&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">767,248&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47,555&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60,807&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(13,252)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agtech</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">144,967&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">168,868&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(23,901)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,781)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(20,120)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">87,228&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76,283&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,945&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,945&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Consolidated</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,377,736&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,389,966&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12,230)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60,807&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,781)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(69,256)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Consolidated net sales decreased from 2022 by $12.2 million, or 0.9%, to $1.4 billion for 2023 compared to 2022. The decrease in revenue was driven by lower organic revenue of 5.0% or $69.3 million, the result of a 6% volume decline. Largely offsetting the year over year decrease were $60.8 million of revenues generated from recent acquisitions, which are reported as part of the Company's Residential segment, along with participation gains.  Consolidated backlog increased 10% to $330 million up from $299 million at the end of the prior year.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net sales in the Renewables segment decreased by 12.4%, or $46.8 million, to $330.7 million in 2023 compared to $377.6 million in 2022. Revenue decreased by 12.4% from the prior year as the market demand for solar racking </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">24</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">installation continues to be impacted by timing delays due to lengthier permitting processes and pending guidance on final IRA tax credit guidelines, along with the lingering impact of importation challenges resulting from the UFLPA that lessened throughout the year. New order bookings continued to be robust as backlog increased 21% from the prior year.  </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net sales in the Residential segment increased 6.2%, or $47.6 million, to $814.8 million in 2023 compared to $767.2 million in 2022. </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:120%">T</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">he increase from the prior year was the result of sales generated by recent acquisitions of $60.8 million along with additional participation gains and expanded market presence, which more than offset channel inventory corrections and price declines related to commodity cost reductions and 80/20 initiatives targeting less attractive product lines.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net sales in the Agtech segment decreased 14.2%, or $23.9 million, to $145.0 million in 2023 compared to $168.9 million in 2022. Revenue declined as both the segment's commercial business and produce projects experienced delayed new project starts throughout most of the year, which began to convert to active projects in the fourth quarter of the year. While backlog decreased 6% year over year, the pipeline of projects is strong. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net sales in the Infrastructure segment increased 14.3%, or $10.9 million, to $87.2 million in 2023 compared to $76.3 million in 2022. The increase in revenue was driven by continued solid end market demand and ongoing efforts to increase market participation. Backlog increased 3% year over year, benefiting from these efforts.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's consolidated gross margin increased to 26.3% for 2023 compared to 22.9% for 2022. This increase was the result of improved price to material cost alignment, solid execution in field operations, improvement in supply chain management and continued operational efficiencies, along with 80/20 initiatives and favorable business and product mix.  </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Selling, general, and administrative ("SG&amp;A") expenses increased by $18.8 million, or 10.0%, to $207.4 million for 2023 from $188.6 million for 2022. The $18.8 million increase was primarily due to higher performance-based compensation expense, as compared to the prior year. Incremental SG&amp;A expenses incurred by recent acquisitions also contributed to the increase. SG&amp;A expenses as a percentage of net sales increased to 15.1% for 2023 compared to 13.5% for 2022.  </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During 2023, the Company recognized intangible asset impairment charges of $3.8 million.  The impairment was largely the result of a rebranding initiative that resulted in the discontinuation of an indefinite-lived trademark of $3.2 million in the Agtech segment, and to a lesser extent, the write-off of amortizing intangibles for $0.6 million related to a discontinued product line in the Renewables segment.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the Company&#8217;s income from operations and income from operations as a percentage of net sales by reportable segment for the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:50.215%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.426%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.233%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.841%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.356%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.115%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.284%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total<br/>Change</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income from operations:</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Renewables</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,160&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9.1&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,243&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,917&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Residential</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">143,068&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17.6&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">126,458&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16.5&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,610&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agtech</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(928)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.6)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,914&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.7&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,842)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,529&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21.2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,003&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,526&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unallocated Corporate Expenses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(40,100)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2.9)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(33,516)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2.4)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,584)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Consolidated income from operations</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150,729&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.9&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">130,102&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9.4&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,627&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Renewables segment generated an operating margin of 9.1% in 2023 compared to 6.7% in 2022. The increase in operating margin was driven by field operations productivity, favorable price to cost alignment and improved supply chain management that offset lower volumes and higher restructuring charges incurred in the current year related to addressing customer issues arising from the discontinued legacy solar tracker solution.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">25</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Residential segment operating margin increased to 17.6% in 2023 from 16.5% in 2022.  The increase in operating margin was the result of the benefit of improved alignment of price actions and input costs, along with 80/20 productivity initiatives and mix.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Agtech segment generated an operating margin of (0.6)% in 2023 compared to 1.7% in 2022.  The year over year decline in operating margin was the combined impact of a $3.5 million charge to write down a receivable associated with a distressed cannabis customer and the aforementioned $3.2 million indefinite-lived trademark impairment charge, the result of a rebranding initiative. The impact of these charges were partially offset by 80/20 initiatives and improvement in project management systems.   </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Infrastructure segment operating margin increased to 21.2% in 2023 compared to 11.8% in 2022.  The margin improvement was due to strong operating execution, 80/20 productivity initiatives, supply chain efficiency, and product line mix. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Unallocated corporate expenses increased $6.6 million, or 19.6%, to $40.1 million in 2023 from $33.5 million for 2022.  The increase in expense was largely the result of higher performance-based compensation expense, as compared to the prior year. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Interest expense decreased $1.0 million to $3.0 million for 2023 from $4.0 million for 2022.  The decrease in expense was primarily due to lower average outstanding balances in the current year, $37 million compared to $85 million, for 2023 and 2022, respectively, partially offset by higher interest rates compared to the prior year.  </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recorded other income of $1.3 million in 2023, compared to other expense of $14.6 million in 2022.  The current year income is the combined result of foreign currency translation fluctuations and changes in the fair market valuation allowance related to the liquidation of the processing business, offset by a $0.6 million pre-tax net loss relating to the sale of the Company's Japan-based solar racking business within its Renewables segment.  In 2022, the Company recorded a $14.0 million valuation allowance related to the write-down of the processing business to estimated fair market value. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognized a provision for income taxes of $38.5 million, an effective tax rate of 25.8%, for 2023 compared with a provision for income taxes of $29.1 million, an effective tax rate of 26.1%, for 2022.  The effective tax rates for 2023 and 2022 exceeded the U.S. federal statutory rate of 21% due to state taxes and nondeductible permanent differences partially offset by favorable discrete items due to an excess tax benefit on stock-based compensation.</span></div><div id="i32dbd54440254257bc94c8354b78dd51_52"></div><div style="margin-top:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Liquidity and Capital Resources</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the Company's liquidity position as of (in thousands): </span></div><div style="margin-top:3pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:55.204%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:20.014%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:20.016%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">99,426&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,608&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Availability on revolving credit facility</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">396,056&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">304,505&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">495,482&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">322,113&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Sources of Liquidity</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's sources of liquidity are comprised of cash on hand and available borrowing capacity provided under the Company's Credit Agreement (the "Credit Agreement"), entered into on December 8, 2022. The Credit Agreement maintains similar capacity as the prior agreement in which it provides for a revolving credit facility and letters of credit in an aggregate amount equal to $400 million. The Company can request additional financing to increase the revolving credit facility to $700 million or enter into a term loan of up to $300 million subject to conditions set forth in the Credit Agreement. The Company believes that these sources provide the Company with ample liquidity and capital resources to invest in operational excellence, growth initiatives and the development of the organization.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has been able to weather the economic impacts of the broader market dynamics, including the inflationary cost environment, while continuing to make investments that support the Company's strategy. The Company continues to remain focused on managing its working capital, closely monitoring customer credit and </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">collection activities, working with suppliers and challenging business process to optimize investment, and working to extend payment terms with its vendors. The Company believes its liquidity, together with the cash expected to be generated from operations, should be sufficient to fund working capital needs and growth initiatives for the foreseeable future.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company can and does use its revolving credit facility to provide liquidity and capital resources primarily for the Company's U.S. operations when necessary. Generally, the Company's foreign operations have generated cash flow from operations sufficient to invest in working capital and fund their capital improvements. As of December&#160;31, 2023 and  2022, the Company's foreign subsidiaries held $6.9 million and $15.2 million of cash, respectively.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Outstanding balances on the Company's revolving credit facility under the Company's Credit Agreement accrue interest at a rate, at the Company's option, equal to the applicable margin plus (a) a base rate, (b) a daily simple secured overnight financing rate ("SOFR"), (c) a term SOFR rate, or (d) for certain foreign currencies, a foreign currency rate. See Note 9 to the Company's consolidated financial statements in Part II, Item 8, Financial Statements, of this Annual Report on Form 10-K for further information on the Company&#8217;s Credit Agreement</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Uses of Cash / Cash Requirements</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's material short-term cash requirements primarily include accounts payable, certain employee and retiree benefit-related obligations, operating lease obligations, capital expenditures, and other purchase obligations originating in the normal course of business for inventory purchase orders and contractual service agreements. The Company's principal capital requirements are to fund its operations' working capital and capital improvements, as well as provide capital for acquisitions and to strategically allocate capital through repurchases of Company stock. The Company will continue to invest in growth opportunities as appropriate while focusing on working capital efficiency and profit improvement opportunities to minimize the cash invested to operate its business.  The Company intends to fund its cash requirements through cash generated from operations and, as necessary, from the availability on its revolving credit facility.  See Notes 8, 10, 12, 18 and 20 to the Company's consolidated financial statements in Part II, Item 8, Financial Statements, of this Annual Report on Form 10-K for further detail on the Company's accrued expenses, employee and retiree benefit-related obligations, operating lease obligations and historical capital expenditures</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In May 2022, the Company's Board of Directors authorized a share repurchase program of up to $200 million of the Company's issued and outstanding common stock. The program has a duration of three years, ending May 2, 2025. Repurchases may be made, from time to time, in amounts and at prices the Company deems appropriate, subject to market conditions, applicable legal requirements, debt covenants and other considerations. Any such repurchases may be executed using open market purchases, privately negotiated agreements or other transactions. The repurchase program may be suspended or discontinued at any time at the Company's discretion. As of December 31, 2023, the Company has repurchased 2,518,941 shares for an aggregate price of $111.0 million under this repurchase program, including 521,575 shares repurchased for an aggregate price of $25.2 million during the year ended December 31, 2023.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Over the long-term, the Company expects that future investments, including strategic business opportunities such as acquisitions, may be financed through a number of sources, including internally available cash, availability under the Credit Agreement, new debt financing, the issuance of equity securities, or any combination of the aforementioned. The $10.4 million preliminary purchase price for the acquisition of a privately held Utah-based company was financed primarily through borrowing on the Company's revolving credit facility. All potential acquisitions are evaluated based on the Company's acquisition strategy, which includes the enhancement of the Company's existing products, operations, and/or capabilities, as well as expanding the Company's access to new products, markets, and customers, with the goal of creating compounding and sustainable stockholder value.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">These expectations are forward-looking statements based upon currently available information and may change if conditions in the credit and equity markets deteriorate or other circumstances change. To the extent that operating cash flows are lower than current levels, or sources of financing are not available or not available at acceptable terms, the Company's future liquidity may be adversely affected.  See Item 1A. "Risk Factors - Risks Related to Financing and Accounting Matters - Increases in future levels of leverage and size of debt service obligations could adversely affect the Company's ability to raise additional capital to fund the Company's operations, limit the Company's ability to react to changes in the economy or the Company's industries and prevent the Company from meeting the Company's obligations."</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash Flows</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth selected cash flow data for the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:72.692%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.639%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash provided by (used in):</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating activities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">218,476&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">102,691&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Investing activities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(15,722)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(71,683)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Financing activities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(120,329)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(25,007)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Effect of exchange rate changes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(607)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,242)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net increase in cash and cash equivalents</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">81,818&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,759&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Operating Activities</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net cash provided by operating activities for 2023 of $218.5 million consisted of income from continuing operations of $110.5 million, non-cash net charges totaling $67.0 million, which include depreciation, amortization, intangible asset impairment, stock compensation, exit activity costs,  provision for deferred income taxes and other non-cash charges, and $41.0 million of cash generated from working capital and other net operating assets largely due to the Company's focus on reducing its investment in inventory to better align with lower sales volumes while still meeting customer demand.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net cash provided by operating activities for 2022 of $102.7 million consisted of income from continuing operations of $82.4 million, non-cash net charges totaling $58.6 million, which include depreciation, amortization, stock compensation, exit activity costs, provision for deferred income taxes and other non-cash charges, offset by a net investment in working capital and other net assets of $38.3 million.  The net investment in working capital was largely the result of the timing and the settlement of payables in 2022 related to inventory received in 2021. Further, offsetting the impact of the decline in payables, the Company  also reduced its investment in inventory as supply chain challenges subsided in 2022 and the Company was able to better align inventory levels with lower sales volumes. The decrease in accounts receivable as a result of lower sales volume in the fourth quarter of 2022 compared to the fourth quarter of 2021 also partially offset the investment in working capital.  </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Investing Activities</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net cash used in investing activities for 2023 of $15.7 million consisted of net cash paid of $10.4 million for the acquisition of a privately held Utah-based company in the third quarter of 2023 and net capital expenditures of $13.9 million offset by net proceeds of $8.0 million from the sale of the Company's Japan-based solar racking business in the Company's Renewables segment in the fourth quarter of 2023 and receipt of the $0.6 million final working capital settlement related to the 2022 acquisition of QAP.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net cash used in investing activities for 2022 of $71.7 million consisted of net cash paid of $51.6 million for the acquisition of QAP in the third quarter of 2022 and capital expenditures of $20.1 million.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financing Activities</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net cash used in financing activities for 2023 of $120.3 million consisted of net long-term debt payments of $91.0 million and $29.3 million of common stock repurchases. Net long-term debt payments consisted of $141.0 million in long-term debt payments, offset by $50.0 million in proceeds from borrowing on the Company's long-term debt credit facility. The Company paid $26.0 million in the current year to repurchase of 538,575 shares under the Company's authorized share repurchase program. The remainder of the repurchased common stock of $3.3 million related to the net settlement of tax obligations for participants in the Company's equity incentive plans.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net cash used in financing activities for 2022 of $25.0 million consisted of $89.5 million of common stock repurchases, $2.0 million payment of debt issuance costs, offset by net proceeds from borrowings of $66.5 million. Repurchases of 1,997,366 shares under the Company's authorized share repurchase program totaled $85.1 million with the balance of $4.4 million of common stock repurchases related to the net settlement of tax obligations for participants in the Company's equity incentive plans.  Net proceeds from borrowings consisted of $204.5 million in proceeds from borrowing on the Company's long-term credit facility, offset by $138.0 million in payments on long-term debt.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">28</span></div></div></div><div id="i32dbd54440254257bc94c8354b78dd51_55"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:18pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Critical Accounting Estimates</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of the financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make decisions based upon estimates, assumptions, and factors it considers relevant to the circumstances. Such decisions include the selection of applicable principles and the use of judgment in their application, the results of which could differ from those anticipated.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of the Company&#8217;s significant accounting policies are described in Note 1 of the Company&#8217;s consolidated financial statements included in Part II, Item&#160;8, Financial Statements and Supplementary Data, of this Annual Report on Form 10-K.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our most critical accounting estimates that require the most difficult, subjective and complex judgments include:</span></div><div style="margin-top:6pt;padding-left:45pt;text-align:justify;text-indent:-31.5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28pt">revenue recognition on contracts with customers; </span></div><div style="padding-left:45pt;text-align:justify;text-indent:-31.5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28pt">the determination of fair value of assets acquired in significant business combination transactions; and</span></div><div style="padding-left:45pt;text-align:justify;text-indent:-31.5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28pt">the assessment of recoverability of goodwill and other indefinite-lived intangible assets.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Management reviews these estimates on a regular basis and makes adjustments based on historical experience, current conditions, and future expectations. Management believes these estimates are reasonable, but actual results could differ from these estimates.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue Recognition on Contracts with Customers</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The vast majority of the Company's sales contracts are for standard products with revenue recognized at the point in time the Company transfers control to the customer. The point in time the Company transfers control is based on when the Company determines the customer has legal title, significant risks and rewards of ownership of the asset, and the Company has a present right to payment for the product. However, revenue representing approximately 35%, 40% and 47% of the Company's 2023, 2022 and 2021 consolidated net sales, respectively, was recognized over time under the cost-to-cost method as the Company satisfied its performance obligations. This method of revenue recognition pertains to activities within the Renewables, Agtech, and Infrastructure segments.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue recognized on contracts over time using the cost-to-cost method for measuring progress is recognized as work progresses toward completion based on the ratio of cumulative costs incurred to date to estimated total contract costs at completion.  Revenues are recognized proportionally as costs are incurred under this method. Estimates of the total costs at completion for the performance obligations involve subjective judgment and estimation to determine total costs expected to be incurred by the time the performance obligation has been completed and accepted by the customer.  The estimates of total costs to be incurred at completion of each contract are sensitive to significant judgments and assumptions, such as the expected costs to complete installation, which are affected by customer site-specific conditions as well as availability and cost of third-party contractors to complete the installation process. These estimates, judgments and assumptions impact the timing and amount of net sales and cost of sales recognized on in-progress performance obligations with customers. The Company continuously reviews its estimates and the progress and performance of the performance obligation for substantially all contracts that the Company recognizes revenue over time under the cost-to-cost method.  Any adjustments or changes in these estimates affecting sales, costs and profits are recognized in the period in which the change becomes known using the cumulative catch-up method of accounting, resulting in the cumulative effect of changes reflected in the period. A significant change in an estimate on one or more contracts could have a material effect on the Company's results of operations.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract costs include all direct costs related to contract performance. Selling and administrative expenses are charged to operations as incurred. Provisions for estimated losses on uncompleted contracts are made in the period in which such losses are determined. Because of inherent uncertainties in estimating costs, it is reasonably possible that changes in performance could result in revisions to cost and revenue, which are recognized in the period when the revisions are determined.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounting for Fair Value of Assets Acquired in a Significant Business Combination</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">When the Company acquires a business, the Company allocates the purchase price to the assets acquired and liabilities assumed in the transaction at their respective estimated fair values. The Company records any premium over the fair value of net assets acquired as goodwill. Significant judgment is necessary to determine the fair value of the purchase price. The allocation of the purchase price involves judgments and estimates both in characterizing the assets and in determining their fair value. The way the Company characterizes the assets has important </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">29</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">implications, as long-lived assets with definitive lives, for example, are depreciated or amortized, whereas goodwill is tested annually for impairment, as explained above.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">With respect to determining the fair value of assets acquired in a significant business combination, the most subjective estimates involve valuations of long-lived assets, such as identified intangible assets and property, plant, and equipment.  The Company uses all available information to make these fair value determinations and engage independent valuation specialists to assist in the fair value determination of the acquired long-lived assets. The fair values of long-lived assets are determined using valuation techniques that use discounted cash flow methods, independent market appraisals, and other acceptable valuation techniques. The significant assumptions used to estimate the value of the intangible assets included discount rates, customer attrition, and certain assumptions that form the basis of the forecasted results (e.g., revenue growth rates and operating profit margin). The significant assumptions related to estimating the fair value of the intangible assets above are forward looking and could be affected by future economic market conditions.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Goodwill and Other Indefinite-lived Intangible Asset Impairment Testing</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's goodwill and indefinite-lived intangible asset balances of $513.4 million and $52.3 million, respectively, which in aggregate represent approximately 45% of total assets as of December&#160;31, 2023, are subject to impairment testing. The Company tests goodwill and indefinite-lived intangible assets for impairment on an annual basis as of October&#160;31 and at interim dates when indicators of impairment are present. Indicators of impairment could include a significant long-term adverse change in business climate, poor indicators of operating performance, or a sale or disposition of a significant portion of a reporting unit.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company tests goodwill for impairment at the reporting unit level. The Company identifies the Company's reporting units by assessing whether the components of the Company constitute businesses for which discrete financial information is available and segment management regularly reviews the operating results of those components. The Company has seven reporting units, all of which have goodwill. The Company tests its indefinite-lived intangible assets for impairment by comparing the fair value of the indefinite-lived intangible asset, determined using a discounted cash flow model, with its carrying amount. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During interim periods, the Company evaluates the potential for goodwill and indefinite-lived intangible asset impairment using a qualitative assessment by considering factors such as, but not limited to, macroeconomic conditions, industry conditions, the competitive environment, changes in the market for the Company's products and services, regulatory and political developments, entity specific factors such as strategy, changes in key personnel, and overall financial performance. Upon completing this assessment, if it is determined that it is more likely than not that the fair value is less than its carrying value, the Company proceeds to a quantitative impairment test.  During the interim periods of 2023, the Company concluded that no indicators of impairment existed at interim dates and did not perform any quantitative interim impairment tests related to goodwill and indefinite-lived intangible assets.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company conducts its annual impairment test as of October&#160;31, during which the Company tests goodwill and other indefinite-lived intangible assets for impairment. On an annual basis, the quantitative goodwill impairment test consists of comparing the fair value of a reporting unit with the carrying amount of the reporting unit including goodwill. If the carrying amount of the reporting unit exceeds the reporting unit&#8217;s fair value, an impairment loss is recognized in the amount by which the carrying value of the reporting unit exceeds the fair value of the reporting unit. The assumptions used to determine the fair value of the Company's indefinite-lived intangible assets are consistent with the assumptions employed in the determination of the fair values of the Company's reporting units. An impairment loss would be recognized for the carrying amount in excess of its fair value. The fair values of the impaired trademarks were determined using an income approach consisting of the relief-from-royalty method.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The annual quantitative impairment tests require subjective and complex judgment due to the significant estimation required in determining the fair value of the reporting units and the fair value of indefinite-lived intangible assets. Reporting unit fair value estimates include significant assumptions such as: revenue growth rates, operating margins, estimated royalty rates, company-specific risk premiums used in the weighted-average cost of capital, and EBITDA multiples, which are affected by expectations about future market or economic conditions. The Company performs sensitivity analyses on significant assumptions to evaluate how changes in the estimated fair values of reporting units and indefinite-lived intangible assets respond to changes in assumptions, specifically the revenue growth rates and the weighted-average cost of capital.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">30</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of the Company's quantitative testing, none of the reporting units as of the Company's testing date had carrying values in excess of their fair values, nor were any of the reporting units "at-risk" of impairment. The Company quantitatively defines "at risk" as a percentage of the excess of the reporting unit's fair value over its carrying amount that is less than 10%.  An "at risk" reporting unit qualitatively represents a reporting unit with a higher degree of uncertainty of the reporting unit's ability to meet its forecasted cash flows based upon revenue growth rate and operating margin assumptions relied upon in the estimation of its fair value. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no impairment charges against goodwill recorded during the years ended December 31, 2023, 2022, and 2021.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognized intangible asset impairment charges of $3.8 million during the year ended December 31, 2023 related to indefinite-lived trademark intangible assets due to a rebranding initiative that resulted in the discontinuation of certain indefinite-lived trademarks in the Agtech segment, along with the write-off of amortizing intangibles related to a discontinued product line in the Renewables segment. The Company recognized no impairment charges related to intangible assets during the year ended December 31, 2022. The Company recognized $8.3 million of impairment charges on its indefinite-lived intangible assets during the year ended December 31, 2021 due to a rebranding initiative resulting in the discontinuation of two indefinite-lived trademarks in the Agtech segment.</span></div><div id="i32dbd54440254257bc94c8354b78dd51_58"></div><div style="margin-top:18pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recent Accounting Pronouncements</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">New accounting pronouncements are issued periodically that affect the Company's current and future operations.  See Note 1 to the Company's consolidated financial statements in Part II, Item 8, Financial Statements and Supplementary Data, of this Annual Report on Form 10-K for further information on recent accounting pronouncements in accordance with U.S. generally accepted accounting principles.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_61"></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:7.684%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:90.116%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Item&#160;7A.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%;text-decoration:underline">Quantitative and Qualitative Disclosures about Market Risk</span></td></tr></table></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the ordinary course of business, the Company is exposed to various market risk factors, including changes in general economic conditions, competition, and raw materials pricing and availability. In addition, the Company is exposed to other financial market risks, primarily related to its long-term debt and foreign operations.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Raw Material Pricing Risk</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is subject to market risk exposure related to volatility in the price of the Company's principal raw materials of steel, aluminum and resins, which are cyclical in nature and have been historically volatile.  Exposure to commodity price fluctuations are generally managed through alignment of the Company's materials costs with pricing to customers by passing increases in raw material costs through to customers and maintaining inventory levels not in excess of the Company's production requirements. The Company may experience unfavorable cost-price alignment if increases in these raw material costs cannot be partially or fully passed on to customers, or if the timing of price increases lags behind the raw material cost increases. The Company cannot accurately calculate the pre-tax impact a one percent change in the commodity costs would have on the Company's 2023 operating results as the change in commodity costs would both impact the cost to purchase materials and the selling prices the Company offers to customers.  The impact to the Company's operating results would significantly depend on the competitive environment and the costs of other alternative products, which could impact the Company's ability to pass commodity costs to customers.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Interest Rate Risk</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company currently utilizes variable interest rate debt to manage interest rate risk, and would consider utilizing fixed rate debt if borrowings were expected to be outstanding for an extended period of time. In order to manage interest rate risk, the Company will continue to monitor changes in its debt levels and access to capital ensuring interest rate risk is appropriately managed.  At December&#160;31, 2023, the Company's available variable rate debt consisted of borrowings under the Company's Credit Agreement, of which there was no outstanding indebtedness on the revolving credit facility as of December&#160;31, 2023 and there was no other debt outstanding at year end. Borrowings under the revolving credit facility during the year ended December 31, 2023 bore interest at a variable interest rate based upon, at the Company's option, at a rate equal to an additional margin plus (a) a base rate, (b) a daily simple SOFR rate, (c) a term SOFR rate or (d) for certain foreign currencies, a foreign current rate. A </span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">31</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">hypothetical 1% increase or decrease in interest rates would have changed the Company's 2023 interest expense by $0.4 million.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Foreign Exchange Risk</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has foreign exchange risk due to the Company's international operations, primarily in Canada, and through sales to and purchases from foreign customers and vendors.  Changes in the values of currencies of foreign countries affect the Company's financial position and cash flows when translated into U.S. dollars. The Company principally manages its exposures to many of these foreign exchange rate risks solely through management of its core business activities. The Company cannot accurately calculate the pre-tax impact that a one percent change in the exchange rates of foreign currencies would have on the Company's 2023 operating results as the changes in exchange rates would impact the cost of materials, the U.S. dollar revenue equivalents, and potentially the prices offered to overseas customers.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">32</span></div></div></div><div id="i32dbd54440254257bc94c8354b78dd51_64"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:7.684%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:90.116%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Item&#160;8.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%;text-decoration:underline">Financial Statements and Supplementary Data</span></td></tr></table></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:87.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.191%"/><td style="width:0.1%"/></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Page&#160;<br/>Number</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">Financial Statements:</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:18pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_67">Report of Independent Registered Public Accounting Firm</a></span><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (PCAOB ID: <ix:nonNumeric contextRef="c-1" name="dei:AuditorFirmId" id="f-37">42</ix:nonNumeric>)</span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_67">34</a></span></div></td></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:18pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_70">Consolidated Statements of </a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_70">Income</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_70"> for the Years Ended December&#160;31, 202</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_70">3</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_70">, 202</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_70">2</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_70">, and 202</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_70">1</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_70">36</a></span></div></td></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:18pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_73">Consolidated Statements of Comprehensive Income for the Years Ended December&#160;31, 202</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_73">3</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_73">, 202</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_73">2</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_73">, and 202</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_73">1</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_73">37</a></span></div></td></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:18pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_76">Consolidated Balance Sheets as of December&#160;31, 202</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_76">3</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_76"> and 202</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_76">2</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_76">38</a></span></div></td></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:18pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_79">Consolidated Statements of Cash Flows for the Years Ended December&#160;31, 202</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_79">3</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_79">, 202</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_79">2</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_79">, and 202</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_79">1</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_79">39</a></span></div></td></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:18pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_82">Consolidated Statements of Stockholders&#8217; Equity for the Years Ended December&#160;31, 202</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_82">3</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_82">, 202</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_82">2</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_82">, and 202</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_82">1</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_82">40</a></span></div></td></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:18pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_85">Notes to Consolidated Financial Statements</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_85">41</a></span></div></td></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Index for Notes to Consolidated Financial Statements:</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:30pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_88">Note 1. Summary of Significant Accounting Policies</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_88">41</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:30pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_91">Note 2. Accounts Receivable, Net</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_91">46</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:30pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_94">Note 3. Revenue</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_94">46</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:30pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_97">Note 4. Inventorie</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_97">s, </a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_97">N</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_97">et</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_97">47</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:30pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_100">Note 5. Property, Plant</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_100">, </a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_100">and Equipmen</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_100">t, </a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_100">N</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_100">e</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_100">t</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_100">47</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:30pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_103">Note 6. Acquisitions</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_103">47</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:30pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_106">Note 7. Goodwill and Related Intangible Assets</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_106">50</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:30pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_109">Note 8. Accrued Expenses</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_109">51</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:30pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_112">Note 9. Debt</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_112">52</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:30pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_115">Note 10. Pension and Other Postretirement Benefits</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_115">52</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:30pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_118">Note 11. Accumulated Other Comprehensive </a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_118">(</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_118">L</a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_118">oss) </a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_118">Income</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_118">54</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:30pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_121">Note 12. Equity-Based Compensation</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_121">55</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:30pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_124">Note 13. Fair Value Measurements</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_124">58</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:30pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_127">Note 14. </a><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_127">Discontinued Operations</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_127">58</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:30pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_130">Note 15. Exit Activity Costs and Asset Impairments</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_130">59</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:30pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_133">Note 16. Income Taxes</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_133">59</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:30pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_136">Note 17. Earnings per Share</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_136">62</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:30pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_139">Note 18. Leases</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_139">62</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:30pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_142">Note 19. Commitments and Contingencies</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_142">63</a></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:30pt"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_145">Note 20. Segment Information</a></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:right"><span style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0e32e1;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_145">63</a></span></div></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-bottom:17pt;margin-top:12pt"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">33</span></div></div></div><div id="i32dbd54440254257bc94c8354b78dd51_67"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:18pt;text-align:center"><span><br/></span></div><div style="margin-top:18pt;text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Report of Independent Registered Public Accounting Firm</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To the Stockholders and the Board of Directors of Gibraltar Industries, Inc.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Opinion on the Financial Statements</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have audited the accompanying consolidated balance sheets of Gibraltar Industries, Inc. (the Company)</span><span style="color:#333333;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">as of December 31, 2023 and 2022, the related consolidated statements of income, comprehensive income, stockholders' equity and cash flows for each of the three years in the period ended December 31, 2023, and the related notes (collectively referred to as the &#8220;consolidated financial statements&#8221;). In our opinion, the consolidated financial statements present fairly, in all material respects, the financial position of the Company at December 31, 2023 and 2022, and the results of its operations and its cash flows for each of the three years in the period ended December 31, 2023, in conformity with U.S. generally accepted accounting principles.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We also have audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the Company's internal control over financial reporting as of December 31, 2023, based on criteria established in Internal Control&#8211;Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission (2013 framework), and our report dated February 21, 2024 expressed an unqualified opinion thereon.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basis for Opinion</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">These financial statements are the responsibility of the Company's management. Our responsibility is to express an opinion on the Company&#8217;s financial statements based on our audits. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Critical Audit Matter </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The critical audit matter communicated below is a matter arising from the current period audit of the financial statements that was communicated or required to be communicated to the audit committee and that: (1) relates to accounts or disclosures that are material to the financial statements and (2) involved our especially challenging, subjective or complex judgments. The communication of the critical audit matter does not alter in any way our opinion on the consolidated financial statements, taken as a whole, and we are not, by communicating the critical audit matter below, providing a separate opinion on the critical audit matter or on the accounts or disclosures to which it relates.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">34</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:12.809%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.996%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:82.795%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue Recognition on Contracts</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Description of the Matter</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the year ended December 31, 2023, the amount of revenue recognized over time was $484 million. As discussed in Note 1 to the consolidated financial statements, for contracts with customers with respect to which the Company satisfies a performance obligation over time, the Company recognizes revenue based on the extent of progress towards completion of the performance obligation using the cost-to-cost measure of progress. Auditing management&#8217;s estimates to complete for certain components is especially subjective due to significant judgment required in estimating the remaining costs to complete. Factors inherent in the estimation process include direct labor hours, direct material costs, and other direct costs. Due to uncertainties attributed to such factors, a significant change in an estimate on one or more contracts could have a material effect on the Company&#8217;s results of operations.</span></div><div style="text-align:justify"><span><br/></span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">How We Addressed the Matter in Our Audit</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We obtained an understanding, evaluated the design and tested the operating effectiveness of controls that address the risks of material misstatement relating to the measurement and valuation of the Company&#8217;s review of estimated costs to complete, including the determination of the underlying significant assumptions and the completeness and accuracy of the open contracts reviewed. For example, we tested controls over management&#8217;s quarterly review of the cost estimates, monthly review of open contracts and completed contracts, and review over the cost estimates used to develop initial cost estimates on projects.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To test the amount of revenue recognized from contracts, our audit procedures included, among others, assessing whether the performance obligations identified were appropriately recognized on an over time basis through inspection of the contract and inquiry from program management regarding the nature and scope of work and testing the completeness and accuracy of the data underlying the determination of the amount of revenue recognized in the current period. To assess the over time revenue recognition, we tested that the actual costs incurred on the project are complete and accurate through agreement to supporting evidence. Our testing of the assumptions included a combination of confirmation of contract terms, billings, and project status directly with customers, inquiries of the program management and financial personnel, inspection of evidence to support future estimated costs,  performance of an analysis of actual gross margin on completed contracts compared to prior estimates, evaluation of subsequent year-end expenses incurred on projects, and assessment of the historical accuracy of management&#8217;s estimates by analyzing changes in project gross margins during project lifecycles and determining if those changes were driven by cost factors that should have been known or could have been reasonably estimated at project inception. </span></div><div style="text-align:justify"><span><br/></span></div></td></tr><tr style="height:9pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span><br/></span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">/s/ <ix:nonNumeric contextRef="c-1" name="dei:AuditorName" id="f-38">Ernst &amp; Young LLP</ix:nonNumeric></span></div><div style="padding-left:288pt;text-align:justify;text-indent:36pt"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have served as the Company&#8216;s auditor since 2005.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonNumeric contextRef="c-1" name="dei:AuditorLocation" id="f-39">Boston, Massachusetts</ix:nonNumeric> </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February 21, 2024</span></div><div style="margin-bottom:17pt;margin-top:17pt"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">35</span></div></div></div><div id="i32dbd54440254257bc94c8354b78dd51_70"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">GIBRALTAR INDUSTRIES, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CONSOLIDATED STATEMENTS OF INCOME</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands, except per share data)</span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:59.222%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.640%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Years Ended December&#160;31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-40">1,377,736</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-41">1,389,966</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-42">1,339,783</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of sales</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-43">1,015,770</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-44">1,071,272</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:CostOfRevenue" format="ixt:num-dot-decimal" scale="3" id="f-45">1,049,772</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross profit</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="f-46">361,966</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="f-47">318,694</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:GrossProfit" format="ixt:num-dot-decimal" scale="3" id="f-48">290,011</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general, and administrative expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:SellingGeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-49">207,440</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:SellingGeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-50">188,592</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:SellingGeneralAndAdministrativeExpense" format="ixt:num-dot-decimal" scale="3" id="f-51">184,723</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible asset impairment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:GoodwillAndIntangibleAssetImpairment" format="ixt:num-dot-decimal" scale="3" id="f-52">3,797</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:GoodwillAndIntangibleAssetImpairment" format="ixt:fixed-zero" scale="3" id="f-53">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:GoodwillAndIntangibleAssetImpairment" format="ixt:num-dot-decimal" scale="3" id="f-54">8,300</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income from operations</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-55">150,729</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-56">130,102</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-57">96,988</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense, net</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:InterestIncomeExpenseNet" format="ixt:num-dot-decimal" scale="3" id="f-58">3,002</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:InterestIncomeExpenseNet" format="ixt:num-dot-decimal" scale="3" id="f-59">4,047</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" sign="-" name="us-gaap:InterestIncomeExpenseNet" format="ixt:num-dot-decimal" scale="3" id="f-60">1,639</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other (income) expense </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OtherIncome" format="ixt:num-dot-decimal" scale="3" id="f-61">1,265</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:OtherIncome" format="ixt:num-dot-decimal" scale="3" id="f-62">14,565</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OtherIncome" format="ixt:num-dot-decimal" scale="3" id="f-63">4,213</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income before taxes</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-64">148,992</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-65">111,490</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-66">99,562</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision for income taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-67">38,459</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-68">29,084</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-69">25,046</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income from continuing operations</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperations" format="ixt:num-dot-decimal" scale="3" id="f-70">110,533</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperations" format="ixt:num-dot-decimal" scale="3" id="f-71">82,406</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperations" format="ixt:num-dot-decimal" scale="3" id="f-72">74,516</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Discontinued operations:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income before taxes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" format="ixt:fixed-zero" scale="3" id="f-73">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" format="ixt:fixed-zero" scale="3" id="f-74">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" format="ixt:num-dot-decimal" scale="3" id="f-75">1,479</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision for income taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation" format="ixt:fixed-zero" scale="3" id="f-76">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation" format="ixt:fixed-zero" scale="3" id="f-77">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation" scale="3" id="f-78">366</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income from discontinued operations</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity" format="ixt:fixed-zero" scale="3" id="f-79">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity" format="ixt:fixed-zero" scale="3" id="f-80">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity" format="ixt:num-dot-decimal" scale="3" id="f-81">1,113</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-82">110,533</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-83">82,406</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-84">75,629</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net earnings per share &#8211; Basic:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income from continuing operations</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:IncomeLossFromContinuingOperationsPerBasicShare" scale="0" id="f-85">3.61</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-4" decimals="2" name="us-gaap:IncomeLossFromContinuingOperationsPerBasicShare" scale="0" id="f-86">2.57</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-5" decimals="2" name="us-gaap:IncomeLossFromContinuingOperationsPerBasicShare" scale="0" id="f-87">2.27</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income from discontinued operations</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare" format="ixt:fixed-zero" scale="0" id="f-88">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-4" decimals="2" name="us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare" format="ixt:fixed-zero" scale="0" id="f-89">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-5" decimals="2" name="us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare" scale="0" id="f-90">0.03</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-91">3.61</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-4" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-92">2.57</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-5" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="f-93">2.30</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares outstanding &#8211; Basic</span></td><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-94">30,626</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-95">32,096</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-5" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-96">32,873</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net earnings per share &#8211; Diluted:</span></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income from continuing operations</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare" scale="0" id="f-97">3.59</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-4" decimals="2" name="us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare" scale="0" id="f-98">2.56</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-5" decimals="2" name="us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare" scale="0" id="f-99">2.25</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income from discontinued operations</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare" format="ixt:fixed-zero" scale="0" id="f-100">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-4" decimals="2" name="us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare" format="ixt:fixed-zero" scale="0" id="f-101">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-5" decimals="2" name="us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare" scale="0" id="f-102">0.04</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-103">3.59</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-4" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-104">2.56</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-5" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="f-105">2.29</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares outstanding &#8211; Diluted</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-106">30,785</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-107">32,192</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-5" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-108">33,054</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div><span><br/></span></div><div style="margin-bottom:17pt;margin-top:17pt"><span><br/></span></div><div style="margin-bottom:17pt;margin-top:17pt"><span><br/></span></div><div style="margin-bottom:17pt;margin-top:17pt"><span><br/></span></div><div style="margin-bottom:17pt;margin-top:17pt"><span><br/></span></div><div style="margin-bottom:17pt;margin-top:17pt"><span><br/></span></div><div style="margin-bottom:17pt;margin-top:17pt"><span><br/></span></div><div style="margin-bottom:17pt;margin-top:17pt;text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">See accompanying notes to consolidated financial statements.</span></div><div style="height:54pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">36</span></div></div></div><div id="i32dbd54440254257bc94c8354b78dd51_73"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">GIBRALTAR INDUSTRIES, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:55.396%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.914%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.529%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.914%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.529%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.918%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Years Ended December&#160;31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-109"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-110">110,533</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-111">82,406</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-112">75,629</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other comprehensive income (loss):</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation adjustment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-113">1,204</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-114">5,022</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-115">2,512</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Adjustment to postretirement benefit liability, net of tax</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" scale="3" id="f-116">114</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-117">1,403</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" scale="3" id="f-118">136</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other comprehensive income (loss)</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-119">1,318</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-120">3,619</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-121">2,648</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total comprehensive income</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-122">111,851</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-123">78,787</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:ComprehensiveIncomeNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-124">78,277</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div style="margin-bottom:17pt;margin-top:17pt;text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">See accompanying notes to consolidated financial statements.</span></div><div style="height:54pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">37</span></div></div></div><div id="i32dbd54440254257bc94c8354b78dd51_76"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">GIBRALTAR INDUSTRIES, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CONSOLIDATED BALANCE SHEETS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:70.391%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.791%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Assets</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current assets:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-125">99,426</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" format="ixt:num-dot-decimal" scale="3" id="f-126">17,608</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable, net of allowance of $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-127">5,572</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-128">3,746</ix:nonFraction>, respectively</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="f-129">224,550</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="f-130">217,156</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inventories, net</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="f-131">120,503</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="f-132">170,360</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:OtherAssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-133">17,772</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:OtherAssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-134">18,813</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total current assets</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:AssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-135">462,251</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:AssetsCurrent" format="ixt:num-dot-decimal" scale="3" id="f-136">423,937</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property, plant, and equipment, net</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="f-137">107,603</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="f-138">109,584</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="f-139">44,918</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:OperatingLeaseRightOfUseAsset" format="ixt:num-dot-decimal" scale="3" id="f-140">26,502</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-141">513,383</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-142">512,363</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquired intangibles</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" format="ixt:num-dot-decimal" scale="3" id="f-143">125,980</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" format="ixt:num-dot-decimal" scale="3" id="f-144">137,526</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:OtherAssetsNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-145">2,316</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="f-146">701</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-147">1,256,451</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-148">1,210,613</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Liabilities and Stockholders&#8217; Equity</span></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current liabilities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:AccountsPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-149">92,124</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:AccountsPayableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-150">106,582</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued expenses</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:AccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-151">88,719</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:AccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-152">73,721</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Billings in excess of costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ContractWithCustomerLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="f-153">44,735</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:ContractWithCustomerLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="f-154">35,017</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total current liabilities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:LiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-155">225,578</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:LiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-156">215,320</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term debt</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:LongTermDebtNoncurrent" format="ixt:fixed-zero" scale="3" id="f-157">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:LongTermDebtNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-158">88,762</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred income taxes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" format="ixt:num-dot-decimal" scale="3" id="f-159">57,103</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" format="ixt:num-dot-decimal" scale="3" id="f-160">47,088</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-current operating lease liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-161">35,989</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:OperatingLeaseLiabilityNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-162">19,041</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other non-current liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:OtherLiabilitiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-163">22,783</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:OtherLiabilitiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-164">18,303</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stockholders&#8217; equity:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Preferred stock, $<ix:nonFraction unitRef="usdPerShare" contextRef="c-8" decimals="INF" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="f-165"><ix:nonFraction unitRef="usdPerShare" contextRef="c-7" decimals="INF" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="f-166">0.01</ix:nonFraction></ix:nonFraction> par value; authorized <ix:nonFraction unitRef="shares" contextRef="c-7" decimals="-3" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="f-167"><ix:nonFraction unitRef="shares" contextRef="c-8" decimals="-3" name="us-gaap:PreferredStockSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="f-168">10,000</ix:nonFraction></ix:nonFraction> shares; <ix:nonFraction unitRef="shares" contextRef="c-8" decimals="INF" name="us-gaap:PreferredStockSharesOutstanding" format="ixt:fixed-zero" scale="0" id="f-169"><ix:nonFraction unitRef="shares" contextRef="c-7" decimals="INF" name="us-gaap:PreferredStockSharesOutstanding" format="ixt:fixed-zero" scale="0" id="f-170">none</ix:nonFraction></ix:nonFraction> outstanding</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:PreferredStockValue" format="ixt:fixed-zero" scale="3" id="f-171">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:PreferredStockValue" format="ixt:fixed-zero" scale="3" id="f-172">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Common stock, $<ix:nonFraction unitRef="usdPerShare" contextRef="c-8" decimals="2" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="f-173"><ix:nonFraction unitRef="usdPerShare" contextRef="c-7" decimals="2" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="f-174">0.01</ix:nonFraction></ix:nonFraction> par value; authorized <ix:nonFraction unitRef="shares" contextRef="c-8" decimals="-3" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="f-175"><ix:nonFraction unitRef="shares" contextRef="c-7" decimals="-3" name="us-gaap:CommonStockSharesAuthorized" format="ixt:num-dot-decimal" scale="3" id="f-176">100,000</ix:nonFraction></ix:nonFraction> shares; <ix:nonFraction unitRef="shares" contextRef="c-7" decimals="-3" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="3" id="f-177"><ix:nonFraction unitRef="shares" contextRef="c-7" decimals="-3" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-178">34,219</ix:nonFraction></ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="c-8" decimals="-3" name="us-gaap:CommonStockSharesIssued" format="ixt:num-dot-decimal" scale="3" id="f-179"><ix:nonFraction unitRef="shares" contextRef="c-8" decimals="-3" name="us-gaap:CommonStockSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-180">34,060</ix:nonFraction></ix:nonFraction> shares issued and outstanding in 2023 and 2022</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="f-181">342</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="f-182">340</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Additional paid-in capital</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:AdditionalPaidInCapital" format="ixt:num-dot-decimal" scale="3" id="f-183">332,621</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:AdditionalPaidInCapital" format="ixt:num-dot-decimal" scale="3" id="f-184">322,873</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Retained earnings</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:RetainedEarningsAccumulatedDeficit" format="ixt:num-dot-decimal" scale="3" id="f-185">738,511</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:RetainedEarningsAccumulatedDeficit" format="ixt:num-dot-decimal" scale="3" id="f-186">627,978</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accumulated other comprehensive loss</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-187">2,114</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-188">3,432</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of <ix:nonFraction unitRef="shares" contextRef="c-7" decimals="-3" name="us-gaap:TreasuryStockCommonShares" format="ixt:num-dot-decimal" scale="3" id="f-189">3,778</ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="c-8" decimals="-3" name="us-gaap:TreasuryStockCommonShares" format="ixt:num-dot-decimal" scale="3" id="f-190">3,199</ix:nonFraction> common shares held in treasury in 2023 and 2022</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:TreasuryStockValue" format="ixt:num-dot-decimal" scale="3" id="f-191">154,362</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:TreasuryStockValue" format="ixt:num-dot-decimal" scale="3" id="f-192">125,660</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total stockholders&#8217; equity</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-193">914,998</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-194">822,099</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:LiabilitiesAndStockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-195">1,256,451</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:LiabilitiesAndStockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-196">1,210,613</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div><span><br/></span></div><div><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">See accompanying notes to consolidated financial statements.</span></div><div style="height:54pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">38</span></div></div></div><div id="i32dbd54440254257bc94c8354b78dd51_79"></div><hr style="page-break-after:always"/><div style="min-height:45pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">GIBRALTAR INDUSTRIES, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CONSOLIDATED STATEMENTS OF CASH FLOWS</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></div><div style="margin-bottom:6pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:59.222%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.640%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Years Ended December&#160;31,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Cash Flows from Operating Activities</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income </span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-197">110,533</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-198">82,406</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-199">75,629</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income from discontinued operations</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity" format="ixt:fixed-zero" scale="3" id="f-200">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity" format="ixt:fixed-zero" scale="3" id="f-201">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity" format="ixt:num-dot-decimal" scale="3" id="f-202">1,113</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income from continuing operations</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperations" format="ixt:num-dot-decimal" scale="3" id="f-203">110,533</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperations" format="ixt:num-dot-decimal" scale="3" id="f-204">82,406</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperations" format="ixt:num-dot-decimal" scale="3" id="f-205">74,516</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="18" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Adjustments to reconcile net income to net cash provided by operating activities:</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Depreciation and amortization</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-206">27,378</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-207">26,167</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-208">31,966</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible asset impairment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:GoodwillAndIntangibleAssetImpairment" format="ixt:num-dot-decimal" scale="3" id="f-209">3,797</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:GoodwillAndIntangibleAssetImpairment" format="ixt:fixed-zero" scale="3" id="f-210">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:GoodwillAndIntangibleAssetImpairment" format="ixt:num-dot-decimal" scale="3" id="f-211">8,300</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock compensation expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-212">9,750</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:ShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-213">8,334</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:ShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-214">8,652</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exit activity costs, non-cash</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:AmortizationOfFinancingCostsAndDiscounts" format="ixt:num-dot-decimal" scale="3" id="f-215">2,771</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AmortizationOfFinancingCostsAndDiscounts" format="ixt:num-dot-decimal" scale="3" id="f-216">16,266</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AmortizationOfFinancingCostsAndDiscounts" format="ixt:num-dot-decimal" scale="3" id="f-217">1,193</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision for deferred income taxes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:DeferredIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-218">10,800</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DeferredIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-219">6,337</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DeferredIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-220">2,968</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other, net</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:OtherNoncashIncomeExpense" format="ixt:num-dot-decimal" scale="3" id="f-221">12,492</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:OtherNoncashIncomeExpense" format="ixt:num-dot-decimal" scale="3" id="f-222">1,506</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" sign="-" name="us-gaap:OtherNoncashIncomeExpense" format="ixt:num-dot-decimal" scale="3" id="f-223">1,570</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="18" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Changes in operating assets and liabilities net of effects from acquisitions:</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsReceivable" format="ixt:num-dot-decimal" scale="3" id="f-224">15,375</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccountsReceivable" format="ixt:num-dot-decimal" scale="3" id="f-225">32,754</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsReceivable" format="ixt:num-dot-decimal" scale="3" id="f-226">41,887</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inventories</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInInventories" format="ixt:num-dot-decimal" scale="3" id="f-227">45,908</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInInventories" format="ixt:num-dot-decimal" scale="3" id="f-228">14,377</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:IncreaseDecreaseInInventories" format="ixt:num-dot-decimal" scale="3" id="f-229">85,763</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other current assets and other assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" scale="3" id="f-230">514</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" format="ixt:num-dot-decimal" scale="3" id="f-231">2,062</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" scale="3" id="f-232">426</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccountsPayable" format="ixt:num-dot-decimal" scale="3" id="f-233">14,387</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInAccountsPayable" format="ixt:num-dot-decimal" scale="3" id="f-234">76,260</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:IncreaseDecreaseInAccountsPayable" format="ixt:num-dot-decimal" scale="3" id="f-235">38,367</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued expenses and other non-current liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncreaseDecreaseInOtherAccruedLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-236">24,295</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInOtherAccruedLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-237">11,258</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" sign="-" name="us-gaap:IncreaseDecreaseInOtherAccruedLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-238">14,384</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net cash provided by operating activities of continuing operations</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations" format="ixt:num-dot-decimal" scale="3" id="f-239">218,476</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations" format="ixt:num-dot-decimal" scale="3" id="f-240">102,691</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations" format="ixt:num-dot-decimal" scale="3" id="f-241">25,072</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net cash used in operating activities of discontinued operations</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations" format="ixt:fixed-zero" scale="3" id="f-242">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations" format="ixt:fixed-zero" scale="3" id="f-243">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" sign="-" name="us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations" format="ixt:num-dot-decimal" scale="3" id="f-244">2,002</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net cash provided by operating activities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="f-245">218,476</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="f-246">102,691</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" format="ixt:num-dot-decimal" scale="3" id="f-247">23,070</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Cash Flows from Investing Activities</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Purchases of property, plant, and equipment, net</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="rock:PaymentsToAcquirePropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="f-248">13,906</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="rock:PaymentsToAcquirePropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="f-249">20,062</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="rock:PaymentsToAcquirePropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="f-250">17,491</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquisitions, net of cash acquired</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" format="ixt:num-dot-decimal" scale="3" id="f-251">9,863</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" format="ixt:num-dot-decimal" scale="3" id="f-252">51,621</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" sign="-" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" format="ixt:num-dot-decimal" scale="3" id="f-253">4,143</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net proceeds from sale of business</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested" format="ixt:num-dot-decimal" scale="3" id="f-254">8,047</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested" format="ixt:fixed-zero" scale="3" id="f-255">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested" format="ixt:num-dot-decimal" scale="3" id="f-256">38,062</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net cash (used in) provided by investing activities of continuing operations</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInInvestingActivitiesContinuingOperations" format="ixt:num-dot-decimal" scale="3" id="f-257">15,722</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInInvestingActivitiesContinuingOperations" format="ixt:num-dot-decimal" scale="3" id="f-258">71,683</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:NetCashProvidedByUsedInInvestingActivitiesContinuingOperations" format="ixt:num-dot-decimal" scale="3" id="f-259">24,714</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net cash used in investing activities of discontinued operations</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations" format="ixt:fixed-zero" scale="3" id="f-260">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations" format="ixt:fixed-zero" scale="3" id="f-261">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" sign="-" name="us-gaap:CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations" scale="3" id="f-262">176</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net cash (used in) provided by investing activities</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" format="ixt:num-dot-decimal" scale="3" id="f-263">15,722</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" format="ixt:num-dot-decimal" scale="3" id="f-264">71,683</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" format="ixt:num-dot-decimal" scale="3" id="f-265">24,538</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Cash Flows from Financing Activities</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term debt payments</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:RepaymentsOfLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-266">141,000</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:RepaymentsOfLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-267">138,000</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:RepaymentsOfLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-268">120,636</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Proceeds from long-term debt</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-269">50,000</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-270">204,500</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfLongTermDebt" format="ixt:num-dot-decimal" scale="3" id="f-271">59,500</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Payment of debt issuance costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:PaymentsOfFinancingCosts" format="ixt:fixed-zero" scale="3" id="f-272">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PaymentsOfFinancingCosts" format="ixt:num-dot-decimal" scale="3" id="f-273">2,013</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:PaymentsOfFinancingCosts" format="ixt:fixed-zero" scale="3" id="f-274">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Purchase of common stock at market prices</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:PaymentsForRepurchaseOfCommonStock" format="ixt:num-dot-decimal" scale="3" id="f-275">29,329</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PaymentsForRepurchaseOfCommonStock" format="ixt:num-dot-decimal" scale="3" id="f-276">89,494</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:PaymentsForRepurchaseOfCommonStock" format="ixt:num-dot-decimal" scale="3" id="f-277">6,497</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net proceeds from issuance of common stock</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfCommonStock" format="ixt:fixed-zero" scale="3" id="f-278">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfCommonStock" format="ixt:fixed-zero" scale="3" id="f-279">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:ProceedsFromIssuanceOfCommonStock" format="ixt:num-dot-decimal" scale="3" id="f-280">1,021</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net cash used in financing activities</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="f-281">120,329</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="f-282">25,007</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" sign="-" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" format="ixt:num-dot-decimal" scale="3" id="f-283">66,612</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Effect of exchange rate changes on cash</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="f-284">607</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-285">1,242</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" sign="-" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="f-286">201</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net increase (decrease) in cash and cash equivalents</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" format="ixt:num-dot-decimal" scale="3" id="f-287">81,818</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" format="ixt:num-dot-decimal" scale="3" id="f-288">4,759</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" sign="-" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" format="ixt:num-dot-decimal" scale="3" id="f-289">19,205</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents at beginning of year</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-290">17,608</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-291">12,849</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-10" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-292">32,054</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents at end of year</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-293">99,426</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-294">17,608</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-3" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-295">12,849</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-bottom:17pt;margin-top:12pt;text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">See accompanying notes to consolidated financial statements.</span></div><div style="height:54pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">39</span></div></div></div><div id="i32dbd54440254257bc94c8354b78dd51_82"></div><hr style="page-break-after:always"/><div style="min-height:36pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">GIBRALTAR INDUSTRIES, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CONSOLIDATED STATEMENTS OF STOCKHOLDERS&#8217; EQUITY</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(in thousands)</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:21.853%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:5.478%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.356%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.110%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.087%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:5.478%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.818%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.044%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:33pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Common Stock</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Additional<br/>Paid-In Capital</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Retained Earnings</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Accumulated<br/>Other<br/>Comprehensive<br/>(Loss) Income</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Treasury Stock</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Total<br/>Stockholders&#8217; Equity</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:12pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Shares</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Amount</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Shares</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Amount</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Balance at December 31, 2020</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-11" decimals="-3" name="us-gaap:SharesIssued" format="ixt:num-dot-decimal" scale="3" id="f-296">33,568</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-11" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-297">336</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-12" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-298">304,870</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-13" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-299">469,943</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-14" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-300">2,461</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-15" decimals="-3" name="us-gaap:SharesIssued" format="ixt:num-dot-decimal" scale="3" id="f-301">1,028</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-15" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-302">28,883</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-10" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-303">743,805</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-16" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-304">75,629</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-305">75,629</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">Foreign currency translation adjustment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-17" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-306">2,512</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-307">2,512</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">Postretirement benefit plan adjustments, net of taxes of $<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="rock:OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1" scale="3" id="f-308">43</ix:nonFraction></span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-17" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" scale="3" id="f-309">136</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" scale="3" id="f-310">136</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">Stock compensation expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-18" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-311">8,652</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-312">8,652</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">Net settlement of restricted stock units</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-19" decimals="-3" name="rock:StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement" scale="3" id="f-313">192</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-19" decimals="-3" sign="-" name="rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement" scale="3" id="f-314">2</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-18" decimals="-3" name="rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement" scale="3" id="f-315">2</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-20" decimals="-3" name="rock:StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement" scale="3" id="f-316">79</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-20" decimals="-3" name="rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement" format="ixt:num-dot-decimal" scale="3" id="f-317">6,497</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement" format="ixt:num-dot-decimal" scale="3" id="f-318">6,497</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">Awards of common stock</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-19" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesOther" scale="3" id="f-319">3</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">Stock options exercised</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-19" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="f-320">36</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-18" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="f-321">1,021</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" format="ixt:num-dot-decimal" scale="3" id="f-322">1,021</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Balance at December 31, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-21" decimals="-3" name="us-gaap:SharesIssued" format="ixt:num-dot-decimal" scale="3" id="f-323">33,799</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-21" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-324">338</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-22" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-325">314,541</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-23" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-326">545,572</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-24" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-327">187</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-25" decimals="-3" name="us-gaap:SharesIssued" format="ixt:num-dot-decimal" scale="3" id="f-328">1,107</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-25" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-329">35,380</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-330">825,258</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-26" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-331">82,406</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-332">82,406</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">Foreign currency translation adjustment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-27" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-333">5,022</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-334">5,022</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">Postretirement benefit plan adjustments, net of taxes of $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="rock:OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1" scale="3" id="f-335">449</ix:nonFraction></span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-27" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-336">1,403</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-337">1,403</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">Stock compensation expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-28" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-338">8,334</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-339">8,334</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">Net settlement of restricted stock units</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-29" decimals="-3" name="rock:StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement" scale="3" id="f-340">245</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-29" decimals="-3" sign="-" name="rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement" scale="3" id="f-341">2</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-28" decimals="-3" name="rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement" scale="3" id="f-342">2</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-30" decimals="-3" name="rock:StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement" scale="3" id="f-343">95</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-30" decimals="-3" name="rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement" format="ixt:num-dot-decimal" scale="3" id="f-344">4,404</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement" format="ixt:num-dot-decimal" scale="3" id="f-345">4,404</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">Awards of common stock</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-29" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesOther" scale="3" id="f-346">16</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">Common stock repurchased under stock repurchase program</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-30" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodShares" format="ixt:num-dot-decimal" scale="3" id="f-347">1,997</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-30" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="f-348">85,876</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="f-349">85,876</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Balance at December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-31" decimals="-3" name="us-gaap:SharesIssued" format="ixt:num-dot-decimal" scale="3" id="f-350">34,060</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-31" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-351">340</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-32" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-352">322,873</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-33" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-353">627,978</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-34" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-354">3,432</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-35" decimals="-3" name="us-gaap:SharesIssued" format="ixt:num-dot-decimal" scale="3" id="f-355">3,199</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-35" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-356">125,660</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-357">822,099</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-6" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-358"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-359">110,533</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-360">110,533</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">Foreign currency translation adjustment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-36" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-361">1,204</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-362">1,204</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">Postretirement benefit plan adjustments, net of taxes of $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="rock:OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1" scale="3" id="f-363">36</ix:nonFraction></span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-36" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" scale="3" id="f-364">114</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" scale="3" id="f-365">114</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">Stock compensation expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-37" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-366">9,750</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" format="ixt:num-dot-decimal" scale="3" id="f-367">9,750</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">Net settlement of restricted stock units</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-38" decimals="-3" name="rock:StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement" scale="3" id="f-368">151</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-38" decimals="-3" sign="-" name="rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement" scale="3" id="f-369">2</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-37" decimals="-3" name="rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement" scale="3" id="f-370">2</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-39" decimals="-3" name="rock:StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement" scale="3" id="f-371">58</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-39" decimals="-3" name="rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement" format="ixt:num-dot-decimal" scale="3" id="f-372">3,362</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement" format="ixt:num-dot-decimal" scale="3" id="f-373">3,362</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">Awards of common stock</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-38" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesOther" scale="3" id="f-374">8</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">Excise tax on repurchase of common shares</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-39" decimals="-3" name="rock:TreasuryStockValueAcquiredExciseTaxAmountCostMethod" scale="3" id="f-375">159</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="rock:TreasuryStockValueAcquiredExciseTaxAmountCostMethod" scale="3" id="f-376">159</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">Common stock repurchased under stock repurchase program</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-39" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="3" id="f-377">521</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-39" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="f-378">25,181</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:StockRepurchasedDuringPeriodValue" format="ixt:num-dot-decimal" scale="3" id="f-379">25,181</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Balance at December 31, 2023</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-40" decimals="-3" name="us-gaap:SharesIssued" format="ixt:num-dot-decimal" scale="3" id="f-380">34,219</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-40" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="f-381">342</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-41" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-382">332,621</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-42" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-383">738,511</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-43" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-384">2,114</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-44" decimals="-3" name="us-gaap:SharesIssued" format="ixt:num-dot-decimal" scale="3" id="f-385">3,778</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-44" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-386">154,362</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:StockholdersEquity" format="ixt:num-dot-decimal" scale="3" id="f-387">914,998</ix:nonFraction></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:400;line-height:100%">&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div style="margin-bottom:17pt;margin-top:17pt;text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">See accompanying notes to consolidated financial statements.</span></div><div style="height:54pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">40</span></div></div></div><div id="i32dbd54440254257bc94c8354b78dd51_85"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="text-align:center"><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">GIBRALTAR INDUSTRIES, INC.</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</span></div><div style="text-align:center"><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_88"></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(1) <ix:nonNumeric contextRef="c-1" name="us-gaap:SignificantAccountingPoliciesTextBlock" id="f-388" continuedAt="f-388-1" escape="true">SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES</ix:nonNumeric></span></div><ix:continuation id="f-388-1" continuedAt="f-388-2"><ix:nonNumeric contextRef="c-1" name="us-gaap:ConsolidationPolicyTextBlock" id="f-389" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Principles of consolidation</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The consolidated financial statements include the accounts of Gibraltar Industries, Inc. and subsidiaries (the "Company"). All intercompany accounts and transactions have been eliminated in consolidation.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:UseOfEstimates" id="f-390" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Use of estimates</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of the consolidated financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and accompanying notes. Actual results could differ from those estimates due to uncertainty in the current economic environment.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:SegmentReportingPolicyPolicyTextBlock" id="f-391" continuedAt="f-391-1" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Segment reporting</span></div></ix:nonNumeric><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="f-391-1">The Company has <ix:nonFraction unitRef="segment" contextRef="c-1" decimals="0" name="us-gaap:NumberOfReportableSegments" format="ixt-sec:numwordsen" scale="0" id="f-392">four</ix:nonFraction> reportable segments: Renewables, Residential, Agtech and Infrastructure.</ix:continuation> For further disclosure regarding the Company's reportable segments, refer to Note 20 "Segment Information."</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock" id="f-393" continuedAt="f-393-1" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Revenue recognition</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue is recognized when, or as, the Company transfers control of promised products or services to a customer in an amount that reflects the consideration the Company expects to be entitled in exchange for transferring those products or services.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Performance obligations satisfied at a point in time and significant judgments</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue from contracts with customers is recognized when the Company transfers control of the promised product at a point in time, which is determined when the customer has legal title and the significant risks and rewards of ownership of the asset, and the Company has a present right to payment for the product.  The Company allocates the transaction price, which is generally the quoted price per terms of the contract and the consideration the Company expects to receive, to each performance obligation.  These products are generally sold with rights of return and these contracts may provide other credits or incentives, which are accounted for as variable consideration.  Sales returns, allowances, and customer incentives, including rebates, are treated as reductions to the sales transaction price and based largely on an assessment of all information (i.e., historical, current and forecasted) that is reasonably available to the Company, and estimated at contract inception and updated at the end of each reporting period as additional information becomes available.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Performance obligations satisfied over time and significant judgments</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For a contract to construct an asset that the customer controls as it is being created or enhanced, or a promise to provide a product that has no alternative use to the Company and the Company has enforceable rights to payment, the Company recognizes revenue over time.  For the contracts to construct a certain asset, the Company determines that the customer controls the asset while it is being constructed.  For the contracts for products that have no alternative use and for which the Company has an enforceable right to payment, the Company identifies these products as products that are not a standard inventory item or the Company cannot readily direct the product to another customer for use without incurring a significant economic loss, or significant costs to rework the product.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company determines the transaction price for each contract based on the consideration the Company expects to receive for the promised products and services under the entire contract, which is generally the stated contract price based on an expected cost plus a margin.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the above contracts with customers with respect to which the Company satisfies a performance obligation over time, the Company recognizes revenue based on the extent of progress towards completion of the performance obligation using the cost-to-cost measure of progress.  Under the cost-to-cost measure of progress, the extent of progress toward completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation.  Revenues are recognized proportionally as costs are incurred.  Costs to fulfill a contract include all direct costs related to contract performance.  Selling and administrative expenses are charged to operations as incurred.  Provision for loss on an uncompleted performance obligation is recognized in the period in which such loss is determined.</span></div></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">41</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><ix:continuation id="f-388-2" continuedAt="f-388-3"><ix:continuation id="f-393-1"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company regularly reviews the progress under the cost-to-cost method and any adjustments are recognized as necessary.  Changes in estimates are recognized as they become known using the cumulative catch-up basis.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company also recognizes revenues from services contracts over time.  The Company recognizes revenue over time during the term of the agreement as the customer is simultaneously receiving and consuming the benefits provided throughout the Company's performance. Therefore, due to control transferring over time, the Company recognizes revenue on a straight-line basis throughout the contract period.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contract assets and contract liabilities</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract assets primarily represents revenue recognized for performance obligations that have been satisfied but for which amounts receivable have not been billed.  These are included as current assets and included within accounts receivable on the Company's consolidated balance sheets.  Contract liabilities include payments received from customers in advance of the satisfaction of performance obligations for a contract.  The Company does not consider contract advances to be significant financing components as the intent of these payments in advance are for reasons other than providing a significant financing benefit and are customary in the Company's industry.  Unearned revenue relates to payments received in advance of performance under the contract and is recognized when the Company performs under the contract. Unearned revenue is presented within accrued expenses in the Company's consolidated balance sheets.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Costs to obtain a contract with a customer</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes an asset for the incremental costs of obtaining a contract with a customer if the Company expects the benefit of those costs to be longer than one year.  If the amortization period of the asset is one year or less, the Company recognizes the incremental costs of obtaining a contract as an expense when incurred.  These incremental costs include, but are not limited to, sales commissions incurred to obtain a contract with a customer.</span></div></ix:continuation><ix:nonNumeric contextRef="c-1" name="us-gaap:CashAndCashEquivalentsPolicyTextBlock" id="f-394" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Cash and cash equivalents</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">All highly liquid investments with a maturity of three months or less are considered cash equivalents.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:TradeAndOtherAccountsReceivablePolicy" id="f-395" continuedAt="f-395-1" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Accounts receivable and allowance for doubtful accounts and contract assets</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable are composed of trade and contract receivables recorded at either the invoiced amount or costs in excess of billings, are expected to be collected within one year, and do not bear interest.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s expected loss allowance methodology for accounts receivable and costs in excess of billings (collectively "accounts receivable") is developed using historical collection experience, current and future economic and market conditions, and a review of the current status of customers' accounts receivables.  The Company is exposed to credit losses through sales of products and services.  Due to the short-term nature of such accounts receivable, the estimated amount of accounts receivable that may not be collected is based on aging of the accounts receivable balances.  Additionally, specific allowance amounts are established to record the appropriate provision for customers that no longer share risk characteristics similar with other accounts receivable. The Company&#8217;s monitoring activities include timely account reconciliation, dispute resolution, payment confirmation, consideration of customers' financial condition and macroeconomic conditions.  Balances are written off when determined to be u</span><span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ncollectible </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">after all means of collection have been exhausted and the potential for recovery is considered remote.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Estimates are used to determine the allowance. These estimates are based on assessment of anticipated payment and all other historical, current and future information that is reasonably available.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" id="f-396" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes activity recorded within the allowance for doubtful accounts and contract assets balances for the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:62.788%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.449%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.449%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.454%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Beginning balance</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-397">3,746</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-398">3,738</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-10" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-399">3,529</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Bad debt expense, net of recoveries</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ProvisionForDoubtfulAccounts" format="ixt:num-dot-decimal" scale="3" id="f-400">3,148</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:ProvisionForDoubtfulAccounts" format="ixt:num-dot-decimal" scale="3" id="f-401">1,221</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="f-402">898</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts written off against allowance and other adjustments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:FinancingReceivableAllowanceForCreditLossesWriteOffs" format="ixt:num-dot-decimal" scale="3" id="f-403">1,322</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:FinancingReceivableAllowanceForCreditLossesWriteOffs" format="ixt:num-dot-decimal" scale="3" id="f-404">1,213</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:FinancingReceivableAllowanceForCreditLossesWriteOffs" scale="3" id="f-405">689</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Ending balance</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-406">5,572</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-407">3,746</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-408">3,738</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">42</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><ix:continuation id="f-388-3" continuedAt="f-388-4"><div style="margin-top:12pt;text-align:justify"><ix:continuation id="f-395-1" continuedAt="f-395-2"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Concentrations of credit risk in accounts receivable are limited to those from significant customers that are believed to be financially sound. As of December&#160;31, 2023 and 2022, the Company's most significant customer is a home improvement retailer. The</span><span style="color:#291bff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></ix:continuation><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="f-395-2">home improvement retailer purchases from the Residential segment.</ix:continuation>  Accounts receivable as a percentage of consolidated accounts receivable from the home improvement retailer was <ix:nonFraction unitRef="number" contextRef="c-45" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="f-409">13</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="c-46" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="f-410">14</ix:nonFraction>% as of December&#160;31, 2023 and 2022, respectively.  Net sales to the home improvement retailer as a percentage of consolidated net sales were <ix:nonFraction unitRef="number" contextRef="c-47" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="f-411">13</ix:nonFraction>%, <ix:nonFraction unitRef="number" contextRef="c-48" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="f-412">14</ix:nonFraction>%, and <ix:nonFraction unitRef="number" contextRef="c-49" decimals="2" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="f-413">13</ix:nonFraction>% during the years ended December&#160;31, 2023, 2022 and 2021, respectively.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:InventoryPolicyTextBlock" id="f-414" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Inventories</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories are valued at the lower of cost or net realizable value. Cost is determined using either the first-in, first-out method or the average costing method. Shipping and handling costs are recognized as a component of cost of sales.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" id="f-415" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Property, plant, and equipment</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property, plant, and equipment are stated at cost and depreciated over their estimated useful lives using the straight-line method. Interest is capitalized in connection with construction of qualified assets. Expenditures that exceed an established dollar threshold and that extend the useful lives of assets are capitalized, while repair and maintenance costs are expensed as incurred. The estimated useful lives of land improvements, buildings, and building improvements are <ix:nonNumeric contextRef="c-50" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="f-416">15</ix:nonNumeric> to <ix:nonNumeric contextRef="c-51" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="f-417">40</ix:nonNumeric> years, while the estimated useful lives for machinery and equipment are <ix:nonNumeric contextRef="c-52" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="f-418">3</ix:nonNumeric> to <ix:nonNumeric contextRef="c-53" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:duryear" id="f-419">20</ix:nonNumeric> years.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:PropertyPlantAndEquipmentTextBlock" id="f-420" continuedAt="f-420-1" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The table below sets forth the depreciation expense recognized during the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:59.222%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.640%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation expense</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:Depreciation" format="ixt:num-dot-decimal" scale="3" id="f-421">16,139</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:Depreciation" format="ixt:num-dot-decimal" scale="3" id="f-422">14,583</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:Depreciation" format="ixt:num-dot-decimal" scale="3" id="f-423">13,110</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:BusinessCombinationsPolicy" id="f-424" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Acquisition related assets and liabilities</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounting for the acquisition of a business as a purchase transaction requires an allocation of the purchase price to the assets acquired and the liabilities assumed in the transaction at their respective estimated fair values. The most complex estimations of individual fair values are those involving long-lived assets, such as property, plant, and equipment and intangible assets. The Company uses all available information to make these fair value determinations and engages independent valuation specialists to assist in the fair value determination of the acquired long-lived assets.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock" id="f-425" continuedAt="f-425-1" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Goodwill and other intangible assets</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company tests goodwill for impairment at the reporting unit level on an annual basis at October&#160;31, or more frequently if an event occurs, or circumstances change, that indicate that the fair value of a reporting unit could be below its carrying value. The reporting units are at the component level, or one level below the operating segment level. Goodwill is assigned to each reporting unit as of the date the reporting unit is acquired.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company may elect to perform a qualitative assessment that considers economic, industry and company-specific factors for some or all of the Company's selected reporting units. If, after completing the assessment, it is determined that it is more likely than not that the fair value of a reporting unit is less than its carrying value, the Company proceeds to a quantitative test. The Company may also elect to perform a quantitative test instead of a qualitative test for any or all of the Company's reporting units.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The quantitative impairment test consists of comparing the fair value of a reporting unit, determined using two valuation techniques, to its carrying value. If the carrying value of the reporting unit exceeds its fair value, goodwill is considered impaired, and a loss measured by the excess of the carrying value of the reporting unit over the fair value of the reporting unit must be recorded.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company also tests its indefinite-lived intangible assets for impairment on an annual basis as of October&#160;31, or more frequently if an event occurs, or circumstances change, that indicate that the fair value of an indefinite-lived intangible asset could be below its carrying value. The impairment test consists of comparing the fair value of the indefinite-lived intangible asset, determined using discounted cash flows on a relief-from-royalty basis, with its carrying amount.  An impairment loss would be recognized for the carrying amount in excess of its fair value.  Acquired identifiable intangible assets are recorded at cost. Identifiable intangible assets with finite useful lives are </span></div></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">43</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><ix:continuation id="f-388-4" continuedAt="f-388-5"><ix:continuation id="f-425-1"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">amortized over their estimated useful lives. For additional disclosure of the Company's goodwill and other intangible assets refer to Note 7 "Goodwill and Related Intangible Assets."</span></div></ix:continuation><ix:nonNumeric contextRef="c-1" name="us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" id="f-426" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Impairment of long-lived assets</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-lived assets, including acquired identifiable intangible assets with finite useful lives, are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of those assets may not be recoverable.  In specific situations, when the Company has selected individual assets to be sold or scrapped, the Company obtains market value data for those specific assets and measures and records the impairment loss based on such data. Otherwise, the Company uses undiscounted cash flows to determine whether impairment exists and measures any impairment loss by approximating fair value using acceptable valuation techniques, including discounted cash flow models and third-party appraisals. For additional disclosure on impairment of the Company's long-lived assets refer to Note 7 "Goodwill and Related Intangible Assets," Note 14 "Discontinued Operations" and Note 15 "Exit Activity Costs and Asset Impairments."</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:LesseeLeasesPolicyTextBlock" id="f-427" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Leases</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company determines if an agreement is, or contains, a lease at the inception of the agreement. At lease commencement, the Company recognizes a right-of-use asset and a lease liability for leases with terms greater than twelve months.  The initial lease liability is recognized at the present value of remaining lease payments over the lease term.  Leases with an initial term of twelve months or less are not recorded on the Company's consolidated balance sheets.  The Company recognizes lease expense for operating leases on a straight-line basis over the lease term.  The Company combines lease and non-lease components, such as common area maintenance costs, in calculating the related asset and lease liabilities for all underlying asset groups.  Operating lease cost is included in income from operations and includes short-term leases and variable lease costs which are immaterial.  Current operating lease liabilities are represented within accrued expenses on the Company's consolidated balance sheets.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:DeferredChargesPolicyTextBlock" id="f-428" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Deferred charges</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred charges associated with initial costs incurred to enter into new debt arrangements are included as a component of long-term debt and are amortized as a part of interest expense over the terms of the associated debt agreements.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:AdvertisingCostsPolicyTextBlock" id="f-429" continuedAt="f-429-1" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Advertising</span></div></ix:nonNumeric><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="f-429-1">The Company expenses advertising and marketing costs as incurred.</ix:continuation> For the years ended December&#160;31, 2023, 2022 and 2021, advertising and marketing costs were $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="us-gaap:AdvertisingExpense" scale="6" id="f-430">10.0</ix:nonFraction> million, $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="us-gaap:AdvertisingExpense" scale="6" id="f-431">10.9</ix:nonFraction> million, and $<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-5" name="us-gaap:AdvertisingExpense" scale="6" id="f-432">8.0</ix:nonFraction> million, respectively.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" id="f-433" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Foreign currency transactions and translation</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The assets and liabilities of the Company&#8217;s foreign subsidiaries are translated into U.S. dollars at the rate of exchange in effect at the balance sheet date. Income and expense items are translated at the average exchange rates prevailing during the period.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:IncomeTaxPolicyTextBlock" id="f-434" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Income taxes</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The provision for income taxes is determined using the asset and liability approach. Under this approach, deferred income taxes represent the expected future tax consequences of temporary differences between the carrying amounts and tax basis of assets and liabilities. The Company records a valuation allowance to reduce deferred tax assets when uncertainty exists regarding their realization.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy" id="f-435" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Equity-based compensation</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company measures the cost of equity-based compensation based on grant date fair value and recognizes the cost over the period in which the employee is required to provide service in exchange for the award reduced by forfeitures. Equity-based compensation consists of grants of stock options, deferred stock units, common stock, restricted stock units, and performance stock units. Equity-based compensation expense is included as a component of selling, general, and administrative expenses.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:EarningsPerSharePolicyTextBlock" id="f-436" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Earnings per share</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic earnings per share is calculated by dividing net income by the weighted average number of common shares outstanding during the period. Diluted earnings per share is calculated by adjusting the weighted average number of common shares outstanding, as well as dilutive common shares which include shares issuable pursuant to equity based incentive compensation awards under the equity compensation plans described in Note 12 "Equity-Based Compensation."</span></div></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">44</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><ix:continuation id="f-388-5"><ix:nonNumeric contextRef="c-1" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="f-437" escape="true"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Recent accounting pronouncements</span></div><div style="margin-bottom:10pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Recent Accounting Pronouncements Not Yet Adopted</span></div><div style="margin-top:4pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:19.367%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:37.935%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:37.938%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Standard</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Description</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financial Statement Effect or Other Significant Matters</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ASU No. 2023-07</span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures</span></div></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In November 2023, the Financial Accounting Standards Board ("FASB") issued Accounting Standard Update ("ASU") No. 2023-07, which requires a public entity to disclose significant segment expenses and other segment items on an annual and interim basis and provide in interim periods all disclosures about a reportable segment&#8217;s profit or loss and assets that are currently required annually. Additionally, it requires a public entity to disclose the title and position of the Chief Operating Decision Maker ("CODM"). The ASU does not change how a public entity identifies its operating segments, aggregates them, or applies the quantitative thresholds to determine its reportable segments. <br/></span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The amendments in the ASU are effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024, with early adoption permitted. A public entity should apply the amendments in this ASU retrospectively to all prior periods presented in the financial statements. The Company expects this ASU to only impact its disclosures with no impacts to the Company's results of operations, cash flows and financial condition. The Company's planned date of adoption is January 1, 2024.</span></div><div style="text-align:justify"><span><br/></span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ASU No. 2023-09</span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Income Taxes (Topic 740): Improvements to Income Tax Disclosures</span></div></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2023, the FASB issued ASU No. 2023-09, which focuses on the rate reconciliation and income taxes paid.  This ASU requires a public business entity ("PBE") to disclose, on an annual basis, a tabular rate reconciliation using both percentages and currency amounts, broken out into specified categories with certain reconciling items further broken out by nature and jurisdiction to the extent those items exceed a specified threshold. In addition, all entities are required to disclose income taxes paid, net of refunds received disaggregated by federal, state/local, and foreign and by jurisdiction if the amount is at least 5% of total income tax payments, net of refunds received.<br/></span></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For PBEs, the amendments in this ASU are effective for annual periods beginning after December 15, 2024, with early adoption permitted. An entity may apply the amendments in this ASU prospectively by providing the revised disclosures for the period ending December 31, 2025 and continuing to provide the pre-ASU disclosures for the prior periods, or may apply the amendments retrospectively by providing the revised disclosures for all period presented. The Company expects this ASU to only impact the Company's disclosures with no impacts to the Company's results of operations, cash flows, and financial condition.  The Company's planned date of adoption is January 1, 2025.</span></div><div style="text-align:justify"><span><br/></span></div></td></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company determined that all other ASUs effective in or after 2023 that are not listed above are either not applicable or will not have a material impact on the Company's consolidated financial statements and related disclosures.</span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">45</span></div></div></div><div id="i32dbd54440254257bc94c8354b78dd51_91"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="padding-left:22.5pt;text-indent:-22.5pt"><span><br/></span></div><div style="padding-left:22.5pt;text-indent:-22.5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(2)  <ix:nonNumeric contextRef="c-1" name="us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" id="f-438" continuedAt="f-438-1" escape="true">ACCOUNTS RECEIVABLE, NET</ix:nonNumeric></span></div><ix:continuation id="f-438-1"><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" id="f-439" escape="true"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable at December 31 consisted of the following (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:55.938%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:20.014%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:20.015%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 4.37pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trade accounts receivable</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:AccountsReceivableGrossCurrent" format="ixt:num-dot-decimal" scale="3" id="f-440">178,087</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:AccountsReceivableGrossCurrent" format="ixt:num-dot-decimal" scale="3" id="f-441">179,170</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Costs in excess of billings</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ContractWithCustomerAssetNet" format="ixt:num-dot-decimal" scale="3" id="f-442"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:UnbilledContractsReceivable" format="ixt:num-dot-decimal" scale="3" id="f-443">52,035</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:UnbilledContractsReceivable" format="ixt:num-dot-decimal" scale="3" id="f-444">41,732</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total accounts receivables</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="rock:ContractsReceivableGrossCurrent" format="ixt:num-dot-decimal" scale="3" id="f-445">230,122</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="rock:ContractsReceivableGrossCurrent" format="ixt:num-dot-decimal" scale="3" id="f-446">220,902</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less allowance for doubtful accounts</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-447">5,572</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" format="ixt:num-dot-decimal" scale="3" id="f-448">3,746</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="f-449">224,550</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:AccountsReceivableNetCurrent" format="ixt:num-dot-decimal" scale="3" id="f-450">217,156</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Refer to Note 3 "Revenue" concerning the Company's costs in excess of billings.</span></div></ix:continuation><div style="text-align:justify"><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_94"></div><div style="padding-left:22.5pt;text-indent:-22.5pt"><span><br/></span></div><div style="padding-left:22.5pt;text-indent:-22.5pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(3)&#160;&#160;&#160;&#160;<ix:nonNumeric contextRef="c-1" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="f-451" continuedAt="f-451-1" escape="true">REVENUE</ix:nonNumeric></span></div><ix:continuation id="f-451-1" continuedAt="f-451-2"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales includes revenue from contracts with customers for designing, engineering, manufacturing and installation of solar racking systems; electrical balance of systems; roof and foundation ventilation products; centralized mail systems and electronic package solutions; rain dispersion products; trims and flashings and other accessories; retractable awnings; gutter guards; designing, engineering, manufacturing and installation of greenhouses; structural bearings; expansion joints; pavement sealant; elastomeric concrete; and bridge cable protection systems.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Refer to Note 20 "Segment Information" for additional information related to revenue recognized by timing of transfer of control by reportable segment.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Payment terms and conditions vary by contract, although terms generally include a requirement of payment within a range from <ix:nonNumeric contextRef="c-54" name="rock:ContractWithCustomerContractPaymentTerms" format="ixt-sec:durday" id="f-452">30</ix:nonNumeric> to <ix:nonNumeric contextRef="c-55" name="rock:ContractWithCustomerContractPaymentTerms" format="ixt-sec:durday" id="f-453">60</ix:nonNumeric> days, or in certain cases, up front deposits.  In circumstances where the timing of revenue recognition differs from the timing of invoicing, the Company has determined that the Company's contracts generally do not include a significant financing component. Taxes collected from customers, which are subsequently remitted to governmental authorities, are excluded from sales.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December 31, 2023, the Company's remaining performance obligations are part of contracts that have an original expected duration of <ix:nonNumeric contextRef="c-56" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" format="ixt-sec:durwordsen" id="f-454">one year</ix:nonNumeric> or less.  Additionally, as of December 31, 2023 and 2022, there were <ix:nonFraction unitRef="usd" contextRef="c-8" decimals="0" name="rock:ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract" format="ixt:fixed-zero" scale="0" id="f-455"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="0" name="rock:ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract" format="ixt:fixed-zero" scale="0" id="f-456">no</ix:nonFraction></ix:nonFraction> assets recognized related to incremental costs of obtaining a contract with a customer as the benefits of these costs are not expected to exceed <ix:nonNumeric contextRef="c-56" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" format="ixt-sec:durwordsen" id="f-457">one year</ix:nonNumeric>.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract assets consist of costs in excess of billings presented within accounts receivable in the Company's consolidated balance sheets. Contract liabilities consist of billings in excess of costs, classified as current liabilities, and unearned revenue, presented within accrued expenses, in the Company's consolidated balance sheets.  </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the ending and beginning balances of costs in excess of billings, billings in excess of cost and unearned revenue, respectively, as of December 31 (in thousands):</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" id="f-458" escape="true"><div style="margin-top:3pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"/><td style="width:51.176%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.318%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.318%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.320%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Costs in excess of billings</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ContractWithCustomerAssetNet" format="ixt:num-dot-decimal" scale="3" id="f-459"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:UnbilledContractsReceivable" format="ixt:num-dot-decimal" scale="3" id="f-460">52,035</ix:nonFraction></ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:ContractWithCustomerAssetNet" format="ixt:num-dot-decimal" scale="3" id="f-461">41,732</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-3" name="us-gaap:ContractWithCustomerAssetNet" format="ixt:num-dot-decimal" scale="3" id="f-462">54,437</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Billings in excess of costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-57" decimals="-3" name="us-gaap:ContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="f-463">44,735</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-58" decimals="-3" name="us-gaap:ContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="f-464">35,017</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-59" decimals="-3" name="us-gaap:ContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="f-465">46,711</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unearned revenue</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="f-466">3,941</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:ContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="f-467">4,572</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-3" name="us-gaap:ContractWithCustomerLiability" format="ixt:num-dot-decimal" scale="3" id="f-468">3,681</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue recognized during the years ended December 31, 2023, 2022, and 2021 that was in contract liabilities at the beginning of the respective periods was $<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-5" name="us-gaap:ContractWithCustomerAssetReclassifiedToReceivable" format="ixt:num-dot-decimal" scale="6" id="f-469">35.5</ix:nonFraction>&#160;million, $<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-5" name="us-gaap:ContractWithCustomerAssetReclassifiedToReceivable" format="ixt:num-dot-decimal" scale="6" id="f-470">44.4</ix:nonFraction>&#160;million, and $<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-5" name="us-gaap:ContractWithCustomerAssetReclassifiedToReceivable" format="ixt:num-dot-decimal" scale="6" id="f-471">53.0</ix:nonFraction>&#160;million, respectively.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The increase in costs in excess of billings as of December 31, 2023 compared to December 31, 2022 was primarily due to the timing of the Company&#8217;s right to invoice customers for performance satisfied near the end of 2023.  The increase in billings in excess of costs as of December 31, 2023 compared to December 31, 2022 was primarily due to timing and an increase in number of contracts under which the Company has billed customers in advance of the satisfaction of performance obligations in the Renewables segment near the end of 2023.  The decreases in costs </span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">46</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><ix:continuation id="f-451-2"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">in excess of billings and billings in excess of costs as of December 31, 2022 compared to December 31, 2021, respectively, were primarily due to decline in volume in the Renewables and Agtech segments in 2022 compared to 2021.</span></div></ix:continuation><div style="text-align:justify"><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_97"></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(4) <ix:nonNumeric contextRef="c-1" name="us-gaap:InventoryDisclosureTextBlock" id="f-472" continuedAt="f-472-1" escape="true">INVENTORIES, NET</ix:nonNumeric></span></div><ix:continuation id="f-472-1"><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" id="f-473" escape="true"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories at December&#160;31 consisted of the following (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:72.692%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.639%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Raw material</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:InventoryRawMaterials" format="ixt:num-dot-decimal" scale="3" id="f-474">77,489</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:InventoryRawMaterials" format="ixt:num-dot-decimal" scale="3" id="f-475">111,187</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Work-in-process</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:InventoryWorkInProcess" format="ixt:num-dot-decimal" scale="3" id="f-476">9,508</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:InventoryWorkInProcess" format="ixt:num-dot-decimal" scale="3" id="f-477">17,944</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:InventoryFinishedGoods" format="ixt:num-dot-decimal" scale="3" id="f-478">42,942</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:InventoryFinishedGoods" format="ixt:num-dot-decimal" scale="3" id="f-479">47,523</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross inventory</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:InventoryGross" format="ixt:num-dot-decimal" scale="3" id="f-480">129,939</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:InventoryGross" format="ixt:num-dot-decimal" scale="3" id="f-481">176,654</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less reserves</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:InventoryAdjustments" format="ixt:num-dot-decimal" scale="3" id="f-482">9,436</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:InventoryAdjustments" format="ixt:num-dot-decimal" scale="3" id="f-483">6,294</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total inventories</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="f-484">120,503</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:InventoryNet" format="ixt:num-dot-decimal" scale="3" id="f-485">170,360</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's gross inventory balances are reduced by reserves for excess, obsolete and slow moving inventory and estimates for determining net realizable value of the inventory that are reported on a net basis on the </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Company's consolidated balance sheets.</span></div><ix:nonNumeric contextRef="c-1" name="rock:SummaryOfSlowMovingInventoryActivityTableTextBlock" id="f-486" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes activity recorded within the reserve for excess, obsolete and slow moving inventory for the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:59.222%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.640%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:InventoryValuationReserves" format="ixt:num-dot-decimal" scale="3" id="f-487">6,179</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-3" name="us-gaap:InventoryValuationReserves" format="ixt:num-dot-decimal" scale="3" id="f-488">4,400</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-10" decimals="-3" name="us-gaap:InventoryValuationReserves" format="ixt:num-dot-decimal" scale="3" id="f-489">4,161</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Excess, obsolete and slow moving inventory expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="rock:InventoryValuationExcessObsoleteAndSlowMovingInventory" format="ixt:num-dot-decimal" scale="3" id="f-490">4,243</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="rock:InventoryValuationExcessObsoleteAndSlowMovingInventory" format="ixt:num-dot-decimal" scale="3" id="f-491">1,582</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="rock:InventoryValuationExcessObsoleteAndSlowMovingInventory" scale="3" id="f-492">215</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Scrapped inventory and other adjustments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="rock:InventoryValuationScrappedInventoryAndOtherAdjustments" format="ixt:num-dot-decimal" scale="3" id="f-493">1,044</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="rock:InventoryValuationScrappedInventoryAndOtherAdjustments" scale="3" id="f-494">197</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="rock:InventoryValuationScrappedInventoryAndOtherAdjustments" scale="3" id="f-495">24</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:InventoryValuationReserves" format="ixt:num-dot-decimal" scale="3" id="f-496">9,378</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:InventoryValuationReserves" format="ixt:num-dot-decimal" scale="3" id="f-497">6,179</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-3" name="us-gaap:InventoryValuationReserves" format="ixt:num-dot-decimal" scale="3" id="f-498">4,400</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div></ix:nonNumeric></ix:continuation><div><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_100"></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(5) <ix:nonNumeric contextRef="c-1" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock" id="f-499" continuedAt="f-499-1" escape="true">PROPERTY, PLANT, AND EQUIPMENT, NET</ix:nonNumeric></span></div><ix:continuation id="f-499-1"><ix:continuation id="f-420-1"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Components of property, plant, and equipment at December&#160;31 consisted of the following (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:72.692%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.639%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Land and land improvements</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:LandAndLandImprovements" format="ixt:num-dot-decimal" scale="3" id="f-500">4,544</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:LandAndLandImprovements" format="ixt:num-dot-decimal" scale="3" id="f-501">4,704</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Building and improvements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:BuildingsAndImprovementsGross" format="ixt:num-dot-decimal" scale="3" id="f-502">43,732</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:BuildingsAndImprovementsGross" format="ixt:num-dot-decimal" scale="3" id="f-503">43,416</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Machinery and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:MachineryAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="f-504">231,275</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:MachineryAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="f-505">223,843</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Construction in progress</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ConstructionInProgressGross" format="ixt:num-dot-decimal" scale="3" id="f-506">17,391</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:ConstructionInProgressGross" format="ixt:num-dot-decimal" scale="3" id="f-507">13,065</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property, plant, and equipment, gross</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="f-508">296,942</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentGross" format="ixt:num-dot-decimal" scale="3" id="f-509">285,028</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: accumulated depreciation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-510">189,339</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-511">175,444</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property, plant, and equipment, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="f-512">107,603</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:PropertyPlantAndEquipmentNet" format="ixt:num-dot-decimal" scale="3" id="f-513">109,584</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation></ix:continuation><div><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_103"></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(6) <ix:nonNumeric contextRef="c-1" name="us-gaap:BusinessCombinationDisclosureTextBlock" id="f-514" continuedAt="f-514-1" escape="true">ACQUISITIONS</ix:nonNumeric></span></div><ix:continuation id="f-514-1" continuedAt="f-514-2"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline">2023 Acquisition</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On July 5, 2023, the Company acquired the assets of a privately held Utah-based company that manufactures and distributes roof flashing and accessory products, and sells direct to roofing wholesalers. The results of this acquisition have been included in the Company's consolidated financial results since the date of acquisition within the Company's Residential segment.  The preliminary purchase consideration for this acquisition was $<ix:nonFraction unitRef="usd" contextRef="c-60" decimals="-5" name="us-gaap:BusinessCombinationConsiderationTransferred1" format="ixt:num-dot-decimal" scale="6" id="f-515">10.4</ix:nonFraction>&#160;million, which includes a preliminary working capital adjustment and certain other adjustments provided for in the asset purchase agreement.</span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">47</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><ix:continuation id="f-514-2" continuedAt="f-514-3"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The purchase price for the acquisition was preliminarily allocated to the assets acquired and liabilities assumed based upon their respective fair values estimated as of the date of acquisition.  The Company has commenced the process to confirm the existence, condition, and completeness of the assets acquired and liabilities assumed to establish fair value of such assets and liabilities and to determine the amount of goodwill to be recognized as of the date of acquisition.  Due to the timing of the acquisition, the Company continues to gather information supporting the acquired assets and assumed liabilities.  Accordingly, all amounts recorded are provisional.  These provisional amounts are subject to change if new information is obtained concerning facts and circumstances that existed as of the acquisition date that, if known, would have affected the measurement of the amounts recognized as of that date.  The final determination of the fair value of certain assets and liabilities will be completed within a measurement period of up to <ix:nonNumeric contextRef="c-60" name="rock:FairValueMeasurementPeriod" format="ixt-sec:durwordsen" id="f-516">one year</ix:nonNumeric> from the date of acquisition. The final values may also result in changes to depreciation and amortization expense related to certain assets such as property, plant, and equipment and acquired intangible assets.  The preliminary excess consideration was recorded as goodwill and approximated $<ix:nonFraction unitRef="usd" contextRef="c-61" decimals="-5" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="6" id="f-517">4.1</ix:nonFraction>&#160;million, all of which is deductible for tax purposes.  Goodwill represents future economic benefits arising from other assets acquired that could not be individually identified including workforce additions, growth opportunities, and increased presence in the domestic building products markets. The final purchase price allocation will be completed no later than the third quarter of fiscal year 2024.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" id="f-518" continuedAt="f-518-1" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preliminary allocation of the purchase consideration to the estimated fair value of the assets acquired and liabilities assumed is as follows as of the date of the acquisition (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:85.011%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.789%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Working capital</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-61" decimals="-3" name="rock:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital" scale="3" id="f-519">827</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property, plant, and equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-61" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" scale="3" id="f-520">195</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquired intangible assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-61" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" format="ixt:num-dot-decimal" scale="3" id="f-521">5,200</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-61" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" scale="3" id="f-522">134</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-61" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" scale="3" id="f-523">72</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-61" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-524">4,133</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair value of purchase consideration</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-61" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" format="ixt:num-dot-decimal" scale="3" id="f-525">10,417</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" id="f-526" continuedAt="f-526-1" escape="true"><div style="margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The intangible assets acquired in this acquisition consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.005%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.788%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.323%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair&#160;Value</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-Average Amortization Period</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-62" decimals="-3" name="us-gaap:FinitelivedIntangibleAssetsAcquired1" scale="3" id="f-527">300</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-62" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:duryear" id="f-528">2</ix:nonNumeric> years</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-63" decimals="-3" name="us-gaap:FinitelivedIntangibleAssetsAcquired1" format="ixt:num-dot-decimal" scale="3" id="f-529">4,900</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-63" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:duryear" id="f-530">12</ix:nonNumeric> years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-60" decimals="-3" name="us-gaap:FinitelivedIntangibleAssetsAcquired1" format="ixt:num-dot-decimal" scale="3" id="f-531">5,200</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr></table></div></ix:nonNumeric><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline">2022 Acquisition</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On August 22, 2022, the Company purchased all the issued and outstanding membership interests of Quality Aluminum Products ("QAP"), a manufacturer of aluminum and steel products including soffit, fascia, trim coil, rain carrying products and aluminum siding. The results of QAP have been included in the Company's consolidated financial results since the date of acquisition within the Company's Residential segment.  The purchase consideration for the acquisition of QAP was $<ix:nonFraction unitRef="usd" contextRef="c-64" decimals="-5" name="us-gaap:BusinessCombinationConsiderationTransferred1" format="ixt:num-dot-decimal" scale="6" id="f-532">52.1</ix:nonFraction>&#160;million, which includes a working capital adjustment and certain other adjustments provided for in the membership interest purchase agreement.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The purchase price for the acquisition was allocated to the assets acquired and liabilities assumed based upon their respective fair values estimated as of the date of acquisition.  The Company has completed the process to confirm the existence, condition, and completeness of the assets acquired and liabilities assumed to establish fair value of such assets and liabilities and to determine the amount of goodwill to be recognized as of the date of acquisition. The excess consideration was recorded as goodwill and approximated $<ix:nonFraction unitRef="usd" contextRef="c-65" decimals="-5" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="6" id="f-533">4.0</ix:nonFraction>&#160;million, all of which is deductible for tax purposes.  Goodwill represents future economic benefits arising from other assets acquired that could not be individually identified including workforce additions, growth opportunities, and increased presence in the domestic building products markets.</span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">48</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><ix:continuation id="f-514-3"><ix:continuation id="f-518-1"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The allocation of the purchase consideration to the estimated fair value of the assets acquired and liabilities assumed is as follows as of the date of the acquisition (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:85.011%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.789%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-65" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" format="ixt:num-dot-decimal" scale="3" id="f-534">1,018</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Working capital</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-65" decimals="-3" name="rock:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital" format="ixt:num-dot-decimal" scale="3" id="f-535">23,372</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property, plant, and equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-65" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-536">8,486</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquired intangible assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-65" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" format="ixt:num-dot-decimal" scale="3" id="f-537">14,700</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-65" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" format="ixt:num-dot-decimal" scale="3" id="f-538">1,813</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-66" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" format="ixt:num-dot-decimal" scale="3" id="f-539">1,295</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-65" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-540">3,991</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair value of purchase consideration</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-65" decimals="-3" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" format="ixt:num-dot-decimal" scale="3" id="f-541">52,085</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation><ix:continuation id="f-526-1"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The intangible assets acquired in this acquisition consisted of the following as of the date of acquisition (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:51.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:19.221%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:25.218%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair&#160;Value</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-Average Amortization Period</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-67" decimals="-3" name="us-gaap:IndefinitelivedIntangibleAssetsAcquired" format="ixt:num-dot-decimal" scale="3" id="f-542">2,800</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Indefinite</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-68" decimals="-3" name="us-gaap:FinitelivedIntangibleAssetsAcquired1" format="ixt:num-dot-decimal" scale="3" id="f-543">11,900</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-68" name="us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" format="ixt-sec:duryear" id="f-544">12</ix:nonNumeric> years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-69" decimals="-3" name="us-gaap:FinitelivedIntangibleAssetsAcquired1" format="ixt:num-dot-decimal" scale="3" id="f-545">14,700</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr></table></div></ix:continuation><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The acquisition of the privately held Utah-based company and the acquisition of QAP were financed primarily through borrowings under the Company's revolving credit facility. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognized costs as a component of cost of sales related to the sale of inventory at fair value as a result of allocating the purchase price of recent acquisitions. The Company also incurred certain acquisition-related costs comprised of legal and consulting fees.  These costs were recognized as a component of selling, general, and administrative expenses in the consolidated statements of income. </span></div><ix:nonNumeric contextRef="c-1" name="rock:ScheduleofBusinessCombinationCostsTableTextBlock" id="f-546" escape="true"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The acquisition-related costs consisted of the following for the years ended December 31 (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:53.445%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.562%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.562%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.565%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of sales</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-70" decimals="-3" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" scale="3" id="f-547">12</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-71" decimals="-3" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" format="ixt:num-dot-decimal" scale="3" id="f-548">1,427</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-72" decimals="-3" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" format="ixt:fixed-zero" scale="3" id="f-549">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general and administrative costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-73" decimals="-3" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" scale="3" id="f-550">253</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-74" decimals="-3" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" scale="3" id="f-551">545</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-75" decimals="-3" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" scale="3" id="f-552">949</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total acquisition related costs</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" scale="3" id="f-553">265</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" format="ixt:num-dot-decimal" scale="3" id="f-554">1,972</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:BusinessCombinationAcquisitionRelatedCosts" scale="3" id="f-555">949</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric></ix:continuation><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">49</span></div></div></div><div id="i32dbd54440254257bc94c8354b78dd51_106"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(7) <ix:nonNumeric contextRef="c-1" name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock" id="f-556" continuedAt="f-556-1" escape="true">GOODWILL AND RELATED INTANGIBLE ASSETS</ix:nonNumeric></span></div><ix:continuation id="f-556-1" continuedAt="f-556-2"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline">Goodwill</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfGoodwillTextBlock" id="f-557" escape="true"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The changes in the carrying amount of goodwill for the years ended December&#160;31 were as follows (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:33.841%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.335%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Renewables</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Residential</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Agtech</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Infrastructure</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2021</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-76" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-558">188,680</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-77" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-559">205,452</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-78" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-560">85,132</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-79" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-561">31,678</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-562">510,942</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquired goodwill</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-80" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" format="ixt:fixed-zero" scale="3" id="f-563">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-81" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" format="ixt:num-dot-decimal" scale="3" id="f-564">3,604</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-82" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" format="ixt:fixed-zero" scale="3" id="f-565">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-83" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" format="ixt:fixed-zero" scale="3" id="f-566">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" format="ixt:num-dot-decimal" scale="3" id="f-567">3,604</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Adjustment to prior year acquisition</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-80" decimals="-3" sign="-" name="us-gaap:GoodwillPurchaseAccountingAdjustments" scale="3" id="f-568">904</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-81" decimals="-3" name="us-gaap:GoodwillPurchaseAccountingAdjustments" format="ixt:fixed-zero" scale="3" id="f-569">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-82" decimals="-3" name="us-gaap:GoodwillPurchaseAccountingAdjustments" format="ixt:fixed-zero" scale="3" id="f-570">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-83" decimals="-3" name="us-gaap:GoodwillPurchaseAccountingAdjustments" format="ixt:fixed-zero" scale="3" id="f-571">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:GoodwillPurchaseAccountingAdjustments" scale="3" id="f-572">904</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-80" decimals="-3" sign="-" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" format="ixt:num-dot-decimal" scale="3" id="f-573">1,554</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-81" decimals="-3" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" format="ixt:fixed-zero" scale="3" id="f-574">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-82" decimals="-3" sign="-" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" format="ixt:num-dot-decimal" scale="3" id="f-575">1,533</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-83" decimals="-3" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" format="ixt:fixed-zero" scale="3" id="f-576">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" format="ixt:num-dot-decimal" scale="3" id="f-577">3,087</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-84" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-578">188,030</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-85" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-579">209,056</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-86" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-580">83,599</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-87" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-581">31,678</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-582">512,363</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquired goodwill</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-88" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" format="ixt:fixed-zero" scale="3" id="f-583">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-89" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" format="ixt:num-dot-decimal" scale="3" id="f-584">4,133</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-90" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" format="ixt:fixed-zero" scale="3" id="f-585">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-91" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" format="ixt:fixed-zero" scale="3" id="f-586">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:GoodwillAcquiredDuringPeriod" format="ixt:num-dot-decimal" scale="3" id="f-587">4,133</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Adjustment to prior year acquisition</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-88" decimals="-3" name="us-gaap:GoodwillPurchaseAccountingAdjustments" format="ixt:fixed-zero" scale="3" id="f-588">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-89" decimals="-3" sign="-" name="us-gaap:GoodwillPurchaseAccountingAdjustments" scale="3" id="f-589">387</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-90" decimals="-3" name="us-gaap:GoodwillPurchaseAccountingAdjustments" format="ixt:fixed-zero" scale="3" id="f-590">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-91" decimals="-3" name="us-gaap:GoodwillPurchaseAccountingAdjustments" format="ixt:fixed-zero" scale="3" id="f-591">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:GoodwillPurchaseAccountingAdjustments" scale="3" id="f-592">387</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-88" decimals="-3" sign="-" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" format="ixt:num-dot-decimal" scale="3" id="f-593">1,132</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-89" decimals="-3" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" format="ixt:fixed-zero" scale="3" id="f-594">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-90" decimals="-3" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" scale="3" id="f-595">300</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-91" decimals="-3" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" format="ixt:fixed-zero" scale="3" id="f-596">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" scale="3" id="f-597">832</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sale of business</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-88" decimals="-3" name="us-gaap:GoodwillWrittenOffRelatedToSaleOfBusinessUnit" format="ixt:num-dot-decimal" scale="3" id="f-598">2,668</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-89" decimals="-3" name="us-gaap:GoodwillWrittenOffRelatedToSaleOfBusinessUnit" format="ixt:fixed-zero" scale="3" id="f-599">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-90" decimals="-3" name="us-gaap:GoodwillWrittenOffRelatedToSaleOfBusinessUnit" format="ixt:fixed-zero" scale="3" id="f-600">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-91" decimals="-3" name="us-gaap:GoodwillWrittenOffRelatedToSaleOfBusinessUnit" format="ixt:fixed-zero" scale="3" id="f-601">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:GoodwillWrittenOffRelatedToSaleOfBusinessUnit" format="ixt:num-dot-decimal" scale="3" id="f-602">2,668</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2023</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-92" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-603">184,230</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-93" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-604">213,576</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-94" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-605">83,899</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-95" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-606">31,678</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:Goodwill" format="ixt:num-dot-decimal" scale="3" id="f-607">513,383</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill is recognized net of accumulated impairment losses of $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:GoodwillImpairedAccumulatedImpairmentLoss" scale="6" id="f-608"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-5" name="us-gaap:GoodwillImpairedAccumulatedImpairmentLoss" scale="6" id="f-609">133.2</ix:nonFraction></ix:nonFraction> million as of December&#160;31, 2023 and 2022, respectively.  <ix:nonFraction unitRef="usd" contextRef="c-4" decimals="INF" name="us-gaap:GoodwillImpairmentLoss" format="ixt:fixed-zero" scale="0" id="f-610"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="INF" name="us-gaap:GoodwillImpairmentLoss" format="ixt:fixed-zero" scale="0" id="f-611">No</ix:nonFraction></ix:nonFraction> goodwill impairment charges were recognized by the Company during 2023 or 2022.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline">Annual and Interim Impairment Testing</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company tests goodwill and indefinite-lived intangible assets for impairment on an annual basis as of October&#160;31 and at interim dates when indicators of impairment are present. In 2023, 2022 and 2021, no indicators of impairment were identified as of interim dates; therefore, no interim tests were performed.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the October 31, 2023 impairment test, the Company conducted a quantitative analysis for all <ix:nonFraction unitRef="unit" contextRef="c-96" decimals="INF" name="us-gaap:NumberOfReportingUnits" format="ixt-sec:numwordsen" scale="0" id="f-612">seven</ix:nonFraction> of the Company&#8217;s reporting units. The quantitative impairment test consists of comparing the fair value of a reporting unit with its carrying value including goodwill. The fair value of each reporting unit evaluated under the quantitative test was determined using two valuation techniques: an income approach and a market approach. Each valuation approach relies on significant assumptions including a weighted average cost of capital ("WACC") based upon the capital structure of market participants in the Company&#8217;s peer groups, projected revenue growth, forecasted cash flows, and earnings multiples based on the market value of the Company and market participants within its peer groups.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of the Company's annual testing for 2023, 2022 and 2021, <ix:nonFraction unitRef="reporting_unit" contextRef="c-1" decimals="0" name="rock:ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits" format="ixt:fixed-zero" scale="0" id="f-613"><ix:nonFraction unitRef="reporting_unit" contextRef="c-5" decimals="0" name="rock:ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits" format="ixt:fixed-zero" scale="0" id="f-614"><ix:nonFraction unitRef="reporting_unit" contextRef="c-4" decimals="0" name="rock:ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits" format="ixt:fixed-zero" scale="0" id="f-615">none</ix:nonFraction></ix:nonFraction></ix:nonFraction> of the reporting units with goodwill as of the testing date had carrying values in excess of their fair values.</span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">50</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><ix:continuation id="f-556-2"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline">Acquired Intangible Assets</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" id="f-616" escape="true"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Acquired intangible assets consisted of the following (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:45.829%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.624%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross<br/>Carrying<br/>Amount</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross<br/>Carrying<br/>Amount</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Indefinite-lived intangible assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-97" decimals="-3" name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" format="ixt:num-dot-decimal" scale="3" id="f-617">52,300</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-97" decimals="-3" name="rock:IndefiniteLivedAccumulatedAmortization" format="ixt:fixed-zero" scale="3" id="f-618">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-98" decimals="-3" name="us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill" format="ixt:num-dot-decimal" scale="3" id="f-619">55,500</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-98" decimals="-3" name="rock:IndefiniteLivedAccumulatedAmortization" format="ixt:fixed-zero" scale="3" id="f-620">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finite-lived intangible assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-99" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-621">5,773</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-99" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-622">4,714</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-100" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-623">5,448</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-100" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-624">4,481</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unpatented technology</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-101" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-625">34,133</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-101" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-626">24,295</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-102" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-627">34,163</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-102" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-628">22,037</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-103" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-629">110,649</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-103" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-630">48,088</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-104" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-631">115,125</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-104" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-632">46,557</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-105" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-633">2,376</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-105" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-634">2,154</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-106" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-635">2,371</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-106" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-636">2,006</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-637">152,931</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-638">79,251</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-639">157,107</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-640">75,081</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total acquired intangible assets</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="rock:AcquiredIntangibleAssetsTotal" format="ixt:num-dot-decimal" scale="3" id="f-641">205,231</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="rock:TotalAcquiredIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-642">79,251</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="rock:AcquiredIntangibleAssetsTotal" format="ixt:num-dot-decimal" scale="3" id="f-643">212,607</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="rock:TotalAcquiredIntangibleAssetsAccumulatedAmortization" format="ixt:num-dot-decimal" scale="3" id="f-644">75,081</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the year ended December 31, 2023, the Company recognized <span style="-sec-ix-hidden:f-645">impairment charges</span> of $<ix:nonFraction unitRef="usd" contextRef="c-107" decimals="-5" name="us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" format="ixt:num-dot-decimal" scale="6" id="f-646">3.8</ix:nonFraction>&#160;million related to indefinite-lived trademark intangible assets due to a rebranding initiative that resulted in the discontinuation of certain indefinite-lived trademarks in the Agtech segment, along with the write-off of amortizing intangibles related to a discontinued product line in the Renewables segment. The Company recognized <ix:nonFraction unitRef="usd" contextRef="c-4" decimals="INF" name="us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" format="ixt:fixed-zero" scale="0" id="f-647">no</ix:nonFraction> impairment charges related to intangible assets during the year ended December 31, 2022.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognized amortization expense related to the definite-lived intangible assets. <ix:nonNumeric contextRef="c-1" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" id="f-648" continuedAt="f-648-1" escape="true">The following table summarizes amortization expense for the years ended December&#160;31 (in thousands):</ix:nonNumeric></span></div><ix:continuation id="f-648-1"><div style="margin-top:3pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:59.047%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.694%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.535%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.694%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.535%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.695%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization expense</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="f-649">11,239</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="f-650">11,584</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:AmortizationOfIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="f-651">18,856</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" id="f-652" escape="true"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortization expense related to acquired intangible assets for the next five years ended December&#160;31 is estimated as follows (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:45.401%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.666%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.966%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.666%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.966%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.666%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.966%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.666%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.966%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.671%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2026</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2027</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2028</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization expense</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" format="ixt:num-dot-decimal" scale="3" id="f-653">10,599</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" format="ixt:num-dot-decimal" scale="3" id="f-654">10,386</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" format="ixt:num-dot-decimal" scale="3" id="f-655">9,320</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" format="ixt:num-dot-decimal" scale="3" id="f-656">7,979</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" format="ixt:num-dot-decimal" scale="3" id="f-657">7,184</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div></ix:nonNumeric></ix:continuation><div><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_109"></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(8) <ix:nonNumeric contextRef="c-1" name="us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" id="f-658" continuedAt="f-658-1" escape="true">ACCRUED EXPENSES</ix:nonNumeric></span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock" id="f-659" escape="true"><ix:continuation id="f-658-1" continuedAt="f-658-2"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued expenses at December&#160;31 consisted of the following (in thousands): </span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:72.692%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.639%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Compensation</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-660">22,893</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-661">19,277</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer rebates</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="rock:AccruedCustomerRebatesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-662">18,497</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="rock:AccruedCustomerRebatesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-663">16,768</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><span style="-sec-ix-hidden:f-664"><span style="-sec-ix-hidden:f-665">Current operating lease liability</span></span></span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:OperatingLeaseLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="f-666">10,278</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:OperatingLeaseLiabilityCurrent" format="ixt:num-dot-decimal" scale="3" id="f-667">8,620</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Product warranties</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ProductWarrantyAccrualClassifiedCurrent" format="ixt:num-dot-decimal" scale="3" id="f-668">9,139</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:ProductWarrantyAccrualClassifiedCurrent" format="ixt:num-dot-decimal" scale="3" id="f-669">6,251</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Insurance</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:AccruedInsuranceCurrent" format="ixt:num-dot-decimal" scale="3" id="f-670">6,307</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:AccruedInsuranceCurrent" format="ixt:num-dot-decimal" scale="3" id="f-671">6,440</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest and taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:AccruedIncomeTaxesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-672">5,167</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:AccruedIncomeTaxesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-673">5,696</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:OtherAccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-674">16,438</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:OtherAccruedLiabilitiesCurrent" format="ixt:num-dot-decimal" scale="3" id="f-675">10,669</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total accrued expenses</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:AccruedLiabilitiesCurrentAndNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-676">88,719</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:AccruedLiabilitiesCurrentAndNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-677">73,721</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation></ix:nonNumeric><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:continuation id="f-658-2">Accrued expenses for compensation includes salaries, benefits, and short-term or current portions of incentives and bonuses. Accrued expenses for insurance are primarily for general liability, workers&#8217; compensation and employee healthcare policies for which the Company is self-insured up to certain per-occurrence and aggregate limits.</ix:continuation> </span></div><div style="text-align:justify"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">51</span></div></div></div><div id="i32dbd54440254257bc94c8354b78dd51_112"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(9) <ix:nonNumeric contextRef="c-1" name="us-gaap:LongTermDebtTextBlock" id="f-678" continuedAt="f-678-1" escape="true">DEBT</ix:nonNumeric></span></div><ix:continuation id="f-678-1"><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company had <ix:nonFraction unitRef="usd" contextRef="c-7" decimals="INF" name="us-gaap:LongTermDebt" format="ixt:fixed-zero" scale="0" id="f-679">no</ix:nonFraction> outstanding debt as of December 31, 2023 and unamortized debt issuance costs, included in other assets on the consolidated balance sheet, were $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:DeferredFinanceCostsNet" format="ixt:num-dot-decimal" scale="6" id="f-680">1.7</ix:nonFraction>&#160;million.  As of December 31, 2022, the Company's total outstanding debt was $<ix:nonFraction unitRef="usd" contextRef="c-108" decimals="-5" name="us-gaap:LongTermDebt" format="ixt:num-dot-decimal" scale="6" id="f-681">88.8</ix:nonFraction>&#160;million, which included $<ix:nonFraction unitRef="usd" contextRef="c-108" decimals="-5" name="us-gaap:DebtInstrumentCarryingAmount" format="ixt:num-dot-decimal" scale="6" id="f-682">91.0</ix:nonFraction>&#160;million on the Company's revolving credit facility net of $<ix:nonFraction unitRef="usd" contextRef="c-108" decimals="-5" name="us-gaap:DeferredFinanceCostsNet" format="ixt:num-dot-decimal" scale="6" id="f-683">2.2</ix:nonFraction>&#160;million in unamortized debt issuance costs.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Revolving Credit Facility</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On December 8, 2022, the Company entered into a Credit Agreement (the "Credit Agreement"), and concurrently with entering into the Credit Agreement, the Company paid off all amounts owed under the Sixth Amended and Restated Credit Agreement (the "Prior Credit Agreement") dated as of January 24, 2019, which was terminated without any prepayment penalties. The Credit Agreement provides for a revolving credit facility and letters of credit in an aggregate amount equal to $<ix:nonFraction unitRef="usd" contextRef="c-109" decimals="-6" name="us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity" format="ixt:num-dot-decimal" scale="6" id="f-684">400</ix:nonFraction>&#160;million. The Company can request additional financing to increase the revolving credit facility to $<ix:nonFraction unitRef="usd" contextRef="c-109" decimals="INF" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" format="ixt:num-dot-decimal" scale="6" id="f-685">700</ix:nonFraction>&#160;million or enter into a term loan of up to $<ix:nonFraction unitRef="usd" contextRef="c-110" decimals="INF" name="us-gaap:DebtInstrumentFaceAmount" format="ixt:num-dot-decimal" scale="6" id="f-686">300</ix:nonFraction>&#160;million subject to conditions set forth in the Credit Agreement.  The Credit Agreement contains <ix:nonFraction unitRef="debtcovenant" contextRef="c-109" decimals="INF" name="rock:DebtInstrumentNumberOfDebtCovenants" format="ixt-sec:numwordsen" scale="0" id="f-687">two</ix:nonFraction> financial covenants.  As of December 31, 2023, the Company was in compliance with all financial covenants.  The Credit Agreement terminates on December 8, 2027.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Borrowings under the Credit Agreement bear interest, at the Company&#8217;s option, at a rate equal to the applicable margin plus (a) a base rate, (b) a daily simple secured overnight financing rate ("SOFR") rate, (c) a term SOFR rate or (d) for certain foreign currencies, a foreign currency rate, in each case subject to a 0% floor. Through March 31, 2023, the Credit Agreement had an initial applicable margin of <ix:nonFraction unitRef="number" contextRef="c-111" decimals="5" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="f-688">0.125</ix:nonFraction>% for base rate loans and <ix:nonFraction unitRef="number" contextRef="c-112" decimals="5" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="f-689">1.125</ix:nonFraction>% for SOFR and alternative currency loans. Thereafter, the applicable margin ranges from <ix:nonFraction unitRef="number" contextRef="c-113" decimals="5" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="f-690">0.125</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-114" decimals="2" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="f-691">1.00</ix:nonFraction>% for base rate loans and from <ix:nonFraction unitRef="number" contextRef="c-115" decimals="5" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="f-692">1.125</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-116" decimals="4" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="f-693">2.00</ix:nonFraction>% for SOFR and alternative currency loans based on the Company&#8217;s Total Net Leverage Ratio, as defined in the Credit Agreement. In addition, the Credit Agreement is subject to an annual commitment fee, payable quarterly, which was initially <ix:nonFraction unitRef="number" contextRef="c-117" decimals="4" name="us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" scale="-2" id="f-694">0.20</ix:nonFraction>% of the daily average undrawn balance of the revolving credit facility and, from and after April 1, 2023, ranges between <ix:nonFraction unitRef="number" contextRef="c-118" decimals="4" name="us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" scale="-2" id="f-695">0.20</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="c-119" decimals="4" name="us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" scale="-2" id="f-696">0.25</ix:nonFraction>% of the daily average undrawn balance of the revolving credit facility based on the Company&#8217;s Total Net Leverage Ratio.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Borrowings under the Credit Agreement are secured by the trade receivables, inventory, personal property, equipment, and general intangibles of the Company&#8217;s significant domestic subsidiaries. Capital distributions are subject to certain Total Net Leverage Ratio requirements and capped by an annual aggregate limit under the Credit Agreement.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Prior Credit Agreement provided a revolving credit facility and letters of credit in an aggregate amount equal to $<ix:nonFraction unitRef="usd" contextRef="c-120" decimals="-6" name="us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity" format="ixt:num-dot-decimal" scale="6" id="f-697">400</ix:nonFraction> million.  Interest rates on the revolving credit facility under the Prior Credit Agreement were based on LIBOR plus an additional margin that ranges from <ix:nonFraction unitRef="number" contextRef="c-121" decimals="5" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="f-698">1.125</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="c-122" decimals="4" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="f-699">2.00</ix:nonFraction>%.  In addition, the revolving credit facility under the Prior Credit Agreement was subject to an undrawn commitment fee ranging between <ix:nonFraction unitRef="number" contextRef="c-123" decimals="4" name="us-gaap:LineOfCreditFacilityCommitmentFeePercentage" scale="-2" id="f-700">0.15</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="c-124" decimals="4" name="us-gaap:LineOfCreditFacilityCommitmentFeePercentage" scale="-2" id="f-701">0.25</ix:nonFraction>% based on the Total Leverage Ratio and the daily average undrawn balance. The Prior Credit Agreement terminated on December 8, 2022.</span></div><div style="margin-top:12pt;text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Standby letters of credit of $<ix:nonFraction unitRef="usd" contextRef="c-125" decimals="-5" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" format="ixt:num-dot-decimal" scale="6" id="f-702">3.9</ix:nonFraction> million have been issued under the Credit Agreement to third parties on behalf of the Company as of December&#160;31, 2023. These letters of credit reduce the amount otherwise available under the Credit Agreement's revolving credit facility. The Company had $<ix:nonFraction unitRef="usd" contextRef="c-126" decimals="-5" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" format="ixt:num-dot-decimal" scale="6" id="f-703">396.1</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="c-127" decimals="-5" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" format="ixt:num-dot-decimal" scale="6" id="f-704">304.5</ix:nonFraction> million of availability under the revolving credit facility as of December 31, 2023 and 2022, respectively.</span></div><ix:nonNumeric contextRef="c-1" name="rock:ScheduleOfInterestCashPaymentTableTextBlock" id="f-705" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total cash paid for interest in the years ended December&#160;31 was (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:59.133%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.765%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.623%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense, net</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:InterestIncomeExpenseNet" format="ixt:num-dot-decimal" scale="3" id="f-706">3,002</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:InterestIncomeExpenseNet" format="ixt:num-dot-decimal" scale="3" id="f-707">4,047</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" sign="-" name="us-gaap:InterestIncomeExpenseNet" format="ixt:num-dot-decimal" scale="3" id="f-708">1,639</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 1.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest income </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:InterestIncomeOther" scale="3" id="f-709">679</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:InterestIncomeOther" scale="3" id="f-710">174</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:InterestIncomeOther" scale="3" id="f-711">269</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 1.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other adjustments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="rock:InterestAdjustment" scale="3" id="f-712">128</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="rock:InterestAdjustment" scale="3" id="f-713">679</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" sign="-" name="rock:InterestAdjustment" scale="3" id="f-714">345</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash paid for interest</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:InterestPaidNet" format="ixt:num-dot-decimal" scale="3" id="f-715">3,553</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:InterestPaidNet" format="ixt:num-dot-decimal" scale="3" id="f-716">3,542</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:InterestPaidNet" format="ixt:num-dot-decimal" scale="3" id="f-717">1,563</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/></tr></table></div></ix:nonNumeric></ix:continuation><div><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_115"></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(10) <ix:nonNumeric contextRef="c-1" name="us-gaap:PostemploymentBenefitsDisclosureTextBlock" id="f-718" continuedAt="f-718-1" escape="true">PENSION AND OTHER POSTRETIREMENT BENEFITS</ix:nonNumeric></span></div><ix:continuation id="f-718-1" continuedAt="f-718-2"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has a 401(k) plan in which all employees of U.S. subsidiaries are eligible to participate.</span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">52</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><ix:continuation id="f-718-2" continuedAt="f-718-3"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company contributes to a multiemployer defined benefit pension plan under the terms of a collective-bargaining agreement that covers union-represented employees.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has an unfunded postretirement healthcare plan which provides health insurance to certain retired employees and their spouses. This plan has been frozen, no current employees participate and no additional participants will be added to the plan in the future.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfCostsOfRetirementPlansTableTextBlock" id="f-719" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total expense for all retirement plans for the years ended December&#160;31 was (in thousands):</span></div><div style="margin-top:3pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:44.075%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.443%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.443%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.449%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">401(k) plan</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-128" decimals="-3" name="us-gaap:PostemploymentBenefitsPeriodExpense" format="ixt:num-dot-decimal" scale="3" id="f-720">3,804</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-129" decimals="-3" name="us-gaap:PostemploymentBenefitsPeriodExpense" format="ixt:num-dot-decimal" scale="3" id="f-721">3,580</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-130" decimals="-3" name="us-gaap:PostemploymentBenefitsPeriodExpense" format="ixt:num-dot-decimal" scale="3" id="f-722">3,196</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Multiemployer and other defined benefit and pension plans</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-131" decimals="-3" name="us-gaap:PostemploymentBenefitsPeriodExpense" scale="3" id="f-723">92</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-132" decimals="-3" name="us-gaap:PostemploymentBenefitsPeriodExpense" scale="3" id="f-724">79</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-133" decimals="-3" name="us-gaap:PostemploymentBenefitsPeriodExpense" scale="3" id="f-725">78</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Postretirement healthcare plan</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-134" decimals="-3" name="us-gaap:PostemploymentBenefitsPeriodExpense" scale="3" id="f-726">251</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-135" decimals="-3" name="us-gaap:PostemploymentBenefitsPeriodExpense" scale="3" id="f-727">342</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-136" decimals="-3" name="us-gaap:PostemploymentBenefitsPeriodExpense" scale="3" id="f-728">411</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total retirement plan expense</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:PostemploymentBenefitsPeriodExpense" format="ixt:num-dot-decimal" scale="3" id="f-729">4,147</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PostemploymentBenefitsPeriodExpense" format="ixt:num-dot-decimal" scale="3" id="f-730">4,001</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:PostemploymentBenefitsPeriodExpense" format="ixt:num-dot-decimal" scale="3" id="f-731">3,685</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's <ix:nonFraction unitRef="plan" contextRef="c-137" decimals="INF" name="rock:RetirementPlanNumberOfPlans" format="ixt-sec:numwordsen" scale="0" id="f-732">one</ix:nonFraction> multiemployer plan is underfunded and has a rehabilitation plan in place. The rehabilitation plan requires minimum contributions from the Company. Given the status of this plan, it is reasonably possible that future contributions to the plan will increase although the Company cannot reasonably estimate a possible range of increased contributions as of December&#160;31, 2023.</span></div><ix:nonNumeric contextRef="c-134" name="us-gaap:ScheduleOfNetFundedStatusTableTextBlock" id="f-733" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the changes in the accumulated postretirement benefit obligation related to the Company&#8217;s unfunded postretirement healthcare benefits at December&#160;31 (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:62.976%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.495%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.496%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Projected benefit obligation at January&#160;1</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-138" decimals="-3" name="us-gaap:DefinedBenefitPlanBenefitObligation" format="ixt:num-dot-decimal" scale="3" id="f-734">4,229</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-139" decimals="-3" name="us-gaap:DefinedBenefitPlanBenefitObligation" format="ixt:num-dot-decimal" scale="3" id="f-735">6,202</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-134" decimals="-3" name="us-gaap:DefinedBenefitPlanInterestCost" scale="3" id="f-736">194</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-135" decimals="-3" name="us-gaap:DefinedBenefitPlanInterestCost" scale="3" id="f-737">127</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Actuarial loss (gain)</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-134" decimals="-3" sign="-" name="us-gaap:DefinedBenefitPlanActuarialGainLoss" scale="3" id="f-738">59</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-135" decimals="-3" name="us-gaap:DefinedBenefitPlanActuarialGainLoss" format="ixt:num-dot-decimal" scale="3" id="f-739">1,784</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Benefits paid, net of contributions</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-134" decimals="-3" name="us-gaap:DefinedBenefitPlanBenefitObligationBenefitsPaid" scale="3" id="f-740">274</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-135" decimals="-3" name="us-gaap:DefinedBenefitPlanBenefitObligationBenefitsPaid" scale="3" id="f-741">316</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Projected benefit obligation at December&#160;31</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-140" decimals="-3" name="us-gaap:DefinedBenefitPlanBenefitObligation" format="ixt:num-dot-decimal" scale="3" id="f-742">4,208</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-138" decimals="-3" name="us-gaap:DefinedBenefitPlanBenefitObligation" format="ixt:num-dot-decimal" scale="3" id="f-743">4,229</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair value of plan assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-140" decimals="-3" name="us-gaap:DefinedBenefitPlanFairValueOfPlanAssets" format="ixt:fixed-zero" scale="3" id="f-744">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-138" decimals="-3" name="us-gaap:DefinedBenefitPlanFairValueOfPlanAssets" format="ixt:fixed-zero" scale="3" id="f-745">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Under funded status</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-140" decimals="-3" sign="-" name="us-gaap:DefinedBenefitPlanFundedStatusOfPlan" format="ixt:num-dot-decimal" scale="3" id="f-746">4,208</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-138" decimals="-3" sign="-" name="us-gaap:DefinedBenefitPlanFundedStatusOfPlan" format="ixt:num-dot-decimal" scale="3" id="f-747">4,229</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unamortized prior service cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-140" decimals="-3" name="us-gaap:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax" scale="3" id="f-748">292</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-138" decimals="-3" name="us-gaap:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax" scale="3" id="f-749">352</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unrecognized actuarial (gain)</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-140" decimals="-3" name="us-gaap:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax" scale="3" id="f-750">219</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-138" decimals="-3" name="us-gaap:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax" scale="3" id="f-751">278</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net amount recognized</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-140" decimals="-3" sign="-" name="us-gaap:DefinedBenefitPlanAmountsRecognizedInBalanceSheet" format="ixt:num-dot-decimal" scale="3" id="f-752">4,135</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-138" decimals="-3" sign="-" name="us-gaap:DefinedBenefitPlanAmountsRecognizedInBalanceSheet" format="ixt:num-dot-decimal" scale="3" id="f-753">4,155</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock" id="f-754" escape="true"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amounts recognized in the consolidated financial statements consisted of (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:62.788%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.590%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.592%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued postretirement benefit liability:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current portion</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-140" decimals="-3" name="us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities" scale="3" id="f-755">357</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-138" decimals="-3" name="us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities" scale="3" id="f-756">353</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long term portion</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-140" decimals="-3" name="us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-757">3,851</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-138" decimals="-3" name="us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent" format="ixt:num-dot-decimal" scale="3" id="f-758">3,876</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pre-tax accumulated other comprehensive loss &#8211; unamortized post-retirement healthcare costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-134" decimals="-3" sign="-" name="us-gaap:DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax" scale="3" id="f-759">73</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-135" decimals="-3" sign="-" name="us-gaap:DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax" scale="3" id="f-760">74</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net amount recognized</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-140" decimals="-3" sign="-" name="us-gaap:DefinedBenefitPlanAmountsRecognizedInBalanceSheet" format="ixt:num-dot-decimal" scale="3" id="f-761">4,135</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-138" decimals="-3" sign="-" name="us-gaap:DefinedBenefitPlanAmountsRecognizedInBalanceSheet" format="ixt:num-dot-decimal" scale="3" id="f-762">4,155</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div></ix:nonNumeric><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The measurement date used to determine postretirement benefit obligation measures was December&#160;31.</span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">53</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><ix:continuation id="f-718-3"><ix:nonNumeric contextRef="c-134" name="us-gaap:ScheduleOfNetBenefitCostsTableTextBlock" id="f-763" escape="true"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Components of net periodic postretirement benefit cost charged to expense for the years ended December&#160;31 were as follows (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:59.222%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.640%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest cost</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-134" decimals="-3" name="us-gaap:DefinedBenefitPlanInterestCost" scale="3" id="f-764">194</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-135" decimals="-3" name="us-gaap:DefinedBenefitPlanInterestCost" scale="3" id="f-765">127</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-136" decimals="-3" name="us-gaap:DefinedBenefitPlanInterestCost" scale="3" id="f-766">125</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of unrecognized prior service cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-134" decimals="-3" name="us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" scale="3" id="f-767">60</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-135" decimals="-3" name="us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" scale="3" id="f-768">60</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-136" decimals="-3" name="us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" scale="3" id="f-769">44</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss amortization (</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-134" decimals="-3" name="us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses" format="ixt:fixed-zero" scale="3" id="f-770">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-135" decimals="-3" sign="-" name="us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses" scale="3" id="f-771">24</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-136" decimals="-3" sign="-" name="us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses" scale="3" id="f-772">113</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net periodic benefit cost</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-134" decimals="-3" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost" scale="3" id="f-773">254</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-135" decimals="-3" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost" scale="3" id="f-774">211</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-136" decimals="-3" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost" scale="3" id="f-775">282</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Assumptions used to calculate the benefit obligation:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Discount rate</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-140" decimals="3" name="us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" scale="-2" id="f-776">4.7</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-138" decimals="3" name="us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" scale="-2" id="f-777">4.8</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-139" decimals="3" name="us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" scale="-2" id="f-778">2.4</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Annual rate of increase in the per capita cost of:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:20.25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Medical costs before age 65 (</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-134" decimals="3" name="rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65" scale="-2" id="f-779">7.8</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-135" decimals="3" name="rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65" scale="-2" id="f-780">7.8</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-136" decimals="3" name="rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65" scale="-2" id="f-781">7.0</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:20.25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Medical costs after age 65 (</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-134" decimals="3" name="rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65" scale="-2" id="f-782">4.6</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-135" decimals="3" name="rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65" scale="-2" id="f-783">4.5</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-136" decimals="3" name="rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65" scale="-2" id="f-784">4.5</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:20.25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prescription drug costs (</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-134" decimals="3" name="rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts" scale="-2" id="f-785">7.8</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-135" decimals="3" name="rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts" scale="-2" id="f-786">7.8</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-136" decimals="3" name="rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts" scale="-2" id="f-787">7.0</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-top:6pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)  For 2023 and 2022, it was assumed that these rates would gradually decline to <ix:nonFraction unitRef="number" contextRef="c-7" decimals="3" name="us-gaap:DefinedBenefitPlanUltimateHealthCareCostTrendRate1" scale="-2" id="f-788"><ix:nonFraction unitRef="number" contextRef="c-8" decimals="3" name="us-gaap:DefinedBenefitPlanUltimateHealthCareCostTrendRate1" scale="-2" id="f-789">4.0</ix:nonFraction></ix:nonFraction>% by 2075.  For 2021, it was assumed that these rates would gradually decline to <ix:nonFraction unitRef="number" contextRef="c-9" decimals="3" name="us-gaap:DefinedBenefitPlanUltimateHealthCareCostTrendRate1" scale="-2" id="f-790">3.8</ix:nonFraction>% by 2075.</span></div><div style="margin-top:3pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)  Actuarial losses are amortized utilizing the corridor approach. Differences between actual experience and the actuarial assumptions are reflected in (gain)/loss. If the total net (gain) or loss exceeds 10 percent of the greater of the accumulated postretirement benefit obligation or plan assets, this excess must be amortized over the average remaining service period of the active plan participants. If most of the plan participants are inactive, the amortization period is the expected future lifetime of inactive plan participants.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="c-134" name="us-gaap:ScheduleOfExpectedBenefitPaymentsTableTextBlock" id="f-791" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expected benefit payments from the plan for the years ended December&#160;31 are as follows (in thousands):</span></div><div style="margin-top:3pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"/><td style="width:24.010%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.060%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.913%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.060%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.060%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.060%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.733%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2026</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2027</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2028</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Years 2029 - 2033</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected benefit payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-140" decimals="-3" name="us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths" scale="6" id="f-792">357</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-140" decimals="-3" name="us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo" scale="6" id="f-793">370</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-140" decimals="-3" name="us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree" scale="6" id="f-794">362</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-140" decimals="-3" name="us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour" scale="6" id="f-795">361</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-140" decimals="-3" name="us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive" scale="6" id="f-796">356</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-140" decimals="-3" name="us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter" format="ixt:num-dot-decimal" scale="6" id="f-797">1,646</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div></ix:nonNumeric></ix:continuation><div style="text-align:justify"><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_118"></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(11) <ix:nonNumeric contextRef="c-1" name="us-gaap:ComprehensiveIncomeNoteTextBlock" id="f-798" continuedAt="f-798-1" escape="true">ACCUMULATED OTHER COMPREHENSIVE (LOSS) INCOME</ix:nonNumeric></span></div><ix:continuation id="f-798-1"><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" id="f-799" escape="true"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The cumulative balance of each component of accumulated other comprehensive (loss) income is as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:29.601%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.742%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.958%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.180%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.449%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.550%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Foreign<br/>Currency<br/>Translation<br/>Adjustment</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Postretirement<br/>Benefit Plan<br/>Adjustments</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total Pre-<br/>Tax Amount</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Tax Benefit<br/>(Expense)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accumulated<br/>Other<br/>Comprehensive<br/>(Loss) Income</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2021</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-141" decimals="-3" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1" format="ixt:num-dot-decimal" scale="3" id="f-800">1,640</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-142" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1" format="ixt:num-dot-decimal" scale="3" id="f-801">2,247</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1" scale="3" id="f-802">607</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-3" name="rock:AccumulatedOtherComprehensiveIncomeLossTax" scale="3" id="f-803">794</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-3" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" scale="3" id="f-804">187</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Postretirement benefit plan adjustments</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-143" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossBeforeTax" format="ixt:num-dot-decimal" scale="3" id="f-805">1,852</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-143" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossBeforeTax" format="ixt:num-dot-decimal" scale="3" id="f-806">1,852</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-143" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossTax" scale="3" id="f-807">449</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-143" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-808">1,403</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation adjustment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-144" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossBeforeTax" format="ixt:num-dot-decimal" scale="3" id="f-809">5,022</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-144" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossBeforeTax" format="ixt:num-dot-decimal" scale="3" id="f-810">5,022</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-144" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossTax" format="ixt:fixed-zero" scale="3" id="f-811">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-144" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-812">5,022</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2022</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-145" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1" format="ixt:num-dot-decimal" scale="3" id="f-813">3,382</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-146" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1" scale="3" id="f-814">395</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1" format="ixt:num-dot-decimal" scale="3" id="f-815">3,777</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="rock:AccumulatedOtherComprehensiveIncomeLossTax" scale="3" id="f-816">345</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-817">3,432</ix:nonFraction>)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Postretirement benefit plan adjustments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-147" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossBeforeTax" scale="3" id="f-818">150</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-147" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossBeforeTax" scale="3" id="f-819">150</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-147" decimals="-3" sign="-" name="us-gaap:OtherComprehensiveIncomeLossTax" scale="3" id="f-820">36</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-147" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax" scale="3" id="f-821">114</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation adjustment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-148" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossBeforeTax" format="ixt:num-dot-decimal" scale="3" id="f-822">1,204</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-148" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossBeforeTax" format="ixt:num-dot-decimal" scale="3" id="f-823">1,204</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-148" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossTax" format="ixt:fixed-zero" scale="3" id="f-824">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-148" decimals="-3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-825">1,204</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2023</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-149" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1" format="ixt:num-dot-decimal" scale="3" id="f-826">2,178</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-150" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1" scale="3" id="f-827">245</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1" format="ixt:num-dot-decimal" scale="3" id="f-828">2,423</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="rock:AccumulatedOtherComprehensiveIncomeLossTax" scale="3" id="f-829">309</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" format="ixt:num-dot-decimal" scale="3" id="f-830">2,114</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The realized adjustments relating to the Company&#8217;s minimum post retirement health care costs were reclassified from accumulated other comprehensive loss and included in other expense in the consolidated statements of income.</span></div></ix:continuation><div style="text-align:justify"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">54</span></div></div></div><div id="i32dbd54440254257bc94c8354b78dd51_121"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(12) <ix:nonNumeric contextRef="c-1" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="f-831" continuedAt="f-831-1" escape="true">EQUITY-BASED COMPENSATION</ix:nonNumeric></span></div><ix:continuation id="f-831-1" continuedAt="f-831-2"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company awards equity-based compensation to employees and directors, which is recognized in the statements of income based on the grant-date fair value of the award. The Company uses the straight-line method for recording compensation expense over a vesting period generally up to <ix:nonNumeric contextRef="c-55" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" format="ixt-sec:durwordsen" id="f-832">four years</ix:nonNumeric> with either graded or cliff vesting. Stock compensation expense recognized during the period is based on the value of the portion of equity-based awards that is ultimately expected to vest during the period reduced by the expense on unvested awards forfeited during the period. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On May 3, 2023, the stockholders of the Company approved the adoption of the Gibraltar Industries, Inc. Amended and Restated 2018 Equity Incentive Plan (the "Amended 2018 Plan") which increases the total number of shares available for issuance by the Company from <ix:nonFraction unitRef="shares" contextRef="c-151" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="f-833">1,000,000</ix:nonFraction> shares to <ix:nonFraction unitRef="shares" contextRef="c-152" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="f-834">1,550,000</ix:nonFraction> shares. In addition, <ix:nonFraction unitRef="shares" contextRef="c-153" decimals="0" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" format="ixt:num-dot-decimal" scale="0" id="f-835">81,707</ix:nonFraction> shares that were unissued and available for grant under the Gibraltar Industries, Inc. 2015 Equity Incentive Plan (the "2015 Plan") were consolidated with the Amended 2018 Plan. No further grants will be made under the 2015 Plan. The Amended 2018 Plan allows the Company to grant equity-based incentive compensation awards, in the form of non-qualified options, restricted shares, restricted stock units, performance shares, performance stock units, and stock rights to eligible participants.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On May 4, 2022, the stockholders of the Company approved the adoption of the Gibraltar Industries, Inc. Amended and Restated 2016 Stock Plan for Non-Employee Directors ("Non-Employee Directors Plan") which increases the total number of shares for issuance by the Company thereunder from <ix:nonFraction unitRef="shares" contextRef="c-154" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="f-836">100,000</ix:nonFraction> shares to <ix:nonFraction unitRef="shares" contextRef="c-155" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" format="ixt:num-dot-decimal" scale="0" id="f-837">200,000</ix:nonFraction> shares, allows the Company to grant awards of shares of the Company's common stock to current non-employee Directors of the Company, and permits the Directors to defer receipt of such shares pursuant to the terms of the Non-Employee Directors Plan.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2023, approximately <ix:nonFraction unitRef="shares" contextRef="c-156" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" format="ixt:num-dot-decimal" scale="0" id="f-838">885,000</ix:nonFraction> shares were available for issuance under the Amended 2018 Plan as incentive stock options or other stock awards, and approximately <ix:nonFraction unitRef="shares" contextRef="c-157" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" format="ixt:num-dot-decimal" scale="0" id="f-839">86,000</ix:nonFraction> shares were available for issuance under the Non-Employee Directors Plan as awards of shares of the Company's common stock.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The compensation cost for employee and non-employee director equity-based compensation plans for all current and prior year awards granted <ix:nonNumeric contextRef="c-1" name="us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" id="f-840" continuedAt="f-840-1" escape="true">along with the related tax benefits recognized during the years ended December 31 (in thousands) were as follows:</ix:nonNumeric></span></div><ix:continuation id="f-840-1"><div style="margin-top:6pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:59.047%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.694%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.535%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.694%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.535%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.695%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total stock compensation expense</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-841">9,750</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:ShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-842">8,334</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:ShareBasedCompensation" format="ixt:num-dot-decimal" scale="3" id="f-843">8,652</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Tax benefits recognized related to stock compensation expense</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-844">2,516</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-845">2,175</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-846">2,189</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline">Equity Based Awards - Settled in Stock</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock" id="f-847" escape="true"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides the number of stock units and common stock granted during the years ended December&#160;31, along with the weighted-average grant-date fair value of each award:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:27.199%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.457%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.776%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.457%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.776%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.457%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.533%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.780%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">Awards</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Number<br/>of Awards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant&#160;Date<br/>Fair Value</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Number<br/>of Awards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant&#160;Date<br/>Fair Value</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Number<br/>of Awards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant&#160;Date<br/>Fair Value</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Deferred stock units</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-158" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-848">6,351</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-158" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-849">54.33</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-159" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-850">2,460</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-159" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-851">42.69</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-160" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-852">7,536</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-160" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-853">83.58</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Common stock</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-161" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-854">8,468</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-161" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-855">54.33</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-162" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-856">15,652</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-162" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-857">42.49</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-163" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-858">2,512</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-163" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-859">83.58</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Restricted stock units</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-164" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-860">99,820</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-164" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-861">61.93</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-165" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-862">132,430</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-165" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-863">43.92</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-166" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-864">72,243</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-166" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-865">79.28</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Performance stock units (1)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-167" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-866">85,323</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-167" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-867">53.22</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-168" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-868">108,464</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-168" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-869">47.00</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-169" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-870">62,778</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-169" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-871">87.84</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:6pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1) The Company&#8217;s performance stock units (&#8220;PSUs&#8221;) represent shares granted for which the final number of shares earned depends on financial performance.  The number of shares to be issued may vary between <ix:nonFraction unitRef="number" contextRef="c-170" decimals="2" name="rock:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent" scale="-2" id="f-872">0</ix:nonFraction>% and <ix:nonFraction unitRef="number" contextRef="c-171" decimals="2" name="rock:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent" scale="-2" id="f-873">200</ix:nonFraction>% of the number of PSUs granted depending on the relative achievement to targeted thresholds.  The Company's PSUs with a financial performance condition are based on the Company&#8217;s return on invested capital (&#8220;ROIC&#8221;) over a <ix:nonNumeric contextRef="c-172" name="rock:SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod" format="ixt-sec:durwordsen" id="f-874">one-year</ix:nonNumeric> period performance period.</span></div></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">55</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><ix:continuation id="f-831-2" continuedAt="f-831-3"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Stock Options</span></div><div style="margin-bottom:12pt;margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-5" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" format="ixt:fixed-zero" scale="0" id="f-875"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" format="ixt:fixed-zero" scale="0" id="f-876"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" format="ixt:fixed-zero" scale="0" id="f-877">No</ix:nonFraction></ix:nonFraction></ix:nonFraction> options were granted during the years ended December 31, 2023, 2022 and 2021.  The Company determines the fair value of stock options granted based on the Black-Scholes option pricing model on the date of grant, and the expected stock volatility is based on volatility of the Company&#8217;s stock price using a historical period commensurate with the expected life of the options.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2023, the Company has <ix:nonFraction unitRef="shares" contextRef="c-1" decimals="INF" name="rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantOutstandingNumber" format="ixt-sec:numwordsen" scale="0" id="f-878">one</ix:nonFraction> grant of options outstanding.  <ix:nonNumeric contextRef="c-1" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" id="f-879" continuedAt="f-879-1" escape="true">The following table summarizes the Company's outstanding and exercisable options at December&#160;31, 2023:</ix:nonNumeric></span></div><ix:continuation id="f-879-1"><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:28.578%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.350%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.835%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.157%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.911%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.919%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">Exercise Price</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Options<br/>Outstanding</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Remaining<br/>Contractual Life<br/>(in years)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Exercise<br/>Price</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Options<br/>Exercisable</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Exercise<br/>Price</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$<ix:nonFraction unitRef="usdPerShare" contextRef="c-173" decimals="2" name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" scale="0" id="f-880">39.55</ix:nonFraction></span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-174" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" format="ixt:num-dot-decimal" scale="0" id="f-881">5,000</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-173" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" format="ixt-sec:duryear" id="f-882">3.26</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-173" decimals="2" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="f-883">39.55</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-174" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" format="ixt:num-dot-decimal" scale="0" id="f-884">5,000</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-174" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" scale="0" id="f-885">39.55</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" id="f-886" escape="true"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes information about stock option transactions:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"/><td style="width:32.478%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.953%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.953%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.953%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.536%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.955%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Options</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Exercise<br/>Price</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Remaining Contractual<br/>Life (in&#160;years)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Aggregate<br/>Intrinsic&#160;Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Balance at January&#160;1, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-10" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" format="ixt:num-dot-decimal" scale="0" id="f-887">41,500</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-10" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="f-888">29.38</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Exercised</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="c-5" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" format="ixt:num-dot-decimal" scale="0" id="f-889">36,500</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-5" decimals="2" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="f-890">27.99</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Balance at December 31, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-9" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" format="ixt:num-dot-decimal" scale="0" id="f-891">5,000</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-9" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="f-892">39.55</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Exercised</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" format="ixt:fixed-zero" scale="0" id="f-893">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-4" decimals="2" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" format="ixt:fixed-zero" scale="0" id="f-894">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Balance at December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-8" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" format="ixt:num-dot-decimal" scale="0" id="f-895">5,000</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-8" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="f-896">39.55</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Exercised</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="INF" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" format="ixt:fixed-zero" scale="0" id="f-897">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-1" decimals="2" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" format="ixt:fixed-zero" scale="0" id="f-898">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Balance at December 31, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-7" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" format="ixt:num-dot-decimal" scale="0" id="f-899">5,000</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-7" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="f-900">39.55</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-1" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" format="ixt-sec:duryear" id="f-901">3.26</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" format="ixt:num-dot-decimal" scale="3" id="f-902">197,150</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The aggregate intrinsic value in the preceding table represents the total pre-tax intrinsic value, based on the $<ix:nonFraction unitRef="usdPerShare" contextRef="c-7" decimals="2" name="rock:MarketPriceOfCommonStockPerShare" scale="0" id="f-903">78.98</ix:nonFraction> per share market price of the Company&#8217;s common stock as of December&#160;31, 2023, which would have been received by the option holder had the option holder exercised the options as of that date.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Stock Units and Common Stock</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" id="f-904" continuedAt="f-904-1" escape="true"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes information about non-vested restricted stock units and performance stock units (that will convert to shares upon vesting) and common stock:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:15.566%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.987%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.525%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.987%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.742%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.987%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.525%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.998%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Restricted<br/>Stock<br/>Units</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant&#160;Date<br/>Fair Value</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Common<br/>Stock</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant&#160;Date<br/>Fair Value</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Performance<br/>Stock Units</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant&#160;Date<br/>Fair Value</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Deferred<br/>Stock<br/>Units (2)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant&#160;Date<br/>Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Balance at December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-175" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="0" id="f-905">235,370</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-175" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="f-906">49.87</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-176" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:fixed-zero" scale="0" id="f-907">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-176" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" format="ixt:fixed-zero" scale="0" id="f-908">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-177" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="0" id="f-909">211,368</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-177" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="f-910">50.96</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-178" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="0" id="f-911">40,350</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-178" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="f-912">45.16</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-179" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-913">99,820</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-179" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-914">61.93</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-180" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-915">8,468</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-180" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-916">54.33</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-181" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-917">85,323</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-181" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-918">53.22</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-182" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-919">6,351</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-182" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-920">54.33</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Adjustments (1)</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-179" decimals="INF" name="rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod" format="ixt:fixed-zero" scale="0" id="f-921">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-179" decimals="2" name="rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue" format="ixt:fixed-zero" scale="0" id="f-922">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-180" decimals="INF" name="rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod" format="ixt:fixed-zero" scale="0" id="f-923">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-180" decimals="2" name="rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue" format="ixt:fixed-zero" scale="0" id="f-924">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="c-181" decimals="INF" sign="-" name="rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-925">70,610</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-181" decimals="2" name="rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-926">50.72</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-182" decimals="INF" name="rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod" format="ixt:fixed-zero" scale="0" id="f-927">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-182" decimals="2" name="rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue" format="ixt:fixed-zero" scale="0" id="f-928">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="c-179" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-929">77,312</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-179" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-930">53.37</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="c-180" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-931">8,468</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-180" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-932">54.33</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="c-181" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-933">71,106</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-181" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-934">51.74</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="c-182" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-935">2,222</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-182" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="f-936">36.47</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="c-179" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-937">24,908</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-179" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" id="f-938">50.99</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-180" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" format="ixt:fixed-zero" scale="0" id="f-939">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-180" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" format="ixt:fixed-zero" scale="0" id="f-940">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="shares" contextRef="c-181" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" format="ixt:num-dot-decimal" scale="0" id="f-941">18,729</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-181" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" id="f-942">49.69</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-182" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" format="ixt:fixed-zero" scale="0" id="f-943">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-182" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" format="ixt:fixed-zero" scale="0" id="f-944">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Balance at December 31, 2023</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-183" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="0" id="f-945">232,970</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-183" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="f-946">53.75</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-184" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:fixed-zero" scale="0" id="f-947">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-184" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" format="ixt:fixed-zero" scale="0" id="f-948">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-185" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="0" id="f-949">136,246</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-185" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="f-950">52.27</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-186" decimals="INF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" format="ixt:num-dot-decimal" scale="0" id="f-951">44,479</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usdPerShare" contextRef="c-186" decimals="2" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="f-952">46.90</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:6pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1) (i) <ix:nonFraction unitRef="shares" contextRef="c-4" decimals="0" name="rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved" format="ixt:num-dot-decimal" scale="0" id="f-953">40,610</ix:nonFraction> units of the Company's PSUs granted in 2022 were adjusted in the first quarter of 2023 to reflect <ix:nonFraction unitRef="number" contextRef="c-187" decimals="3" name="rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetPortionGranted" scale="-2" id="f-954">60.5</ix:nonFraction>% of the target amount granted based on the Company's actual ROIC compared to ROIC target for the performance period ended December&#160;31, 2022; and (ii) <ix:nonFraction unitRef="shares" contextRef="c-188" decimals="0" name="rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved" format="ixt:num-dot-decimal" scale="0" id="f-955">30,000</ix:nonFraction> units of the Company's TSR PSUs granted in 2020 for which the performance condition was not achieved and the PSUs were adjusted in the first quarter of </span></div></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">56</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><ix:continuation id="f-831-3"><ix:continuation id="f-904-1"><div style="margin-top:6pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2023 to reflect zero earned as the threshold level of achievement was not met based on performance criteria as defined in the respective awards over a <ix:nonNumeric contextRef="c-189" name="rock:SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod" format="ixt-sec:durwordsen" id="f-956">three-year</ix:nonNumeric> performance period which ended March 1, 2023.</span></div><div style="margin-top:6pt;padding-left:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2) Vested and issuable upon termination from service as a member of the Company's Board of Directors.</span></div></ix:continuation><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of the common stock, restricted stock units, and deferred stock units, as well as the performance stock units with a financial performance condition granted during the three years ended December&#160;31, 2023 was based on the Company's stock price at grant date of the award. </span></div><ix:nonNumeric contextRef="c-1" name="rock:ScheduleOfFairValueOfOptionsExercisedAndOtherAwardsVestedTableTextBlock" id="f-957" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the aggregate intrinsic value of options exercised and aggregate fair value of restricted stock units and restricted shares that vested during the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:59.222%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.640%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Aggregate intrinsic value of options exercised</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" format="ixt:fixed-zero" scale="3" id="f-958">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" format="ixt:fixed-zero" scale="3" id="f-959">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" format="ixt:num-dot-decimal" scale="3" id="f-960">2,103</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Aggregate fair value of vested restricted stock units</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-179" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" format="ixt:num-dot-decimal" scale="3" id="f-961">4,740</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-190" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" format="ixt:num-dot-decimal" scale="3" id="f-962">3,920</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-191" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" format="ixt:num-dot-decimal" scale="3" id="f-963">6,320</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Aggregate fair value of vested common stock</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-180" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" scale="3" id="f-964">460</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-192" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" scale="3" id="f-965">665</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-193" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" scale="3" id="f-966">370</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Aggregate fair value of vested performance stock units</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-194" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" format="ixt:num-dot-decimal" scale="3" id="f-967">3,999</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-195" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" format="ixt:num-dot-decimal" scale="3" id="f-968">6,729</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-196" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" format="ixt:num-dot-decimal" scale="3" id="f-969">9,080</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Aggregate fair value of vested deferred stock units</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-182" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" scale="3" id="f-970">345</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-197" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" scale="3" id="f-971">105</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-198" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" scale="3" id="f-972">630</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, there was $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" format="ixt:num-dot-decimal" scale="6" id="f-973">13.1</ix:nonFraction>&#160;million of total unrecognized compensation cost related to non-vested restricted and performance stock units. That cost is expected to be recognized over a weighted average period of <ix:nonNumeric contextRef="c-1" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" format="ixt-sec:duryear" id="f-974">2.0</ix:nonNumeric> years.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline">Equity Based Awards - Settled in Cash</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Management Stock Purchase Plan</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's equity-based awards that are settled in cash are the awards under the Management Stock Purchase Plan (the "MSPP") which is authorized under the Company's equity incentive plans.  The MSPP provides participants the ability to defer a portion of their compensation, convertible to unrestricted investments, restricted stock units, or a combination of both, or defer a portion of their directors&#8217; fees, convertible to restricted stock units. Employees eligible to defer a portion of their compensation also receive a company-matching award in restricted stock units equal to a percentage of their deferred compensation.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The deferrals and related company match are credited to an account that represents a share-based liability.  The portion of the account deferred to unrestricted investments is measured at fair market value of the unrestricted investments, and the portion of the account deferred to restricted stock units and company-matching restricted stock units is measured at a <ix:nonNumeric contextRef="c-199" name="rock:SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod" format="ixt-sec:durwordsen" id="f-975">200-day</ix:nonNumeric> average of the Company's stock price.  The account will be converted to and settled in cash payable to participants upon retirement or a termination of their service to the Company.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total MSPP liabilities recorded on the consolidated balance sheet as of December&#160;31, 2023 were $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="rock:AccruedEquityBasedCompensation" format="ixt:num-dot-decimal" scale="6" id="f-976">20.0</ix:nonFraction> million, of which $<ix:nonFraction unitRef="usd" contextRef="c-200" decimals="-5" name="rock:AccruedEquityBasedCompensation" format="ixt:num-dot-decimal" scale="6" id="f-977">2.0</ix:nonFraction> million was included in current accrued expenses and $<ix:nonFraction unitRef="usd" contextRef="c-201" decimals="-5" name="rock:AccruedEquityBasedCompensation" format="ixt:num-dot-decimal" scale="6" id="f-978">18.0</ix:nonFraction> million was included in non-current liabilities.  Total MSPP liabilities recorded on the consolidated balance sheet as of December&#160;31, 2022 were $<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-5" name="rock:AccruedEquityBasedCompensation" format="ixt:num-dot-decimal" scale="6" id="f-979">15.4</ix:nonFraction> million, of which $<ix:nonFraction unitRef="usd" contextRef="c-202" decimals="-5" name="rock:AccruedEquityBasedCompensation" format="ixt:num-dot-decimal" scale="6" id="f-980">2.3</ix:nonFraction>&#160;million was included in current accrued expenses and $<ix:nonFraction unitRef="usd" contextRef="c-203" decimals="-5" name="rock:AccruedEquityBasedCompensation" format="ixt:num-dot-decimal" scale="6" id="f-981">13.1</ix:nonFraction> million was included in non-current liabilities.  The value of the restricted stock units within the MSPP liabilities was $<ix:nonFraction unitRef="usd" contextRef="c-183" decimals="-5" name="rock:AccruedEquityBasedCompensation" format="ixt:num-dot-decimal" scale="6" id="f-982">17.3</ix:nonFraction>&#160;million and $<ix:nonFraction unitRef="usd" contextRef="c-175" decimals="-5" name="rock:AccruedEquityBasedCompensation" format="ixt:num-dot-decimal" scale="6" id="f-983">13.4</ix:nonFraction>&#160;million at December&#160;31, 2023 and 2022, respectively.</span></div><ix:nonNumeric contextRef="c-1" name="rock:CashPaidToSettleLiabilityAwardsTableTextBlock" id="f-984" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides the number of restricted stock units credited to active participant accounts, balance of vested and unvested restricted stock units within active participant accounts, payments made with respect to MSPP liabilities and MSPP expense during years ended December&#160;31:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:59.222%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.640%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted stock units credited</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-179" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" format="ixt:num-dot-decimal" scale="3" id="f-985">48,921</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-190" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" format="ixt:num-dot-decimal" scale="3" id="f-986">12,365</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-191" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" format="ixt:num-dot-decimal" scale="3" id="f-987">30,475</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted stock units balance, vested and unvested</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-183" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" format="ixt:num-dot-decimal" scale="3" id="f-988">199,946</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-175" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" format="ixt:num-dot-decimal" scale="3" id="f-989">158,644</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-204" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" format="ixt:num-dot-decimal" scale="3" id="f-990">223,892</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Share-based liabilities paid (in thousands)</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-205" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid" format="ixt:num-dot-decimal" scale="3" id="f-991">2,392</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-206" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid" format="ixt:num-dot-decimal" scale="3" id="f-992">3,689</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-207" decimals="-3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid" format="ixt:num-dot-decimal" scale="3" id="f-993">4,915</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">MSPP expense (recovery) (in thousands)</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-208" decimals="-3" name="rock:ManagementStockPurchasePlanCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-994">4,710</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-209" decimals="-3" sign="-" name="rock:ManagementStockPurchasePlanCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-995">4,459</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-210" decimals="-3" name="rock:ManagementStockPurchasePlanCompensationExpense" format="ixt:num-dot-decimal" scale="3" id="f-996">6,034</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">57</span></div></div></div><div id="i32dbd54440254257bc94c8354b78dd51_124"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:18pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(13) <ix:nonNumeric contextRef="c-1" name="us-gaap:FairValueDisclosuresTextBlock" id="f-997" continuedAt="f-997-1" escape="true">FAIR VALUE MEASUREMENTS</ix:nonNumeric></span></div><ix:continuation id="f-997-1"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. Depending on the nature of the asset or liability, various techniques and assumptions can be used to estimate fair value. A financial asset or liability&#8217;s classification within the hierarchy is determined based on the lowest level input that is significant to the fair value measurement as follows:</span></div><div style="margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 1 - Quoted prices in active markets for identical assets or liabilities. </span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 2 - Observable inputs other than quoted prices in active markets for similar assets and liabilities.</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 3 - Inputs that are unobservable inputs for the asset or liability.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company had no financial assets or liabilities measured at fair value on a recurring basis and did not have any financial instruments for which carrying value differed from its fair value at December&#160;31, 2023 and 2022.  As of December 31, 2023, the Company had no outstanding indebtedness on its revolving credit facility under its Credit Agreement.   The Company had $<ix:nonFraction unitRef="usd" contextRef="c-127" decimals="INF" name="us-gaap:LongTermDebt" format="ixt:num-dot-decimal" scale="6" id="f-998">91.0</ix:nonFraction>&#160;million outstanding on its revolving credit facility as of December 31, 2022.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s other financial instruments primarily consist of cash and cash equivalents, accounts receivable, and accounts payable.&#160; The carrying values for these financial instruments approximate fair value. The Company did not have any other material assets or liabilities carried at fair value and measured on a recurring basis as of December&#160;31, 2023 and 2022.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline">Other non-recurring fair value measurements</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recorded impairment of property, plant and equipment during the year ended December 31, 2022 and recognized impairment charges related to certain intangible assets during the years ended December 31, 2023 and 2021. The Company uses unobservable inputs, classified as Level 3 inputs, in determining the fair value of these assets. See Note 7 "Goodwill and Related Intangible Assets," Note 14 "Discontinued Operations" and Note 15 "Exit Activity Costs and Asset Impairments" for more disclosure regarding the impairment of certain intangible assets and property, plant, and equipment, respectively.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company also applied fair value principles for the goodwill impairment tests performed during 2023, 2022, and 2021. The Company used two valuation models to estimate the fair values of its reporting units, both of which primarily use Level 3 inputs. See Note 7 "Goodwill and Related Intangible Assets" of the consolidated financial statements for the results of the Company&#8217;s goodwill impairment tests.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additionally, the Company's recent acquisition activity, as described in Note 6 "Acquisitions," used Level 3 inputs to estimate fair values allocated to the assets acquired and liabilities assumed.</span></div></ix:continuation><div style="text-align:justify"><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_127"></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(14) <ix:nonNumeric contextRef="c-1" name="us-gaap:DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock" id="f-999" continuedAt="f-999-1" escape="true">DISCONTINUED OPERATIONS</ix:nonNumeric></span></div><ix:continuation id="f-999-1"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 23, 2021, the Company sold the stock of its Industrial business which had been classified as held for sale and reported as a discontinued operation in the Company&#8217;s consolidated financial statements for the year ended December 31, 2021.  Net proceeds of $<ix:nonFraction unitRef="usd" contextRef="c-211" decimals="-6" name="us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration" format="ixt:num-dot-decimal" scale="6" id="f-1000">38</ix:nonFraction>&#160;million, consisting of cash and a $<ix:nonFraction unitRef="usd" contextRef="c-212" decimals="-6" name="us-gaap:NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1" format="ixt:num-dot-decimal" scale="6" id="f-1001">13</ix:nonFraction>&#160;million seller note, resulted in a pre-tax loss of $<ix:nonFraction unitRef="usd" contextRef="c-212" decimals="-6" sign="-" name="us-gaap:DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" format="ixt:num-dot-decimal" scale="6" id="f-1002">30</ix:nonFraction>&#160;million, of which $<ix:nonFraction unitRef="usd" contextRef="c-212" decimals="-5" sign="-" name="us-gaap:GainLossOnSaleOfBusiness" format="ixt:num-dot-decimal" scale="6" id="f-1003">29.6</ix:nonFraction>&#160;million was recorded when the assets of the Industrial business were written down to fair market value during the fourth quarter of 2020.  The seller note was paid in full to the Company during the second quarter of 2021.  The results of operations of the Industrial business have been presented as a discontinued operation in the Company's consolidated statements of income for all periods presented. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There was <ix:nonFraction unitRef="usd" contextRef="c-213" decimals="INF" name="us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" format="ixt:fixed-zero" scale="0" id="f-1004"><ix:nonFraction unitRef="usd" contextRef="c-214" decimals="INF" name="us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" format="ixt:fixed-zero" scale="0" id="f-1005">no</ix:nonFraction></ix:nonFraction> income from discontinued operations before taxes for the years ended December 31, 2023 and 2022.  For the year ended December 31, 2021, income from discontinued operations before taxes of $<ix:nonFraction unitRef="usd" contextRef="c-215" decimals="-5" name="us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" format="ixt:num-dot-decimal" scale="6" id="f-1006">1.5</ix:nonFraction>&#160;million consisted of net sales of $<ix:nonFraction unitRef="usd" contextRef="c-215" decimals="-5" name="us-gaap:DisposalGroupIncludingDiscontinuedOperationRevenue" format="ixt:num-dot-decimal" scale="6" id="f-1007">20.4</ix:nonFraction>&#160;million, operating expenses of $<ix:nonFraction unitRef="usd" contextRef="c-215" decimals="-5" name="us-gaap:DisposalGroupIncludingDiscontinuedOperationOperatingExpense" format="ixt:num-dot-decimal" scale="6" id="f-1008">17.5</ix:nonFraction>&#160;million, and <ix:nonNumeric contextRef="c-5" name="rock:DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag" id="f-1009">adjustment to loss on disposal</ix:nonNumeric> of $<ix:nonFraction unitRef="usd" contextRef="c-215" decimals="-5" sign="-" name="us-gaap:DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax" format="ixt:num-dot-decimal" scale="6" id="f-1010">1.4</ix:nonFraction>&#160;million.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On December 1, 2023, the Company sold its Japan-based solar racking business within its Renewables segment to a third party.  The $<ix:nonFraction unitRef="usd" contextRef="c-216" decimals="-5" name="us-gaap:ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" format="ixt:num-dot-decimal" scale="6" id="f-1011">8.0</ix:nonFraction>&#160;million net proceeds from the sale resulted in a pre-tax net loss of $<ix:nonFraction unitRef="usd" contextRef="c-216" decimals="-5" sign="-" name="us-gaap:GainLossOnSaleOfBusiness" format="ixt:num-dot-decimal" scale="6" id="f-1012">0.6</ix:nonFraction>&#160;million and has been presented within other (income) expense in the consolidated statements of income.  This divestiture did not meet the criteria to be recorded as a discontinued operation nor did it have a major effect on the Company's operations.</span></div></ix:continuation><div style="text-align:justify"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">58</span></div></div></div><div id="i32dbd54440254257bc94c8354b78dd51_130"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(15) <ix:nonNumeric contextRef="c-1" name="us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock" id="f-1013" continuedAt="f-1013-1" escape="true">EXIT ACTIVITY COSTS AND ASSET IMPAIRMENTS</ix:nonNumeric></span></div><ix:continuation id="f-1013-1"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has incurred exit activity costs and asset impairment charges as a result of its 80/20 simplification and portfolio management initiatives. These initiatives have resulted in the identification of low-volume, low margin, internally-produced products which have been or will be outsourced or discontinued, the simplification of processes, in the sale and exiting of less profitable businesses or products lines, and the reduction in the Company's manufacturing footprint.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of process simplification initiatives, the Company has incurred exit activity costs (recoveries) related to moving and closing costs, severance and contract terminations, along with asset impairment charges related to the write-down of inventory and impairment of machinery and equipment associated with discontinued product lines.  Additionally, the Company has incurred the aforementioned costs resulting from the sale, relocation and/or closure of facilities including <ix:nonFraction unitRef="facility" contextRef="c-1" decimals="INF" name="rock:RestructuringandRelatedCostNumberofFacilitiestobeClosed" format="ixt-sec:numwordsen" scale="0" id="f-1014">two</ix:nonFraction> closures and <ix:nonFraction unitRef="facility" contextRef="c-4" decimals="INF" name="rock:RestructuringAndRelatedCostNumberOfFacilitiesRelocated" format="ixt-sec:numwordsen" scale="0" id="f-1015">one</ix:nonFraction> relocation in 2022 and <ix:nonFraction unitRef="facility" contextRef="c-4" decimals="INF" name="rock:RestructuringandRelatedCostNumberofFacilitiestobeClosed" format="ixt-sec:numwordsen" scale="0" id="f-1016">four</ix:nonFraction> facility closures in 2021.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock" id="f-1017" continuedAt="f-1017-1" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the exit activity costs (recoveries) and asset impairment charges incurred by segment during the years ended December&#160;31 related to the restructuring activities described above (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.426%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.841%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.356%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.256%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.695%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:6.356%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.426%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.841%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:6.366%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Exit Activity</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Asset Impairment</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Exit Activity</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Asset Impairment</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Exit Activity</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Asset Impairment</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Renewables</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-217" decimals="-3" name="us-gaap:BusinessExitCosts1" format="ixt:num-dot-decimal" scale="3" id="f-1018">7,558</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-217" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:num-dot-decimal" scale="3" id="f-1019">1,136</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-217" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="f-1020">8,694</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-218" decimals="-3" name="us-gaap:BusinessExitCosts1" format="ixt:num-dot-decimal" scale="3" id="f-1021">3,256</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-218" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:num-dot-decimal" scale="3" id="f-1022">1,198</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-218" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="f-1023">4,454</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-219" decimals="-3" name="us-gaap:BusinessExitCosts1" format="ixt:num-dot-decimal" scale="3" id="f-1024">4,769</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-219" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:num-dot-decimal" scale="3" id="f-1025">1,193</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-219" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="f-1026">5,962</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Residential</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-220" decimals="-3" name="us-gaap:BusinessExitCosts1" scale="3" id="f-1027">960</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-220" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:num-dot-decimal" scale="3" id="f-1028">3,851</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-220" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="f-1029">4,811</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-221" decimals="-3" name="us-gaap:BusinessExitCosts1" format="ixt:num-dot-decimal" scale="3" id="f-1030">1,825</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-221" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" scale="3" id="f-1031">12</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-221" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="f-1032">1,837</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-222" decimals="-3" name="us-gaap:BusinessExitCosts1" scale="3" id="f-1033">393</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-222" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:fixed-zero" scale="3" id="f-1034">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-222" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="f-1035">393</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Agtech</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-223" decimals="-3" name="us-gaap:BusinessExitCosts1" scale="3" id="f-1036">718</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-223" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:fixed-zero" scale="3" id="f-1037">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-223" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="f-1038">718</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-224" decimals="-3" name="us-gaap:BusinessExitCosts1" scale="3" id="f-1039">771</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-224" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:num-dot-decimal" scale="3" id="f-1040">1,066</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-224" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="f-1041">1,837</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-225" decimals="-3" name="us-gaap:BusinessExitCosts1" format="ixt:num-dot-decimal" scale="3" id="f-1042">1,687</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-225" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:fixed-zero" scale="3" id="f-1043">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-225" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="f-1044">1,687</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Infrastructure </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-226" decimals="-3" name="us-gaap:BusinessExitCosts1" format="ixt:fixed-zero" scale="3" id="f-1045">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-226" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:fixed-zero" scale="3" id="f-1046">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-226" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:fixed-zero" scale="3" id="f-1047">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-227" decimals="-3" sign="-" name="us-gaap:BusinessExitCosts1" scale="3" id="f-1048">63</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-227" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:fixed-zero" scale="3" id="f-1049">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-227" decimals="-3" sign="-" name="us-gaap:RestructuringCharges" scale="3" id="f-1050">63</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-228" decimals="-3" name="us-gaap:BusinessExitCosts1" scale="3" id="f-1051">26</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-228" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:fixed-zero" scale="3" id="f-1052">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-228" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="f-1053">26</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-229" decimals="-3" sign="-" name="us-gaap:BusinessExitCosts1" scale="3" id="f-1054">32</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-229" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:fixed-zero" scale="3" id="f-1055">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-229" decimals="-3" sign="-" name="us-gaap:RestructuringCharges" scale="3" id="f-1056">32</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-230" decimals="-3" name="us-gaap:BusinessExitCosts1" scale="3" id="f-1057">250</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-230" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:fixed-zero" scale="3" id="f-1058">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-230" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="f-1059">250</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-231" decimals="-3" name="us-gaap:BusinessExitCosts1" scale="3" id="f-1060">145</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-231" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:fixed-zero" scale="3" id="f-1061">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-231" decimals="-3" name="us-gaap:RestructuringCharges" scale="3" id="f-1062">145</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:BusinessExitCosts1" format="ixt:num-dot-decimal" scale="3" id="f-1063">9,204</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:num-dot-decimal" scale="3" id="f-1064">4,987</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="f-1065">14,191</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:BusinessExitCosts1" format="ixt:num-dot-decimal" scale="3" id="f-1066">6,039</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:num-dot-decimal" scale="3" id="f-1067">2,276</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="f-1068">8,315</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:BusinessExitCosts1" format="ixt:num-dot-decimal" scale="3" id="f-1069">7,020</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:RestructuringSettlementAndImpairmentProvisions" format="ixt:num-dot-decimal" scale="3" id="f-1070">1,193</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="f-1071">8,213</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock" id="f-1072" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides a summary of where the above exit activity costs and asset impairments are recorded in the consolidated statements of income for the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:59.222%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.640%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of sales</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-232" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="f-1073">12,634</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-233" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="f-1074">5,258</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-234" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="f-1075">6,176</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general, and administrative expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-235" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="f-1076">1,557</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-236" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="f-1077">3,057</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-237" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="f-1078">2,037</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total exit activity costs and asset impairments</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="f-1079">14,191</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="f-1080">8,315</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:RestructuringCharges" format="ixt:num-dot-decimal" scale="3" id="f-1081">8,213</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><ix:continuation id="f-1017-1"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table reconciles the beginning and ending liability for exit activity costs relating to the Company&#8217;s restructuring efforts (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:72.692%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.639%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of January&#160;1</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:RestructuringReserve" format="ixt:num-dot-decimal" scale="3" id="f-1082">2,417</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-3" name="us-gaap:RestructuringReserve" scale="3" id="f-1083">272</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exit activity costs recognized</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:BusinessExitCosts1" format="ixt:num-dot-decimal" scale="3" id="f-1084">9,204</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:BusinessExitCosts1" format="ixt:num-dot-decimal" scale="3" id="f-1085">6,039</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash payments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:PaymentsForRestructuring" format="ixt:num-dot-decimal" scale="3" id="f-1086">4,896</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PaymentsForRestructuring" format="ixt:num-dot-decimal" scale="3" id="f-1087">3,894</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December&#160;31</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:RestructuringReserve" format="ixt:num-dot-decimal" scale="3" id="f-1088">6,725</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:RestructuringReserve" format="ixt:num-dot-decimal" scale="3" id="f-1089">2,417</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation></ix:continuation><div style="text-align:justify"><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_133"></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(16) <ix:nonNumeric contextRef="c-1" name="us-gaap:IncomeTaxDisclosureTextBlock" id="f-1090" continuedAt="f-1090-1" escape="true">INCOME TAXES</ix:nonNumeric></span></div><ix:continuation id="f-1090-1" continuedAt="f-1090-2"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company uses the asset and liability method of accounting for income taxes. Under this method, deferred tax assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax basis. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to reverse.</span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">59</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><ix:continuation id="f-1090-2" continuedAt="f-1090-3"><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" id="f-1091" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of income before taxes from continuing operations consisted of the following for the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:59.222%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.640%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Domestic</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" format="ixt:num-dot-decimal" scale="3" id="f-1092">149,348</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" format="ixt:num-dot-decimal" scale="3" id="f-1093">112,635</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" format="ixt:num-dot-decimal" scale="3" id="f-1094">93,155</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" scale="3" id="f-1095">356</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" format="ixt:num-dot-decimal" scale="3" id="f-1096">1,145</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" format="ixt:num-dot-decimal" scale="3" id="f-1097">6,407</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income before taxes from continuing operations</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-1098">148,992</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-1099">111,490</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" format="ixt:num-dot-decimal" scale="3" id="f-1100">99,562</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" id="f-1101" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The provision for income taxes from continuing operations for the years ended December&#160;31 consisted of the following (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:59.222%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.640%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Federal</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-238" decimals="-3" name="us-gaap:CurrentFederalTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1102">21,579</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-239" decimals="-3" name="us-gaap:CurrentFederalTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1103">17,014</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-240" decimals="-3" name="us-gaap:CurrentFederalTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1104">16,137</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-238" decimals="-3" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1105">6,048</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-239" decimals="-3" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1106">5,647</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-240" decimals="-3" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1107">5,009</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-238" decimals="-3" name="us-gaap:CurrentForeignTaxExpenseBenefit" scale="3" id="f-1108">32</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-239" decimals="-3" name="us-gaap:CurrentForeignTaxExpenseBenefit" scale="3" id="f-1109">86</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-240" decimals="-3" name="us-gaap:CurrentForeignTaxExpenseBenefit" scale="3" id="f-1110">932</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total current</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-238" decimals="-3" name="us-gaap:CurrentIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1111">27,659</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-239" decimals="-3" name="us-gaap:CurrentIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1112">22,747</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-240" decimals="-3" name="us-gaap:CurrentIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1113">22,078</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Federal</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-238" decimals="-3" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1114">8,617</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-239" decimals="-3" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1115">5,259</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-240" decimals="-3" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1116">1,766</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-238" decimals="-3" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1117">2,112</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-239" decimals="-3" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1118">1,381</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-240" decimals="-3" name="us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit" scale="3" id="f-1119">134</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-238" decimals="-3" name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" scale="3" id="f-1120">71</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-239" decimals="-3" sign="-" name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" scale="3" id="f-1121">303</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-240" decimals="-3" name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1122">1,068</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total deferred</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-238" decimals="-3" name="us-gaap:DeferredIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1123">10,800</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-239" decimals="-3" name="us-gaap:DeferredIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1124">6,337</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-240" decimals="-3" name="us-gaap:DeferredIncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1125">2,968</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision for income taxes</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-238" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1126">38,459</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-239" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1127">29,084</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-240" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1128">25,046</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" id="f-1129" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The provision for income taxes from continuing operations differs from the federal statutory rate of <ix:nonFraction unitRef="number" contextRef="c-1" decimals="INF" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="f-1130">21</ix:nonFraction>% due to the following for the years ended December 31 (in thousands, except for percentages) :</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"/><td style="width:31.792%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.325%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.325%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.619%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.331%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Statutory rate</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" format="ixt:num-dot-decimal" scale="3" id="f-1131">31,288</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-1" decimals="INF" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="f-1132">21.0</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" format="ixt:num-dot-decimal" scale="3" id="f-1133">23,413</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-4" decimals="INF" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="f-1134">21.0</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" format="ixt:num-dot-decimal" scale="3" id="f-1135">20,908</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-5" decimals="INF" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" scale="-2" id="f-1136">21.0</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State taxes, less federal effect</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" format="ixt:num-dot-decimal" scale="3" id="f-1137">6,446</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-1" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" id="f-1138">4.3</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" format="ixt:num-dot-decimal" scale="3" id="f-1139">5,541</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-4" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" id="f-1140">5.0</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" format="ixt:num-dot-decimal" scale="3" id="f-1141">4,068</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-5" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" id="f-1142">4.1</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Federal tax credits</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeTaxReconciliationTaxCredits" scale="3" id="f-1143">787</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="c-1" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits" scale="-2" id="f-1144">0.5</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:IncomeTaxReconciliationTaxCredits" scale="3" id="f-1145">549</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="c-4" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits" scale="-2" id="f-1146">0.5</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:IncomeTaxReconciliationTaxCredits" scale="3" id="f-1147">587</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="c-5" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits" scale="-2" id="f-1148">0.6</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Excess tax benefit on stock based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" sign="-" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" scale="3" id="f-1149">203</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="c-1" decimals="3" sign="-" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" scale="-2" id="f-1150">0.1</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" scale="3" id="f-1151">214</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="c-4" decimals="3" sign="-" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" scale="-2" id="f-1152">0.2</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" sign="-" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" format="ixt:num-dot-decimal" scale="3" id="f-1153">2,039</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="c-5" decimals="3" sign="-" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" scale="-2" id="f-1154">2.0</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Executive compensation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="rock:EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount" format="ixt:num-dot-decimal" scale="3" id="f-1155">1,369</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-1" decimals="3" name="rock:EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent" scale="-2" id="f-1156">0.9</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="rock:EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount" scale="3" id="f-1157">960</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-4" decimals="3" name="rock:EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent" scale="-2" id="f-1158">0.9</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="rock:EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount" format="ixt:num-dot-decimal" scale="3" id="f-1159">1,781</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-5" decimals="3" name="rock:EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent" scale="-2" id="f-1160">1.8</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeTaxReconciliationOtherAdjustments" scale="3" id="f-1161">346</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-1" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" scale="-2" id="f-1162">0.2</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" sign="-" name="us-gaap:IncomeTaxReconciliationOtherAdjustments" scale="3" id="f-1163">67</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="number" contextRef="c-4" decimals="3" sign="-" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" scale="-2" id="f-1164">0.1</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:IncomeTaxReconciliationOtherAdjustments" scale="3" id="f-1165">915</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-5" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" scale="-2" id="f-1166">0.9</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1167">38,459</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-1" decimals="3" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="f-1168">25.8</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1169">29,084</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-4" decimals="3" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="f-1170">26.1</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:IncomeTaxExpenseBenefit" format="ixt:num-dot-decimal" scale="3" id="f-1171">25,046</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-5" decimals="3" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="f-1172">25.2</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">60</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><ix:continuation id="f-1090-3" continuedAt="f-1090-4"><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" id="f-1173" escape="true"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred tax liabilities at December&#160;31 consisted of the following (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:72.692%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.639%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Depreciation</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-1174">13,838</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-1175">14,570</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" format="ixt:num-dot-decimal" scale="3" id="f-1176">65,967</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" format="ixt:num-dot-decimal" scale="3" id="f-1177">62,132</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating leases</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesLeasingArrangements" format="ixt:num-dot-decimal" scale="3" id="f-1178">11,325</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesLeasingArrangements" format="ixt:num-dot-decimal" scale="3" id="f-1179">6,775</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="f-1180">1,919</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" format="ixt:num-dot-decimal" scale="3" id="f-1181">3,706</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesOther" format="ixt:num-dot-decimal" scale="3" id="f-1182">1,264</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:DeferredTaxLiabilitiesOther" format="ixt:num-dot-decimal" scale="3" id="f-1183">1,358</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross deferred tax liabilities</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:DeferredIncomeTaxLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-1184">94,313</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:DeferredIncomeTaxLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-1185">88,541</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Capitalized research and development costs</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment" format="ixt:num-dot-decimal" scale="3" id="f-1186">6,286</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment" format="ixt:num-dot-decimal" scale="3" id="f-1187">4,503</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Equity compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" format="ixt:num-dot-decimal" scale="3" id="f-1188">6,907</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" format="ixt:num-dot-decimal" scale="3" id="f-1189">5,993</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating leases</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="rock:DeferredTaxAssetOperatingLeases" format="ixt:num-dot-decimal" scale="3" id="f-1190">11,678</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="rock:DeferredTaxAssetOperatingLeases" format="ixt:num-dot-decimal" scale="3" id="f-1191">7,076</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Assets held for sale</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="rock:DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness" format="ixt:fixed-zero" scale="3" id="f-1192">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="rock:DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness" format="ixt:num-dot-decimal" scale="3" id="f-1193">13,669</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Capital loss carryforward</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:DeferredTaxAssetsCapitalLossCarryforwards" format="ixt:num-dot-decimal" scale="3" id="f-1194">26,527</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:DeferredTaxAssetsCapitalLossCarryforwards" format="ixt:num-dot-decimal" scale="3" id="f-1195">26,490</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:DeferredTaxAssetsOther" format="ixt:num-dot-decimal" scale="3" id="f-1196">12,422</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:DeferredTaxAssetsOther" format="ixt:num-dot-decimal" scale="3" id="f-1197">10,417</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross deferred tax assets</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:DeferredTaxAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-1198">63,820</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:DeferredTaxAssetsGross" format="ixt:num-dot-decimal" scale="3" id="f-1199">68,148</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Valuation allowances</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:DeferredTaxAssetsValuationAllowance" format="ixt:num-dot-decimal" scale="3" id="f-1200">26,593</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:DeferredTaxAssetsValuationAllowance" format="ixt:num-dot-decimal" scale="3" id="f-1201">26,488</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax assets, net of valuation allowances</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:DeferredTaxAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-1202">37,227</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:DeferredTaxAssetsNet" format="ixt:num-dot-decimal" scale="3" id="f-1203">41,660</ix:nonFraction>)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net deferred tax liabilities</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:DeferredTaxLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-1204">57,086</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:DeferredTaxLiabilities" format="ixt:num-dot-decimal" scale="3" id="f-1205">46,881</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2023, the Company had total net operating loss carry forwards of $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:OperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="f-1206">17.5</ix:nonFraction> million, which included $<ix:nonFraction unitRef="usd" contextRef="c-241" decimals="-5" name="us-gaap:OperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="f-1207">0.3</ix:nonFraction> million for federal, $<ix:nonFraction unitRef="usd" contextRef="c-242" decimals="-5" name="us-gaap:OperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="f-1208">16.5</ix:nonFraction> million for state, and $<ix:nonFraction unitRef="usd" contextRef="c-243" decimals="-5" name="us-gaap:OperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="f-1209">0.7</ix:nonFraction> million for foreign income tax purposes. The federal and state net operating loss carry forwards expire between 2024 and 2043. The foreign net operating loss carry forwards expire between 2024 and 2043. The Company recognized a total of $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="f-1210">1.1</ix:nonFraction> million of deferred tax assets, net of the federal tax benefit, related to these net operating losses prior to any valuation allowances, which included $<ix:nonFraction unitRef="usd" contextRef="c-241" decimals="-5" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="f-1211">0.1</ix:nonFraction> million of federal and $<ix:nonFraction unitRef="usd" contextRef="c-242" decimals="-5" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="f-1212">0.8</ix:nonFraction> million of state deferred tax assets and $<ix:nonFraction unitRef="usd" contextRef="c-243" decimals="-5" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="f-1213">0.2</ix:nonFraction>&#160;million of foreign deferred tax assets.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of the sale of the Industrial business during 2021, the Company generated a capital loss of $<ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-5" name="rock:CapitalLossCarryforward" format="ixt:num-dot-decimal" scale="6" id="f-1214">113.7</ix:nonFraction>&#160;million for federal and state purposes to the extent allowable under state tax regulations. Amended Federal returns were filed to carry back $<ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-5" name="rock:CapitalLossCarryforwardAmendedReturns" format="ixt:num-dot-decimal" scale="6" id="f-1215">3.7</ix:nonFraction>&#160;million of capital loss. As of December 31, 2023, the remaining capital loss carry forward is $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="rock:CapitalLossCarryforward" format="ixt:num-dot-decimal" scale="6" id="f-1216">110.0</ix:nonFraction>&#160;million. The capital loss carryforward will expire in 2026.  The Company recognized a total of $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:DeferredTaxAssetsCapitalLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="f-1217">26.5</ix:nonFraction>&#160;million of deferred tax assets, net of the federal benefit, related to this carryforward prior to any valuation allowances, which included $<ix:nonFraction unitRef="usd" contextRef="c-241" decimals="-5" name="us-gaap:DeferredTaxAssetsCapitalLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="f-1218">22.2</ix:nonFraction>&#160;million of federal and $<ix:nonFraction unitRef="usd" contextRef="c-242" decimals="-5" name="us-gaap:DeferredTaxAssetsCapitalLossCarryforwards" format="ixt:num-dot-decimal" scale="6" id="f-1219">4.3</ix:nonFraction>&#160;million of state deferred tax assets. The Company has a full valuation allowance on the capital loss carry forward and as a result there is no deferred tax asset related to the capital loss.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred taxes include net deferred tax assets relating to certain state and foreign tax jurisdictions. A reduction of the carrying amount of deferred tax assets by a valuation allowance is required if it is more likely than not that such assets will not be realized.</span></div><ix:nonNumeric contextRef="c-1" name="us-gaap:SummaryOfValuationAllowanceTextBlock" id="f-1220" escape="true"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following sets forth a reconciliation of the beginning and ending amount of the Company&#8217;s valuation allowance (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:59.222%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.640%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of January&#160;1</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-244" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" format="ixt:num-dot-decimal" scale="3" id="f-1221">26,488</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-245" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" format="ixt:num-dot-decimal" scale="3" id="f-1222">26,581</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-246" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" scale="3" id="f-1223">111</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost charged to the tax provision</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-247" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" id="f-1224">105</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-248" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" id="f-1225">10</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-249" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense" scale="3" id="f-1226">13</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reductions</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-247" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesDeductions" format="ixt:fixed-zero" scale="3" id="f-1227">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-248" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="f-1228">103</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-249" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="f-1229">41</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reclassification from discontinued operations upon sale of industrial group</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-247" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesAdjustments" format="ixt:fixed-zero" scale="3" id="f-1230">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-248" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesAdjustments" format="ixt:fixed-zero" scale="3" id="f-1231">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-249" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesAdjustments" format="ixt:num-dot-decimal" scale="3" id="f-1232">26,498</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December&#160;31</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-250" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" format="ixt:num-dot-decimal" scale="3" id="f-1233">26,593</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-244" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" format="ixt:num-dot-decimal" scale="3" id="f-1234">26,488</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-245" decimals="-3" name="us-gaap:ValuationAllowancesAndReservesBalance" format="ixt:num-dot-decimal" scale="3" id="f-1235">26,581</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">61</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><ix:continuation id="f-1090-4"><ix:nonNumeric contextRef="c-1" name="rock:IncomeTaxesPaidAndNetOfTaxRefundsTableTextBlock" id="f-1236" escape="true"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company made net payments for income taxes for the following amounts for the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.830%"><tr><td style="width:1.0%"/><td style="width:54.077%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.249%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.539%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.249%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.539%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.547%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Payments made for income taxes, net</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeTaxesPaidNet" format="ixt:num-dot-decimal" scale="3" id="f-1237">23,447</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:IncomeTaxesPaidNet" format="ixt:num-dot-decimal" scale="3" id="f-1238">27,017</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:IncomeTaxesPaidNet" format="ixt:num-dot-decimal" scale="3" id="f-1239">22,076</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December 31, 2023, the Company had approximately $<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-5" name="us-gaap:DeferredTaxLiabilitiesUndistributedForeignEarnings" scale="6" id="f-1240">1.4</ix:nonFraction> million of undistributed earnings of foreign subsidiaries.  The Company continues to maintain its assertion that all remaining foreign earnings will be indefinitely reinvested.  Any excess earnings could be used to grow the Company's foreign operations through launches of new capital projects or additional acquisitions. Determination of the amount of unrecognized deferred U.S. income tax liability related to the Company's remaining unremitted foreign earnings is not practicable due to the complexities associated with its hypothetical calculation.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company did not have any unrecognized tax benefits or activity related to such benefits in any of the years presented in the consolidated financial statements. The Company classifies accrued interest and penalties related to unrecognized tax benefits in income tax expense.  <ix:nonFraction unitRef="usd" contextRef="c-1" decimals="0" name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" format="ixt:fixed-zero" scale="0" id="f-1241"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="0" name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" format="ixt:fixed-zero" scale="0" id="f-1242"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="0" name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" format="ixt:fixed-zero" scale="0" id="f-1243">No</ix:nonFraction></ix:nonFraction></ix:nonFraction> interest or penalties have been recognized during the years presented.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company and its U.S. subsidiaries file a U.S. federal consolidated income tax return. Foreign and U.S. state jurisdictions have statute of limitations generally ranging from <span style="-sec-ix-hidden:f-1244">four</span> to <ix:nonNumeric contextRef="c-55" name="rock:IncomeTaxStatueOfLimitationsExpirationPeriod" format="ixt-sec:durwordsen" id="f-1245">ten years</ix:nonNumeric>. The Company is currently in appeals for an audit of tax years 2016 through 2019 in Massachusetts and believes the technical merits of the position will be sustained.</span></div></ix:continuation><div style="text-align:justify"><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_136"></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(17) <ix:nonNumeric contextRef="c-1" name="us-gaap:EarningsPerShareTextBlock" id="f-1246" continuedAt="f-1246-1" escape="true">EARNINGS PER SHARE</ix:nonNumeric></span></div><ix:continuation id="f-1246-1"><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="f-1247" escape="true"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average shares outstanding for basic and diluted earnings were as follows for the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:59.222%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.640%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Numerator:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income from continuing operations</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperations" format="ixt:num-dot-decimal" scale="3" id="f-1248">110,533</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperations" format="ixt:num-dot-decimal" scale="3" id="f-1249">82,406</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:IncomeLossFromContinuingOperations" format="ixt:num-dot-decimal" scale="3" id="f-1250">74,516</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income from discontinued operations</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity" format="ixt:fixed-zero" scale="3" id="f-1251">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity" format="ixt:fixed-zero" scale="3" id="f-1252">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity" format="ixt:num-dot-decimal" scale="3" id="f-1253">1,113</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income available to common shareholders</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-1254">110,533</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-1255">82,406</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:NetIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-1256">75,629</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator for basic earnings per share:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares outstanding</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-1257">30,626</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-1258">32,096</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-5" decimals="-3" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" format="ixt:num-dot-decimal" scale="3" id="f-1259">32,873</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator for diluted earnings per share:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Common stock options and stock units</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="f-1260">159</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="-3" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="f-1261">96</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-5" decimals="-3" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="f-1262">181</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares and conversions</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-1" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-1263">30,785</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-4" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-1264">32,192</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="shares" contextRef="c-5" decimals="-3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" format="ixt:num-dot-decimal" scale="3" id="f-1265">33,054</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" id="f-1266" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides the potential anti-dilutive common stock units not included in the diluted weighted average shares calculations for the years ended December 31 (in thousands): </span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:59.222%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.640%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Common stock units</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-251" decimals="0" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="f-1267">26</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-252" decimals="0" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="3" id="f-1268">43</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"><ix:nonFraction unitRef="shares" contextRef="c-253" decimals="0" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" format="ixt:fixed-zero" scale="3" id="f-1269">&#8212;</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric></ix:continuation><div><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_139"></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(18) <ix:nonNumeric contextRef="c-1" name="us-gaap:LesseeOperatingLeasesTextBlock" id="f-1270" continuedAt="f-1270-1" escape="true">LEASES </ix:nonNumeric></span></div><ix:continuation id="f-1270-1" continuedAt="f-1270-2"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's leases are classified as operating leases and consist of manufacturing facilities, distribution centers, office space, vehicles and equipment.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Most of the Company's leases include one or more options to renew, with renewal terms that can extend the respective lease term from <ix:nonNumeric contextRef="c-254" name="us-gaap:LesseeOperatingLeaseRenewalTerm" format="ixt-sec:durwordsen" id="f-1271">one month</ix:nonNumeric> to <ix:nonNumeric contextRef="c-56" name="us-gaap:LesseeOperatingLeaseRenewalTerm" format="ixt-sec:durwordsen" id="f-1272">ten years</ix:nonNumeric>. The exercise of lease renewal options is at the Company's sole discretion.  As of December&#160;31, 2023 and 2022, the Company's renewal options are not part of the Company's operating lease assets and operating lease liabilities.  Certain leases also include options to purchase at fair value the underlying leased asset at the Company's sole discretion.</span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">62</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><ix:continuation id="f-1270-2"><ix:nonNumeric contextRef="c-1" name="us-gaap:LeaseCostTableTextBlock" id="f-1273" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of lease costs for the years ended December 31 were as follows (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:65.566%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.572%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.572%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.576%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OperatingLeaseCost" format="ixt:num-dot-decimal" scale="3" id="f-1274">12,940</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OperatingLeaseCost" format="ixt:num-dot-decimal" scale="3" id="f-1275">11,191</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OperatingLeaseCost" format="ixt:num-dot-decimal" scale="3" id="f-1276">10,977</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term lease cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:ShortTermLeaseCost" format="ixt:num-dot-decimal" scale="3" id="f-1277">4,645</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:ShortTermLeaseCost" format="ixt:num-dot-decimal" scale="3" id="f-1278">5,694</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:ShortTermLeaseCost" format="ixt:num-dot-decimal" scale="3" id="f-1279">7,153</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease cost</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:LeaseCost" format="ixt:num-dot-decimal" scale="3" id="f-1280">17,585</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:LeaseCost" format="ixt:num-dot-decimal" scale="3" id="f-1281">16,885</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:LeaseCost" format="ixt:num-dot-decimal" scale="3" id="f-1282">18,130</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information related to the Company's operating right-of-use assets and related operating lease liabilities for the years ended December 31 were as follows (in thousands):</span></div><div style="margin-top:3pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:65.566%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.572%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.572%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.576%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash paid for amounts included in the measurement of operating liabilities</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OperatingLeasePayments" format="ixt:num-dot-decimal" scale="3" id="f-1283">10,628</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OperatingLeasePayments" format="ixt:num-dot-decimal" scale="3" id="f-1284">8,835</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OperatingLeasePayments" format="ixt:num-dot-decimal" scale="3" id="f-1285">9,431</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Right-of-use assets obtained in exchange for new lease liabilities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="f-1286">27,468</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="f-1287">17,008</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="f-1288">1,084</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information related to the Company's lease terms and discount rates as of December 31 were as follows:</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:67.467%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.818%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:5.332%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.818%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:5.335%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average remaining lease term - operating leases</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-7" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear" id="f-1289">6.6</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonNumeric contextRef="c-8" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear" id="f-1290">5.3</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">years</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average discount rate - operating leases</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-7" decimals="3" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" format="ixt:num-dot-decimal" id="f-1291">5.0</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="number" contextRef="c-8" decimals="3" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" format="ixt:num-dot-decimal" id="f-1292">5.0</ix:nonFraction></span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="f-1293" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The future maturity of the Company's lease liabilities as of December&#160;31, 2023 were as follows (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:88.227%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.573%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" format="ixt:num-dot-decimal" scale="3" id="f-1294">12,329</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" format="ixt:num-dot-decimal" scale="3" id="f-1295">9,748</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" format="ixt:num-dot-decimal" scale="3" id="f-1296">6,304</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" format="ixt:num-dot-decimal" scale="3" id="f-1297">4,775</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" format="ixt:num-dot-decimal" scale="3" id="f-1298">4,391</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">After 2028</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" format="ixt:num-dot-decimal" scale="3" id="f-1299">17,191</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease payments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" format="ixt:num-dot-decimal" scale="3" id="f-1300">54,738</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: present value discount</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" format="ixt:num-dot-decimal" scale="3" id="f-1301">8,471</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Present value of lease liabilities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:OperatingLeaseLiability" format="ixt:num-dot-decimal" scale="3" id="f-1302">46,267</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company uses its incremental borrowing rate based on information available at the commencement date of a lease in determining the present value of lease payments as the rates implicit in most of the Company's leases are not readily determinable.</span></div></ix:continuation><div style="text-align:justify"><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_142"></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(19) <ix:nonNumeric contextRef="c-1" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="f-1303" continuedAt="f-1303-1" escape="true">COMMITMENTS AND CONTINGENCIES</ix:nonNumeric></span></div><ix:continuation id="f-1303-1"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is a party to certain claims and legal actions generally incidental to its business. Management does not believe that the outcome of any claims, or other claims which are not clearly determinable at the present time, would result in a material adverse effect on the Company's financial condition or results of operations.</span></div></ix:continuation><div><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_145"></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(20) <ix:nonNumeric contextRef="c-1" name="us-gaap:SegmentReportingDisclosureTextBlock" id="f-1304" continuedAt="f-1304-1" escape="true">SEGMENT INFORMATION</ix:nonNumeric></span></div><ix:continuation id="f-1304-1" continuedAt="f-1304-2"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is organized into <ix:nonFraction unitRef="segment" contextRef="c-1" decimals="INF" name="us-gaap:NumberOfReportableSegments" format="ixt-sec:numwordsen" scale="0" id="f-1305">four</ix:nonFraction> reportable segments on the basis of the production processes, products and services provided by each segment, identified as follows:</span></div><div style="margin-top:6pt;padding-left:31.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(i)</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.12pt">Renewables, which primarily includes designing, engineering, manufacturing and installation of solar racking and electrical balance of systems;</span></div><div style="margin-top:3pt;padding-left:31.5pt;text-align:justify;text-indent:-18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(ii)</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.9pt">Residential, which primarily includes designing, engineering and manufacturing of roof and foundation ventilation products, centralized mail systems and electronic package solutions, retractable awnings and gutter guards, and rain dispersion products, trims and flashings and other accessories;</span></div><div style="margin-top:3pt;padding-left:31.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(iii)</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:4.68pt">Agtech, which provides growing solutions including the designing, engineering, manufacturing and installation of greenhouses; and</span></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">63</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><ix:continuation id="f-1304-2" continuedAt="f-1304-3"><div style="margin-top:3pt;padding-left:31.5pt;text-align:justify;text-indent:-18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(iv)</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:4.12pt">Infrastructure, which primarily includes designing, engineering and manufacturing of structural bearings, expansion joints and pavement sealant for bridges, airport runways and roadways, elastomeric concrete, and bridge cable protection systems.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">When determining the reportable segments, the Company aggregated operating segments based on their similar economic and operating characteristics.  </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables illustrate certain measurements used by management to assess the performance of the segments described above as of and for the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:59.222%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.640%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net sales:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Renewables</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-217" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1306">330,738</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-218" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1307">377,567</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-219" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1308">432,096</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Residential </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-220" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1309">814,803</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-221" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1310">767,248</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-222" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1311">635,505</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agtech</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-223" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1312">144,967</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-224" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1313">168,868</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-225" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1314">199,161</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-226" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1315">87,228</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-227" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1316">76,283</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-228" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1317">73,021</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total consolidated net sales</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1318">1,377,736</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1319">1,389,966</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1320">1,339,783</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income from operations:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Renewables</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-217" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-1321">30,160</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-218" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-1322">25,243</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-219" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-1323">20,158</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Residential </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-220" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-1324">143,068</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-221" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-1325">126,458</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-222" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-1326">105,821</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agtech</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-223" decimals="-3" sign="-" name="us-gaap:OperatingIncomeLoss" scale="3" id="f-1327">928</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-224" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-1328">2,914</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-225" decimals="-3" sign="-" name="us-gaap:OperatingIncomeLoss" scale="3" id="f-1329">931</ix:nonFraction>)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-226" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-1330">18,529</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-227" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-1331">9,003</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-228" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-1332">8,911</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Segments income from operations</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-255" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-1333">190,829</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-256" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-1334">163,618</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-257" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-1335">133,959</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unallocated corporate expenses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-229" decimals="-3" sign="-" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-1336">40,100</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-230" decimals="-3" sign="-" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-1337">33,516</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(<ix:nonFraction unitRef="usd" contextRef="c-231" decimals="-3" sign="-" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-1338">36,971</ix:nonFraction>)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total income from operations</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-1339">150,729</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-1340">130,102</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:OperatingIncomeLoss" format="ixt:num-dot-decimal" scale="3" id="f-1341">96,988</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Depreciation and Amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Renewables</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-217" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-1342">8,671</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-218" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-1343">8,467</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-219" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-1344">14,682</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Residential</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-220" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-1345">10,080</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-221" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-1346">8,983</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-222" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-1347">8,694</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agtech</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-223" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-1348">3,789</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-224" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-1349">4,377</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-225" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-1350">5,279</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-226" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-1351">3,137</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-227" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-1352">3,150</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-228" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-1353">3,092</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unallocated corporate expenses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-229" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-1354">1,701</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-230" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-1355">1,190</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-231" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="f-1356">219</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-1357">27,378</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-1358">26,167</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:DepreciationDepletionAndAmortization" format="ixt:num-dot-decimal" scale="3" id="f-1359">31,966</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">64</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><ix:continuation id="f-1304-3" continuedAt="f-1304-4"><ix:nonNumeric contextRef="c-1" name="us-gaap:ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock" id="f-1360" escape="true"><div style="margin-top:6pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:59.222%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.640%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total assets</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Renewables</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-258" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-1361">377,694</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-259" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-1362">392,368</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-260" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-1363">445,486</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Residential</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-261" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-1364">515,739</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-262" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-1365">519,567</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-263" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-1366">453,469</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agtech</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-264" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-1367">168,213</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-265" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-1368">193,966</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-266" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-1369">212,038</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-267" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-1370">77,518</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-268" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-1371">80,264</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-269" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-1372">82,662</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unallocated corporate assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-270" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-1373">117,287</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-271" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-1374">24,448</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-272" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-1375">21,246</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-1376">1,256,451</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-1377">1,210,613</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-3" name="us-gaap:Assets" format="ixt:num-dot-decimal" scale="3" id="f-1378">1,214,901</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Capital expenditures</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Renewables</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-217" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-1379">1,113</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-218" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-1380">3,589</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-219" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-1381">4,268</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Residential </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-220" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-1382">6,913</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-221" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-1383">10,050</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-222" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-1384">4,182</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agtech</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-223" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-1385">1,419</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-224" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-1386">3,177</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-225" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-1387">3,289</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-226" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-1388">1,313</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-227" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-1389">1,898</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-228" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-1390">2,097</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unallocated corporate expenditures</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-229" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-1391">4,239</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-230" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-1392">1,424</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-231" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-1393">3,869</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-1394">14,997</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-1395">20,138</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" format="ixt:num-dot-decimal" scale="3" id="f-1396">17,705</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="c-1" name="us-gaap:DisaggregationOfRevenueTableTextBlock" id="f-1397" escape="true"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables illustrate revenue disaggregated by timing of transfer of control to the customer for the years ended December 31 (in thousands): </span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"><tr><td style="width:1.0%"/><td style="width:20.211%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.846%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.545%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.995%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.545%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.375%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.545%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.995%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.545%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.998%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Renewables</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Residential</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Agtech</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Infrastructure</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net sales:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Point in Time</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-273" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1398">49,123</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-274" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1399">808,225</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-275" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1400">4,920</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-276" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1401">31,547</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-277" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1402">893,815</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Over Time</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-278" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1403">281,615</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-279" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1404">6,578</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-280" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1405">140,047</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-281" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1406">55,681</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-282" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1407">483,921</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-88" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1408">330,738</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-89" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1409">814,803</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-90" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1410">144,967</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-91" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1411">87,228</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1412">1,377,736</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:8pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="27" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Renewables</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Residential</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Agtech</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Infrastructure</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net sales:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Point in Time</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-283" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1413">27,317</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-284" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1414">761,576</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-285" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1415">13,011</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-286" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1416">32,983</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-287" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1417">834,887</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Over Time</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-288" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1418">350,250</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-289" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1419">5,672</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-290" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1420">155,857</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-291" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1421">43,300</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-292" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1422">555,079</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-80" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1423">377,567</ix:nonFraction>&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-81" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1424">767,248</ix:nonFraction>&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-82" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1425">168,868</ix:nonFraction>&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-83" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1426">76,283</ix:nonFraction>&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1427">1,389,966</ix:nonFraction>&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:8pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Renewables</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Residential</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Agtech</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Infrastructure</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net sales:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Point in Time</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-293" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1428">28,630</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-294" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1429">630,494</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-295" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1430">20,157</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-296" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1431">32,512</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-297" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1432">711,793</ix:nonFraction>&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Over Time</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-298" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1433">403,466</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-299" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1434">5,011</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-300" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1435">179,004</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-301" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1436">40,509</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-302" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1437">627,990</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-303" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1438">432,096</ix:nonFraction>&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-304" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1439">635,505</ix:nonFraction>&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-305" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1440">199,161</ix:nonFraction>&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-306" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1441">73,021</ix:nonFraction>&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1442">1,339,783</ix:nonFraction>&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:nonNumeric></ix:continuation><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">65</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><ix:nonNumeric contextRef="c-1" name="us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" id="f-1443" escape="true"><ix:continuation id="f-1304-4"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net sales by region or origin and long-lived assets by region of domicile for the years ended and as of December&#160;31 were as follows (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:59.222%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.640%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">North America</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-307" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1444">1,366,012</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-308" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1445">1,373,907</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-309" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1446">1,318,795</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asia</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-310" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1447">11,724</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-311" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1448">16,059</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-312" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1449">20,988</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-1" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1450">1,377,736</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-4" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1451">1,389,966</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-5" decimals="-3" name="us-gaap:Revenues" format="ixt:num-dot-decimal" scale="3" id="f-1452">1,339,783</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-lived assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">North America</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-313" decimals="-3" name="us-gaap:NoncurrentAssets" format="ixt:num-dot-decimal" scale="3" id="f-1453">154,778</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-314" decimals="-3" name="us-gaap:NoncurrentAssets" format="ixt:num-dot-decimal" scale="3" id="f-1454">136,553</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-315" decimals="-3" name="us-gaap:NoncurrentAssets" format="ixt:num-dot-decimal" scale="3" id="f-1455">97,003</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asia</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-316" decimals="-3" name="us-gaap:NoncurrentAssets" scale="3" id="f-1456">59</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-317" decimals="-3" name="us-gaap:NoncurrentAssets" scale="3" id="f-1457">234</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-318" decimals="-3" name="us-gaap:NoncurrentAssets" scale="3" id="f-1458">365</ix:nonFraction>&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-7" decimals="-3" name="us-gaap:NoncurrentAssets" format="ixt:num-dot-decimal" scale="3" id="f-1459">154,837</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-8" decimals="-3" name="us-gaap:NoncurrentAssets" format="ixt:num-dot-decimal" scale="3" id="f-1460">136,787</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><ix:nonFraction unitRef="usd" contextRef="c-9" decimals="-3" name="us-gaap:NoncurrentAssets" format="ixt:num-dot-decimal" scale="3" id="f-1461">97,368</ix:nonFraction>&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div></ix:continuation></ix:nonNumeric><div style="margin-top:5pt"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">66</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:5pt"><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_148"></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:7.684%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:90.116%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Item&#160;9.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%;text-decoration:underline">Changes in and Disagreements with Accountants on Accounting and Financial Disclosure</span></td></tr></table></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Not applicable.</span></div><div><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_151"></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:7.684%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:90.116%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Item&#160;9A.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%;text-decoration:underline">Controls and Procedures</span></td></tr></table></div><div style="margin-top:1pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Evaluation of Disclosure Controls and Procedures</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company maintains a system of disclosure controls and procedures (as defined in Rule 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934). Management of the Company, under the supervision and with the participation of the Chief Executive Officer and the Chief Financial Officer, evaluated the effectiveness of the Company&#8217;s disclosure controls and procedures as of the end of the period covered in this report.&#160;Based upon that evaluation and the definition of disclosure controls and procedures contained in Rule 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934, the Company&#8217;s Chief Executive Officer and Chief Financial Officer have concluded that as of the end of such period the Company&#8217;s disclosure controls and procedures were effective.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Management&#8217;s Annual Report on Internal Control Over Financial Reporting</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The management of Gibraltar Industries, Inc. is responsible for establishing and maintaining adequate internal control over financial reporting for the Company, as such term is defined in Rule 13a-15(f) under the Securities Exchange Act of 1934. Under the supervision and with the participation of management, including the Company&#8217;s Chief Executive Officer and Chief Financial Officer, the Company conducted an evaluation of the effectiveness of internal control over financial reporting based on the framework in </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Internal Control &#8211; Integrated Framework</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> issued by the Committee of Sponsoring Organizations of the Treadway Commission </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">(2013 framework</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">)</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Based on the Company&#8217;s evaluation, management concluded that the Company&#8217;s internal control over financial reporting was effective as of December&#160;31, 2023. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's acquisition of a privately held Utah-based company was excluded from management's annual report on internal control over financial reporting as of December 31, 2023.  The Company acquired this privately held Utah-based company on July 5, 2023, for which its results are included in the Company's 2023 consolidated financial statements and were $11.7 million of total assets and $11.0 million of net assets, respectively, as of December 31, 2023, and $4.4 million and $0.9 million of net sales and net income, respectively, for the year then ended.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The effectiveness of the Company&#8217;s internal control over financial reporting as of December&#160;31, 2023 has been audited by Ernst&#160;&amp; Young LLP, an independent registered public accounting firm, as stated in their report which is included below in this Item&#160;9A of this Annual Report on Form&#160;10-K.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Changes in Internal Control over Financial Reporting</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company implemented a new Enterprise Resource Planning (&#8220;ERP&#8221;) system for one of the Company's operating units in the Renewables segment during the quarter ended December 31, 2023. The implementation of this ERP system is expected to, among other things, improve user access security and automate a number of accounting and reporting processes and activities, thereby decreasing the amount of manual processes previously required. Except for the implementation of this ERP system, there have been no changes in the Company&#8217;s internal control over financial reporting (as defined by Rule 13a-15(f)) that occurred during the three months ended December&#160;31, 2023 that have materially affected, or are reasonably likely to materially affect, the Company&#8217;s internal control over financial reporting.</span></div><div style="margin-top:6pt"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">67</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="text-align:center"><span><br/></span></div><div style="margin-top:18pt;text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Report of Independent Registered Public Accounting Firm</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To the Stockholders and the Board of Directors of Gibraltar Industries, Inc.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Opinion on Internal Control Over Financial Reporting</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have audited Gibraltar Industries, Inc.&#8217;s internal control over financial reporting as of December 31, 2023, based on criteria established in Internal Control&#8211;Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission (2013 framework) (the COSO criteria). In our opinion, Gibraltar Industries, Inc. (the Company) maintained, in all material respects, effective internal control over financial reporting as of December 31, 2023, based on the COSO criteria.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As indicated in the accompanying Management&#8217;s Annual Report on Internal Control Over Financial Reporting, management&#8217;s assessment of and conclusion on the effectiveness of internal control over financial reporting did not include the internal controls of the privately held Utah-based company acquired in July 2023, which is included in the 2023 consolidated financial statements of the Company and constituted 0.9% and 1.2% of total and net assets, respectively, as of December 31, 2023 and 0.3% and 0.8% of net sales and net income, respectively, for the year then ended. Our audit of internal control over financial reporting of the Company also did not include an evaluation of the internal control over financial reporting of the Utah-based company. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We also have audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the 2023 consolidated financial statements of the Company and our report dated February 21, 2024 expressed an unqualified opinion thereon.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basis for Opinion</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s management is responsible for maintaining effective internal control over financial reporting and for its assessment of the effectiveness of internal control over financial reporting included in the accompanying Management&#8217;s Annual Report on Internal Control Over Financial Reporting. Our responsibility is to express an opinion on the Company&#8217;s internal control over financial reporting based on our audit. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We conducted our audit in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether effective internal control over financial reporting was maintained in all material respects.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our audit included obtaining an understanding of internal control over financial reporting, assessing the risk that a material weakness exists, testing and evaluating the design and operating effectiveness of internal control based on the assessed risk, and performing such other procedures as we considered necessary in the circumstances. We believe that our audit provides a reasonable basis for our opinion.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Definition and Limitations of Internal Control Over Financial Reporting</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A company&#8217;s internal control over financial reporting is a process designed 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. A company&#8217;s internal control over financial reporting includes those policies and procedures that (1) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the company; (2) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts and expenditures of the company are being made only in accordance with authorizations of management and directors of the company; and (3) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of the company&#8217;s assets that could have a material effect on the financial statements.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">68</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">/s/ Ernst &amp; Young LLP</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Boston, Massachusetts </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February 21, 2024</span></div><div><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">69</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_154"></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:7.684%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:90.116%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Item&#160;9B.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%;text-decoration:underline">Other information</span></td></tr></table></div><div style="padding-left:36pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_157"></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:7.684%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:90.116%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Item&#160;9C.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%;text-decoration:underline">Disclosure Regarding Foreign Jurisdictions that Prevent Inspections</span></td></tr></table></div><div style="padding-left:36pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Not applicable.</span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">70</span></div></div></div><div id="i32dbd54440254257bc94c8354b78dd51_160"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">PART III</span></div><div><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_163"></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:7.684%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:90.116%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Item&#160;10.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%;text-decoration:underline">Directors, Executive Officers and Corporate Governance</span></td></tr></table></div><div style="margin-top:1pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information regarding directors and executive officers of the Company, as well as the required disclosures with respect to the Company&#8217;s audit committee financial expert, is incorporated herein by reference to the information included in the Company&#8217;s 2024 Proxy Statement which will be filed with the Commission within 120 days after the end of the Company&#8217;s 2023 fiscal year.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has adopted a Code of Ethics that applies to all of the Company's directors, officers, employees and representatives, including the Company's Chief Executive Officer and Chief Financial Officer. The complete text of this Code of Ethics is available in the corporate governance section of the Company's website at www.gibraltar1.com. The Company does not intend to incorporate the contents of its website into this Annual Report on Form 10-K.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company intends to disclose future amendments to certain provisions of the Company's Code of Ethics, or waivers of such provisions, applicable to the Company's Chief Executive Officer and Chief Financial Officer on the Company's website identified above.</span></div><div><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_166"></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:7.684%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:90.116%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Item&#160;11.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%;text-decoration:underline">Executive Compensation</span></td></tr></table></div><div style="margin-top:1pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information regarding executive compensation is incorporated herein by reference to the information included in the Company&#8217;s 2024 Proxy Statement which will be filed with the Commission within 120 days after the end of the Company&#8217;s 2023 fiscal year.</span></div><div><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_169"></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:7.684%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:90.116%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Item&#160;12.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%;text-decoration:underline">Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters</span></td></tr></table></div><div style="margin-top:1pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information regarding security ownership of certain beneficial owners and management and the Company's equity compensation plans are incorporated herein by reference to the information included in the Company&#8217;s 2024 Proxy Statement which will be filed with the Commission within 120 days after the end of the Company&#8217;s 2023 fiscal year.</span></div><div><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_172"></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:7.684%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:90.116%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Item&#160;13.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%;text-decoration:underline">Certain Relationships and Related Transactions, and Director Independence</span></td></tr></table></div><div style="margin-top:1pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information regarding certain relationships and related transactions and director independence is incorporated herein by reference to the information included in the Company&#8217;s 2024 Proxy Statement which will be filed with the Commission within 120 days after the end of the Company&#8217;s 2023 fiscal year.</span></div><div><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_175"></div><div style="text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:7.684%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:90.116%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Item&#160;14.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%;text-decoration:underline">Principal Accountant Fees and Services</span></td></tr></table></div><div style="margin-top:1pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information regarding principal accounting fees and services is incorporated herein by reference to the information included in the Company&#8217;s 2024 Proxy Statement which will be filed with the Commission within 120 days after the end of the Company&#8217;s 2023 fiscal year.</span></div><div style="margin-bottom:17pt;margin-top:17pt"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">71</span></div></div></div><div id="i32dbd54440254257bc94c8354b78dd51_178"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration:underline">PART IV</span></div><div><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_181"></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:7.684%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:90.116%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Item&#160;15.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%;text-decoration:underline">Exhibits and Financial Statement Schedules</span></td></tr></table></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:0.1%"/><td style="width:0.824%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:2.560%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:2.560%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.410%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:3.585%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:84.261%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(a)</span></td><td colspan="12" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">The following documents are filed as part of this Annual Report on Form 10K:</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Consolidated Financial Statements:</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(i)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Report of Independent Registered Public Accounting Firm</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(ii)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Consolidated Statements of Income for the Years Ended December&#160;31, 2023, 2022, and  2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(iii)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Consolidated Statements of Comprehensive Income for the Years Ended December&#160;31, 2023, 2022, and 2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(iv)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Consolidated Balance Sheets as of December&#160;31, 2023 and 2022</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(v)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Consolidated Statements of Cash Flows for the Years Ended December&#160;31, 2023, 2022, and 2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(vi)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Consolidated Statements of Stockholders&#8217; Equity and Comprehensive Income for the Years Ended December&#160;31, 2023, 2022, and 2021</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(vii)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Notes to Consolidated Financial Statements</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2)</span></td><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Financial Statement Schedule:</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">All schedules are omitted because they are not required, or because the required information is provided in the consolidated financial statements, including the notes thereto.</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3)</span></td><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exhibits Required by Item 601 of Regulation S-K: The list of exhibits to this Annual Report on Form 10-K is set forth on the attached </span><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_184">Exhibit Index</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">. Each management contract or compensatory plan or arrangement is identified as such in the Exhibit Index.</span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(b)</span></td><td colspan="12" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exhibits:</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">The documents listed in the Exhibit Index are filed or furnished with this Annual Report on Form 10-K or incorporated by reference into this Annual Report on Form 10-K.</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">72</span></div></div></div><div id="i32dbd54440254257bc94c8354b78dd51_184"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="-sec-extract:summary"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="-sec-extract:summary;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:9.441%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.385%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:87.774%"/><td style="width:0.1%"/></tr><tr><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Exhibit&#160;Index</span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">No.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">Exhibit</span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="6" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/912562/000091256221000029/ex31-gibraltarcertofinca.htm">3.1</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certificate of Incorporation of Gibraltar Industries, Inc., as amended by: (i) Certificate of Amendment of Certificate of Incorporation of Gibraltar Industries, Inc. filed on October 27, 2004, (ii) Certificate of Change of Registered Agent and Registered Office of Gibraltar Industries, Inc. filed on May 11, 2005, (iii) Certificate of Amendment of Certificate of Incorporation of Gibraltar Industries, Inc. filed on May 22, 2012, (iv) Certificate of Amendment of Certificate of Incorporation of Gibraltar Industries, Inc. filed on May 11, 2015, (v) Certificate of Change of Registered Agent and/or Registered Office filed on January 10, 2019, (vi) Certificate of Amendment of Certificate of Incorporation of Gibraltar Industries, Inc. filed on May 6, 2021 (incorporated by reference to Exhibit&#160;3.1 to the Company&#8217;s Quarterly Report on Form&#160;10-Q filed on August 3, 2021), and (vii) </span><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/912562/000091256223000027/exhibit31-certificateofame.htm">Certificate of Amendment of Certificate of Incorporation of Gibraltar Industries, Inc. </a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">filed on May 3, 2023 (incorporated by reference to Exhibit&#160;3.1 to the Company&#8217;s Current Report on Form&#160;8-K filed on May 8, 2023)</span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="6" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/912562/000091256222000049/exhibit31amendedandrestate.htm">3.2</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Second Amended and Restated By-Laws of Gibraltar Industries, Inc., effective as of December 7, 2022 (incorporated by reference to Exhibit&#160;3.1 to the Company&#8217;s Current Report on Form 8-K/A filed on December 9, 2022)</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="6" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/912562/000091256223000009/ex41descriptionofregistran.htm">4.1</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Description of Registrant's Securities (incorporated by reference to Exhibit&#160;4.1 to the Company&#8217;s Current Report on Form 8-K/A filed on December 9, 2022)</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="6" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/912562/000091256219000002/exhibit101correspondence.htm">10.1</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Correspondence dated December 17, 2018, from William P. Montague to William T. Bosway (incorporated by reference to Exhibit 10.1 to the Company's Current Report on Form 8-K filed January 7, 2019)</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/912562/000091256219000002/exhibit102restrictivecovan.htm">10.2</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restrictive Covenants and Severance Agreement by and between Gibraltar Industries, Inc. and William T. Bosway, dated December 17, 2018 and effective January 2, 2019 (incorporated by reference to Exhibit 10.2 to the Company's Current Report on Form 8-K filed January 7, 2019)</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/912562/000091256223000035/exhibit101changeincontrole.htm">10.3</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gibraltar Industries, Inc. Change in Control Executive Severance Plan, effective as of July 28, 2023 (incorporated by reference to Exhibit 10.1 to the Company's Current Report on Form 8-K filed on August 2, 2023)</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/912562/000091256219000002/exhibit103cicbosway.htm">10.</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/912562/000091256219000002/exhibit103cicbosway.htm">4</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Change in Control Agreement between the Company and William T. Bosway dated December 17, 2018 and effective January 2, 2019 (incorporated by reference to Exhibit 10.3 to the Company&#8217;s Current Report on Form 8-K filed January&#160;7, 2019), as amended by </span><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/912562/000091256223000035/exhibit102firstamendmentto.htm">First Amendment to Change in Control Agreement and Employment Agreement</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, dated July 28, 2023 (incorporated by reference to Exhibit 10.2 to the Company's Current Report on Form 8-K filed on August 2, 2023)</span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/912562/000091256217000017/ex-102.htm">10.5</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Change in Control Agreement between Gibraltar Industries, Inc. and Timothy F. Murphy (incorporated by reference to Exhibit&#160;10.2 to the Company&#8217;s Quarterly Report on Form&#160;10-Q filed May 5, 2017), as amended by </span><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/912562/000091256223000035/exhibit103firstamendmentto.htm">First Amendment to Change in Control Agreement</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, dated July 28, 2023 (incorporated by reference to Exhibit 10.3 to the Company's Current Report on Form 8-K filed on August 2, 2023)</span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/912562/000095015209001698/l35594aexv10w2.htm">10.6</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gibraltar Deferred Compensation Plan Amended and Restated, effective January&#160;1, 2009 (incorporated by reference to Exhibit 10.2 to the Company&#8217;s Current Report on Form 8-K filed February&#160;24, 2009)</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/912562/000091256215000033/exhibit104secondamendmento.htm">10.7</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amended and Restated Gibraltar Industries, Inc. 2005 Equity Incentive Plan (incorporated by reference to </span><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/912562/000095015206010350/l23827aexv10w1.htm">Exhibit&#160;10.1</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> to the Company&#8217;s Current Report on Form&#160;8-K filed December&#160;21, 2006), as amended by Second Amendment to Third Amendment and Restatement of Equity Incentive Plan, dated May 7, 2015 (incorporated by reference to Exhibit 10.4 to the Company&#8217;s Current Report on Form 8-K filed May 12, 2015)</span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="6" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/912562/000095015209000053/l35009aexv10w3.htm">10.8</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gibraltar Industries, Inc. Omnibus Code Section 409A Compliance Policy, dated December&#160;30, 2008 (incorporated by reference to Exhibit&#160;10.3 to the Company&#8217;s Current Report on Form&#160;8-K filed January&#160;6, 2009)</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/912562/000095015209001698/l35594aexv10w1.htm">10.9</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Summary Description of Annual Management Incentive Compensation Plan (incorporated by reference to Exhibit 10.1 to the Company&#8217;s Current Report on Form 8-K filed February&#160;24, 2009)</span></td></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">73</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="-sec-extract:summary"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:9.441%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.385%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:87.774%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">No.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">Exhibit</span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/912562/000091256222000046/exhibit101gibraltar-credit.htm">10.10</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Credit Agreement dated as of December 8, 2022 among Gibraltar Industries, Inc. and Gibraltar Steel Corporation of New York, as borrowers, the lenders named therein, KeyBank National Association, as administrative agent, swing line lender and issuing lender, KeyBanc Capital Markets Inc., as joint lead arranger and joint book runner, Bank of America, N.A., M&amp;T Bank, PNC Bank, National Association, as joint lead arrangers, joint book runners and co-syndication agents, and Comerica Bank, TD Bank, N.A. and Wells Fargo Bank, National Association, as co-documentation agents (incorporated by reference to Exhibit 10.1 to the Company's Current Report on Form 8-K filed December 9, 2022) (1)</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/912562/000091256217000019/exhibit101-firstamendmento.htm">10.11</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gibraltar Industries, Inc. 2015 Equity Incentive Plan (incorporated by reference to </span><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/912562/000091256216000064/ex-104equityincentiveplan.htm">Exhibit 10.4</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> to the Company's Current Report on Form 8-K filed January 7, 2016), and as amended by Gibraltar Industries, Inc. 2015 Equity Incentive Plan First Amendment dated May 5, 2017 (incorporated by reference to Exhibit 10.1 to the Company's Current Report on Form 8-K filed May 9, 2017)</span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/912562/000091256216000066/ex-101msppplansecondamendm.htm">10.12</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gibraltar Industries, Inc. 2015 Management Stock Purchase Plan dated May 7, 2015 (incorporated by reference to </span><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/912562/000091256215000033/exhibit105firstamendmentof.htm">Exhibit 10.5</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> to the Company's Current Report on Form 8-K filed May 12, 2015), as amended by the First Amendment to the Management Stock Purchase Plan dated December 31, 2015 (incorporated by reference to </span><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/912562/000091256216000064/ex-105mspp.htm">Exhibit 10.5</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> to the Company's Current Report on Form 8-K filed January 7, 2016), and further amended by the Gibraltar Industries, Inc. Management Stock Purchase Plan Second Amendment dated January 28, 2016 (incorporated by reference to Exhibit 10.1 to the Company's Current Report on Form 8-K filed January 28, 2016)</span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/912562/000091256223000027/exhibit101-amendedandresta.htm">10.13</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gibraltar Industries, Inc. Amended and Restated 2018 Equity Incentive Plan (incorporated by reference to Exhibit 10.1 to the Company's Current Report on Form 8-K filed on May 8, 2023)</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/912562/000091256218000038/ex101-2018managementstockp.htm">10.14</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gibraltar Industries, Inc. 2018 Management Stock Purchase Plan dated November 1, 2018 (incorporated by reference to Exhibit 10.1 to the Company's Current Report on Form 8-K filed November 1, 2018)</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/912562/000091256216000064/ex-102awardofnonxqualified.htm">10.1</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/912562/000091256216000064/ex-102awardofnonxqualified.htm">5</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gibraltar Industries, Inc. 2015 Equity Incentive Plan Form of Award of Non-Qualified Options dated December 31, 2015 (incorporated by reference to Exhibit 10.2 to the Company's Current Report on Form 8-K filed January 7, 2016)</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/912562/000091256216000068/ex-103gibraltarindustriesi.htm">10.1</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/912562/000091256216000068/ex-103gibraltarindustriesi.htm">6</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gibraltar Industries, Inc. 2015 Equity Incentive Plan Form of Award of Restricted Units dated December 31, 2015 (incorporated by reference to Exhibit 10.3 to the Company's Current Report on Form 8-K filed February 5, 2016)</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/912562/000091256222000020/exhibit101-amended2016plan.htm">10.</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/912562/000091256222000020/exhibit101-amended2016plan.htm">17</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gibraltar Industries, Inc. Amended and Restated 2016 Stock Plan for Non-Employee Directors (incorporated by reference to Exhibit 10.1 to the Company's Current Report on Form 8-K filed May 5, 2022)</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/912562/000091256222000020/exhibit102-formofaward.htm">10.</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/912562/000091256222000020/exhibit102-formofaward.htm">18</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gibraltar Industries, Inc. Amended and Restated 2016 Stock Plan for Non-Employee Directors Form of Award of Common Stock (incorporated by reference to Exhibit 10.2 to the Company's Current Report on Form 8-K filed May 5, 2022)</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/912562/000091256216000085/exhibit102non-employeedire.htm">10.</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/912562/000091256216000085/exhibit102non-employeedire.htm">19</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gibraltar Industries, Inc. Non-Employee Director Stock Deferral Plan (incorporated by reference to Exhibit 10.2 to the Company's Current Report on Form 8-K filed May 10, 2016)</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/912562/000091256219000009/ex1022-formofpsuaward2019x.htm">10.2</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/912562/000091256219000009/ex1022-formofpsuaward2019x.htm">0</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gibraltar Industries, Inc. 2018 Equity Incentive Plan Form of Award of Performance Units dated May 4, 2018 (incorporated by reference to Exhibit 10.22 to the Company's Annual Report on Form 10-K for the year ended December 31, 2018 filed February 27, 2019)</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/912562/000091256219000009/ex1023-formofexecutiveltip.htm">10.2</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="http://www.sec.gov/Archives/edgar/data/912562/000091256219000009/ex1023-formofexecutiveltip.htm">1</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gibraltar Industries, Inc. 2018 Equity Incentive Plan Form of Award of Restricted Units dated May 4, 2018 (incorporated by reference to Exhibit 10.23 to the Company's Annual Report on Form 10-K for the year ended December 31, 2018 filed February 27, 2019)</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/912562/000091256223000037/q22023exhibit103.htm">10.2</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/912562/000091256223000037/q22023exhibit103.htm">2</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Form of Award of Performance Units under the Gibraltar Industries, Inc. Amended and Restated 2018 Equity Incentive Plan (incorporated by reference to Exhibit 10.3 to the Company's Quarterly Report on Form 10-Q for the quarterly period ended June 30, 2023 filed August 2, 2023)</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/912562/000091256223000046/q32023exhibit101.htm">10.2</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/912562/000091256223000046/q32023exhibit101.htm">3</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Form of Award of Restricted Units (Executive) under the Gibraltar Industries, Inc. Amended and Restated 2018 Equity Incentive Plan (incorporated by reference to Exhibit 10.1 to the Company's Quarterly Report on Form 10-Q for the quarterly period ended September 30, 2023 filed November 2, 2023)</span></td></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="-sec-extract:summary;text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">74</span></div></div></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div style="-sec-extract:summary"><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:9.441%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.385%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:87.774%"/><td style="width:0.1%"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">No.</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline">Exhibit</span></div></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/912562/000091256223000046/q32023exhibit102.htm">10.</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/912562/000091256223000046/q32023exhibit102.htm">2</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/912562/000091256223000046/q32023exhibit102.htm">4</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Form of Award of Restricted Units (Management) under the Gibraltar Industries, Inc. Amended and Restated 2018 Equity Incentive Plan (incorporated by reference to Exhibit 10.2 to the Company's Quarterly Report on Form 10-Q for the quarterly period ended September 30, 2023 filed November 2, 2023)</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/912562/000091256223000046/q32023exhibit103.htm">10.</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/912562/000091256223000046/q32023exhibit103.htm">2</a><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="https://www.sec.gov/Archives/edgar/data/912562/000091256223000046/q32023exhibit103.htm">5</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Form of Award of Restricted Units (CEO Discretionary) under the Gibraltar Industries, Inc. Amended and Restated 2018 Equity Incentive Plan (incorporated by reference to Exhibit 10.3 to the Company's Quarterly Report on Form 10-Q for the quarterly period ended September 30, 2023 filed November 2, 2023)</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="q42023exhibit211.htm">21.1</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Subsidiaries of the Registrant</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="q42023exhibit231-eyconsent.htm">23.1</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Consent of Independent Registered Public Accounting Firm</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="q42023exhibit311.htm">31.1</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certification of President and Chief Executive Officer pursuant to Section&#160;302 of the Sarbanes-Oxley Act of 2002</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="q42023exhibit312.htm">31.2</a></span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certification of Senior Vice President and Chief Financial Officer pursuant to Section&#160;302 of the Sarbanes-Oxley Act of 2002</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="q42023exhibit321.htm">32.1</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">***</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certification of President and Chief Executive Officer pursuant to Title 18, United States Code, Section&#160;1350, as adopted pursuant to Section&#160;906 of the Sarbanes-Oxley Act of 2002</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="q42023exhibit322.htm">32.2</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">***</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certification of Senior Vice President and Chief Financial Officer pursuant to Title 18, United States Code, Section&#160;1350, as adopted pursuant to Section&#160;906 of the Sarbanes-Oxley Act of 2002</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"><a style="-sec-extract:exhibit;color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline" href="exhibit97policyfortherecov.htm">97</a></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">**</span></div></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gibraltar Industries, Inc. Policy for the Recovery of Erroneously Awarded Compensation</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.INS**</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inline XBRL Instance Document **</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.SCH**</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inline XBRL Taxonomy Extension Schema Document**</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.CAL**</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inline XBRL Taxonomy Extension Calculation Linkbase Document**</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.LAB**</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inline XBRL Taxonomy Extension Label Linkbase Document **</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.PRE**</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inline XBRL Taxonomy Extension Presentation Linkbase Document **</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">101.DEF**</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inline XBRL Taxonomy Extension Definition Linkbase Document **</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">104**</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cover Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101)</span></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:3pt"><td colspan="3" style="border-top:0.5pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:0.5pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:0.5pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Schedules and exhibits to this agreement have been omitted pursuant to Item 601(a)(5) of Regulation S-K. The Company agrees to furnish any omitted schedules or exhibits upon the request of the Securities and Exchange Commission. A list of the omitted schedules and exhibits to this agreement is set forth in the agreement.</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Document is a management contract or compensatory plan or agreement.</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">**</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Submitted electronically with this Annual Report on Form 10-K.</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">***</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Documents are furnished not filed.</span></td></tr></table></div><div><span><br/></span></div><div id="i32dbd54440254257bc94c8354b78dd51_187"></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:7.684%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:90.116%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%;text-decoration:underline">Item&#160;16.</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%;text-decoration:underline">Form 10-K Summary</span></td></tr></table></div><div style="padding-left:36pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None.</span></div><div style="padding-left:36pt"><span><br/></span></div><div style="padding-left:36pt"><span><br/></span></div><div style="padding-left:36pt"><span><br/></span></div><div style="padding-left:36pt"><span><br/></span></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">75</span></div></div></div><div id="i32dbd54440254257bc94c8354b78dd51_190"></div><hr style="page-break-after:always"/><div style="min-height:42.75pt;width:100%"><div><span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"><a style="color:#0000ff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline" href="#i32dbd54440254257bc94c8354b78dd51_7">Table of Contents</a></span></div></div><div style="text-align:center"><span><br/></span></div><div><span><br/></span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SIGNATURES</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the requirements of Section&#160;13 or 15(d) 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.</span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:6pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:44.660%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.496%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:37.936%"/><td style="width:0.1%"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">GIBRALTAR INDUSTRIES, INC.</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">By:</span></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ William T. Bosway</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">William T. Bosway</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chairman of the Board, President and<br/>Chief Executive Officer</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Dated:</span></td><td colspan="3" style="padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</span></td></tr></table></div><div style="margin-top:7pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf of the Registrant and in the capacities and on the dates indicated.</span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.222%"><tr><td style="width:1.0%"/><td style="width:30.629%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.055%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:44.614%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.454%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.548%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%;text-decoration:underline">SIGNATURE</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%;text-decoration:underline">TITLE</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%;text-decoration:underline">DATE</span></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="6" style="padding:0 1pt"/><td colspan="6" style="padding:0 1pt"/></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ William T. Bosway</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chairman of the Board of Directors, President and Chief Executive Officer (principal executive officer) </span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</span></td></tr><tr style="height:18pt"><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">William T. Bosway</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="6" style="padding:0 1pt"/><td colspan="6" style="padding:0 1pt"/></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Timothy F. Murphy</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Senior Vice President and Chief Financial Officer (principal financial and accounting officer)</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</span></td></tr><tr style="height:18pt"><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Timothy F. Murphy</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Atlee Valentine Pope</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lead Independent Director</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Atlee Valentine Pope</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="6" style="padding:0 1pt"/><td colspan="6" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Mark G. Barberio</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Mark G. Barberio</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="6" style="padding:0 1pt"/><td colspan="6" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Craig A. Hindman</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Craig A. Hindman</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Gwendolyn G. Mizell</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gwendolyn G. Mizell</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Linda K. Myers</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Linda K. Myers</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ James B. Nish</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">James B. Nish</span></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;&#160;</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">/s/ Manish H. Shah</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Director</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Manish H. Shah</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr></table></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">76</span></div></div></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-21.1
<SEQUENCE>2
<FILENAME>q42023exhibit211.htm
<DESCRIPTION>EX-21.1
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="icbb20f2db0c945e7a1760dc0c1b6e21d_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">EXHIBIT 21.1</font></div><div><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">SUBSIDIARIES</font></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a list of the subsidiaries of Gibraltar Industries, Inc. as of December&#160;31, 2023.  The names of indirectly owned subsidiaries are indented under the names of their respective parent corporations&#58;</font></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:4.024%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:67.274%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:25.402%"></td><td style="width:0.1%"></td></tr><tr><td colspan="6" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Appleton Supply Company, Inc.</font></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Delaware</font></td></tr><tr><td colspan="6" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">D.S.B. Holding Corp.</font></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Delaware</font></td></tr><tr><td colspan="6" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">The D.S. Brown Company</font></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ohio</font></td></tr><tr><td colspan="6" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Florence Corporation</font></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Illinois</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Florence Corporation of Kansas</font></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Kansas</font></td></tr><tr><td colspan="6" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gibraltar Industries Holding Company (UK) Limited</font></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United Kingdom</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Rough Brothers Greenhouse Manufacturing (Shanghai) Co., Ltd</font></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">China</font></td></tr><tr><td colspan="6" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gibraltar Steel Corporation of New York</font></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">New York</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Southeastern Metals Manufacturing Company, Inc.</font></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Florida</font></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pacific Awards Metals, Inc.</font></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">California</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Noll&#47;Norwesco, LLC</font></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Delaware</font></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">SBC Acquisition, LLC</font></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Delaware</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Air Vent Inc.</font></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Delaware</font></td></tr><tr><td colspan="6" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Package Concierge, Inc.</font></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Delaware</font></td></tr><tr><td colspan="6" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Quality Aluminum Products, LLC</font></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Delaware</font></td></tr><tr><td colspan="6" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Rough Brothers Holding Co., Inc.</font></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ohio</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Terrasmart, Inc.</font></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ohio</font></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Rough Brothers Manufacturing, Inc.</font></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ohio</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prospiant, Inc.</font></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ohio</font></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Apeks, LLC</font></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ohio</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thermo Energy Solutions, Inc.</font></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Canada</font></td></tr><tr><td colspan="6" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Solar Group, Inc.</font></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Delaware</font></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Architectural Mailboxes, LLC</font></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ohio</font></td></tr></table></div><div><font><br></font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>3
<FILENAME>q42023exhibit231-eyconsent.htm
<DESCRIPTION>EX-23.1
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="i4e61545b37d74ed2b488be76c4f3b790_1"></div><div style="min-height:72pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">EXHIBIT 23.1</font></div><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Consent of Independent Registered Public Accounting Firm</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We consent to the incorporation by reference in the following Registration Statements&#58;</font></div><div style="text-align:justify"><font><br></font></div><div style="padding-left:40.5pt;text-align:justify;text-indent:-27pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:112%">(1)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:13.57pt">Registration Statement (Form S-8 No. 333-143582), as amended, pertaining to the Gibraltar Industries, Inc. 2005 Equity Incentive Plan,</font></div><div style="padding-left:40.5pt;text-align:justify;text-indent:-27pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:112%">(2)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:13.57pt">Registration Statement (Form S-8 No. 333-147117) pertaining to the registration of 437,911 shares of its common stock related to the Gibraltar Industries, Inc. 2005 Equity Incentive Plan,</font></div><div style="padding-left:40.5pt;text-align:justify;text-indent:-27pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:112%">(3)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:13.57pt">Registration Statement (Form S-8 No. 333-172588), as amended, pertaining to the registration of 750,000 shares of its common stock related to the Gibraltar Industries, Inc. 2005 Equity Incentive Plan,</font></div><div style="padding-left:40.5pt;text-align:justify;text-indent:-27pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:112%">(4)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:13.57pt">Registration Statement (Form S-8 No. 333-204415), as amended, pertaining to the Gibraltar Industries, Inc. 2015 Equity Incentive Plan,</font></div><div style="padding-left:40.5pt;text-align:justify;text-indent:-27pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:112%">(5)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:13.57pt">Registration Statements (Form S-8 Nos. 333-211347 and 333-264706), as amended, pertaining to the Gibraltar Industries, Inc. 2016 Stock Plan for Non-Employee Directors, and</font></div><div style="padding-left:40.5pt;text-align:justify;text-indent:-27pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:400;line-height:112%">(6)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%;padding-left:13.57pt">Registration Statement (Form S-8 Nos. 333-224877 and 333-273598), as amended, pertaining to the Gibraltar Industries, Inc. 2018 Equity Incentive Plan&#59;</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of our reports dated February 21, 2024, with respect to the consolidated financial statements of Gibraltar Industries, Inc. and the effectiveness of internal control over financial reporting of Gibraltar Industries, Inc. included in this Annual Report (Form 10-K) of Gibraltar Industries, Inc. for the year ended December 31, 2023.</font></div><div style="text-align:justify"><font><br></font></div><div style="padding-left:288pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#47;s&#47; Ernst &#38; Young LLP</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Boston, Massachusetts</font></div><div style="text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">February 21, 2024</font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font><br></font></div><div style="text-align:justify"><font><br></font></div><div style="height:72pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>4
<FILENAME>q42023exhibit311.htm
<DESCRIPTION>EX-31.1
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="i20a084b0e5464201ace890dca121b8c8_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">EXHIBIT 31.1</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">CERTIFICATIONS</font></div><div style="margin-top:12pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">I, William T. Bosway, certify that&#58;</font></div><div style="margin-top:12pt;padding-left:45pt;text-indent:-45pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:36.67pt">I have reviewed this annual report on Form 10-K of Gibraltar Industries, Inc.&#59;</font></div><div style="margin-top:12pt;padding-left:45pt;text-indent:-45pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:36.67pt">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&#59;</font></div><div style="margin-top:12pt;padding-left:45pt;text-indent:-45pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:36.67pt">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&#59;</font></div><div style="margin-top:12pt;padding-left:45pt;text-indent:-45pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:36.67pt">The registrant&#8217;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have&#58;</font></div><div style="margin-top:12pt;padding-left:90pt;text-indent:-45pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">a)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:36.11pt">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&#59;</font></div><div style="margin-top:12pt;padding-left:90pt;text-indent:-45pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">b)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:36.11pt">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&#59;</font></div><div style="margin-top:12pt;padding-left:90pt;text-indent:-45pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">c)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:36.67pt">evaluated the effectiveness of the registrant&#8217;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&#59; and</font></div><div style="margin-top:12pt;padding-left:90pt;text-indent:-45pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">d)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:36.11pt">disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting&#59; and</font></div><div style="margin-top:12pt;padding-left:45pt;text-indent:-45pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:36.67pt">The registrant&#8217;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions)&#58;</font></div><div style="margin-top:12pt;padding-left:90pt;text-indent:-45pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">a)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:36.11pt">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&#8217;s ability to record, process, summarize and report financial information&#59; and</font></div><div style="margin-top:12pt;padding-left:90pt;text-indent:-45pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">b)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:36.11pt">any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</font></div><div style="padding-left:36pt;text-indent:-36pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:6pt;font-weight:400;line-height:120%">&#160;</font></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:4.765%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.281%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:21.627%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:49.927%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; William T. Bosway</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">William T. Bosway</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chairman of the Board, President and Chief Executive Officer</font></td></tr></table></div><div><font><br></font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>5
<FILENAME>q42023exhibit312.htm
<DESCRIPTION>EX-31.2
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="i8be2d9e773684f149d2c331a697f880e_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">EXHIBIT 31.2</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">CERTIFICATIONS</font></div><div style="margin-top:12pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">I, Timothy F. Murphy, certify that&#58;</font></div><div style="margin-top:12pt;padding-left:45pt;text-indent:-45pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:36.67pt">I have reviewed this annual report on Form 10-K of Gibraltar Industries, Inc.&#59;</font></div><div style="margin-top:12pt;padding-left:45pt;text-indent:-45pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:36.67pt">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&#59;</font></div><div style="margin-top:12pt;padding-left:45pt;text-indent:-45pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3.</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:36.67pt">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&#59;</font></div><div style="margin-top:12pt;padding-left:45pt;text-indent:-45pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4.</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:36.67pt">The registrant&#8217;s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have&#58;</font></div><div style="margin-top:12pt;padding-left:90pt;text-indent:-45pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">a)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:36.11pt">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&#59;</font></div><div style="margin-top:12pt;padding-left:90pt;text-indent:-45pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">b)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:36.11pt">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&#59;</font></div><div style="margin-top:12pt;padding-left:90pt;text-indent:-45pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">c)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:36.67pt">evaluated the effectiveness of the registrant&#8217;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&#59; and</font></div><div style="margin-top:12pt;padding-left:90pt;text-indent:-45pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">d)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:36.11pt">disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting&#59; and</font></div><div style="margin-top:12pt;padding-left:45pt;text-indent:-45pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5.</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:36.67pt">The registrant&#8217;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions)&#58;</font></div><div style="margin-top:12pt;padding-left:90pt;text-indent:-45pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">a)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:36.11pt">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&#8217;s ability to record, process, summarize and report financial information&#59; and</font></div><div style="margin-top:12pt;padding-left:90pt;text-indent:-45pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">b)</font><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:36.11pt">any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</font></div><div><font style="color:#000000;font-family:'Arial',sans-serif;font-size:6pt;font-weight:400;line-height:120%">&#160;</font></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:4.756%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.251%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:21.740%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:49.853%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Date&#58;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; Timothy F. Murphy</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Timothy F. Murphy</font></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</font></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Senior Vice President and<br>Chief Financial Officer</font></td></tr></table></div><div><font><br></font></div><div><font><br></font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>6
<FILENAME>q42023exhibit321.htm
<DESCRIPTION>EX-32.1
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="ib21f4905511e4ee3ab6121a6c7b45bca_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">EXHIBIT 32.1</font></div><div style="margin-top:12pt;text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CERTIFICATION OF PRESIDENT AND CHIEF EXECUTIVE OFFICER</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">PURSUANT TO TITLE 18, UNITED STATES CODE, SECTION 1350, AS ADOPTED PURSUANT TO</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">I, William T. Bosway, President and Chief Executive Officer, of Gibraltar Industries, Inc. (the &#8220;Company&#8221;), certify, pursuant to Section&#160;906 of the Sarbanes-Oxley Act of 2002, 18 U.S.C. Section&#160;1350, that&#58;</font></div><div style="margin-top:6pt;text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Annual Report on Form 10-K of the Company for the year ended December&#160;31, 2023 (the &#8220;Report&#8221;) fully complies with the requirements of Section&#160;13(a) or 15(d) of the Securities Exchange Act of 1934 (15 U.S.C. 78m)&#59; and</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font></div><div><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</font></div><div style="margin-top:5pt;text-align:right"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:216.00pt"><tr><td style="width:1.0pt"></td><td style="width:214.00pt"></td><td style="width:1.0pt"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; William T. Bosway</font></td></tr><tr style="height:14pt"><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">William T. Bosway</font></td></tr><tr style="height:26pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Chairman of the Board, President and Chief Executive Officer</font></td></tr><tr style="height:12pt"><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</font></td></tr></table></div><div style="margin-top:7pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A signed original of this written statement required by Section&#160;906 has been provided to the Company and will be retained by the Company and furnished to the Securities and Exchange Commission or its staff upon request.</font></div><div style="margin-top:12pt"><font><br></font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div style="text-align:center"><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>7
<FILENAME>q42023exhibit322.htm
<DESCRIPTION>EX-32.2
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="i22d5c3773a93498cb9150e24fb17e3cc_1"></div><div style="min-height:42.75pt;width:100%"><div><font><br></font></div></div><div style="text-align:right"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">EXHIBIT 32.2</font></div><div style="margin-top:12pt;text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">CERTIFICATION OF SENIOR VICE PRESIDENT AND CHIEF FINANCIAL OFFICER</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">PURSUANT TO TITLE 18, UNITED STATES CODE, SECTION 1350, AS ADOPTED PURSUANT TO</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">I, Timothy F. Murphy, Senior Vice President and Chief Financial Officer, of Gibraltar Industries, Inc. (the &#8220;Company&#8221;), certify, pursuant to Section&#160;906 of the Sarbanes-Oxley Act of 2002, 18 U.S.C. Section&#160;1350, that&#58;</font></div><div style="margin-top:6pt;text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Annual Report on Form 10-K of the Company for the year ended December&#160;31, 2023 (the &#8220;Report&#8221;) fully complies with the requirements of Section&#160;13(a) or 15(d) of the Securities Exchange Act of 1934 (15 U.S.C. 78m)&#59; and</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font></div><div><font style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%">&#160;</font></div><div style="margin-top:5pt;text-align:right"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:249.75pt"><tr><td style="width:1.0pt"></td><td style="width:247.75pt"></td><td style="width:1.0pt"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#47;s&#47; Timothy F. Murphy</font></td></tr><tr style="height:14pt"><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Timothy F. Murphy</font></td></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Senior Vice President and Chief Financial Officer</font></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 21, 2024</font></td></tr></table></div><div style="margin-top:7pt"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A signed original of this written statement required by Section&#160;906 has been provided to the Company and will be retained by the Company and furnished to the Securities and Exchange Commission or its staff upon request.</font></div><div style="margin-top:12pt"><font><br></font></div><div><font><br></font></div><div style="height:42.75pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-97
<SEQUENCE>8
<FILENAME>exhibit97policyfortherecov.htm
<DESCRIPTION>EX-97
<TEXT>
<html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2024 Workiva -->
<title>Document</title></head><body><div id="i4ccdd2f321a94a149b784afedc8fbc33_92"></div><div style="min-height:64.8pt;width:100%"><div style="text-align:right"><font><br></font></div><div style="text-align:right"><font><br></font></div></div><div style="margin-top:12pt;text-align:right"><font style="color:#000000;font-family:'Arial',sans-serif;font-size:11pt;font-weight:700;line-height:120%">EXHIBIT 97</font></div><div style="margin-top:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">GIBRALTAR INDUSTRIES, INC.</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">POLICY FOR THE</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">RECOVERY OF ERRONEOUSLY AWARDED COMPENSATION</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">1.&#160;&#160;&#160;&#160;Purpose</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">. The Board of Directors (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">Board</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">&#8221;) of Gibraltar Industries, Inc., a Delaware corporation (including its direct and indirect subsidiaries, the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">Company</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">&#8221;) believes that it is in the best interests of the Company and its stockholders to adopt this Policy for the Recovery of Erroneously Awarded Compensation, as may be amended from time to time (this &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">Policy</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">&#8221;). This Policy requires the recovery of Erroneously Awarded Compensation by the Company from Covered Executive Officers in accordance with the terms set forth herein. Promptly, but in no event later than 30 days, following the later of the Effective Date or becoming a Covered Executive Officer, each Covered Executive Officer shall sign and return to the Company the Acknowledgement Form attached hereto as </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%;text-decoration:underline">Exhibit A</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%"> pursuant to which such Covered Executive Officer shall agree to be bound by the terms of and comply with this Policy.</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">2.&#160;&#160;&#160;&#160;Administration</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">. This Policy shall be administered by the Compensation Committee of the Board or, if so designated by the Board, the Board or another committee thereof (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">Administrator</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">&#8221;). The Administrator is authorized to enforce and interpret this Policy and to make all determinations necessary, appropriate or advisable for the administration of this Policy. Any determinations made by the Administrator shall be final and binding on all affected persons and need not be uniform with respect to each person covered by this Policy. This Policy is designed to comply with, and shall be interpreted by the Administrator in a manner consistent with, Section 10D (&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">Section 10D</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">&#8221;) of the Securities Exchange Act of 1934 (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">Exchange Ac</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">t&#8221;), Rule 10D-1 promulgated under the Exchange Act (&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">Rule 10D-1</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">&#8221;) and Nasdaq Listing Rule 5608 (the &#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">Listing Standards</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">&#8221;), each as may be amended from time to time. In the administration of this Policy, the Administrator is authorized to consult with the full Board or other committees of the Board, as well as retain any counsel, advisors and consultants. </font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">3.&#160;&#160;&#160;&#160;Definitions</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">. All capitalized terms used and not otherwise defined herein shall have the meanings set forth in Section 3 hereof. For purposes of this Policy, the following capitalized terms shall have the meanings set forth below.</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(a)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:120%">&#8220;Accounting Restatement&#8221;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%"> means an accounting restatement of the Company&#8217;s financial statements due to the material noncompliance of the Company with any financial reporting requirement under the securities laws, including any required accounting restatement to correct an error in previously issued financial statements (i) that is material to the previously issued financial statements, or (ii) that is not material to the previously issued financial statements but that would have resulted in a material misstatement if the error were corrected in the current period or left uncorrected in the current period. </font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(b)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:120%">&#8220;Clawback Eligible Incentive Compensation&#8221;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%"> means all Incentive-Based Compensation Received by a Covered Executive Officer (i) on or after October 2, 2023, (ii) if that person served as a Covered Executive Officer at any time during the performance period for such Incentive-Based Compensation (whether or not such Covered Executive Officer is serving as an executive officer or employee of the Company at the time the Erroneously Awarded Compensation is required to be recovered by the Company), and (iii) while the Company had a class of securities listed on a national securities exchange or a national securities association.</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(c)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:120%">&#8220;Clawback Period&#8221;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%"> means with respect to any Accounting Restatement, (i) the three completed fiscal years of the Company immediately preceding the Restatement Date and (ii) any </font></div><div style="height:64.8pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:64.8pt;width:100%"><div style="text-align:right"><font><br></font></div><div style="text-align:right"><font><br></font></div></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">transition period that results from a change in the Company&#8217;s fiscal year of less than nine months within or immediately following such three completed fiscal years, provided that a transition period that comprises a period of at least nine months shall count as a completed fiscal year. </font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(d)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:120%">&#8220;Code&#8221;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%"> means the Internal Revenue Code of 1986, as amended, and the regulations and guidance issued thereunder.</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(e)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:120%">&#8220;Covered Executive Officer&#8221;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%"> means the Company&#8217;s current and former executive officers, as determined by the Board or an applicable committee in accordance with the definition of &#8220;executive officer&#8221; set forth in Rule 10D-1 and the Listing Standards. Unless determined otherwise by the Board or the Administrator, Covered Executive Officers for this Policy shall be any person designated by the Board as an &#8220;officer&#8221; under Rule 16a-1(f) under the Exchange Act.</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(f)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:120%">&#8220;Effective Date&#8221;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%"> </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">means October 27, 2023.</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(g)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:120%">&#8220;Erroneously Awarded Compensation&#8221;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%"> means with respect to each Covered Executive Officer and in connection with an Accounting Restatement, the amount of Clawback Eligible Incentive Compensation Received by the Covered Executive Officer during the Clawback Period that exceeds the amount of Clawback Eligible Incentive-Based Compensation that otherwise would have been Received by the Covered Executive Officer during the Clawback Period had it been determined based on the restated amounts, computed without regard to any taxes paid or payable by the Covered Executive Officer.</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(h)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:120%">&#8220;Financial Reporting Measures&#8221;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%"> means measures that are determined and presented in accordance with the accounting principles used in preparing the Company&#8217;s financial statements, and any other measures that are derived wholly or in part from such measures. Financial Reporting Measures include GAAP and non-GAAP financial measures and include but are not limited to the following (and any measures derived wholly or in part therefrom)&#58; Company stock price&#59; total shareholder return&#59; revenues&#59; net or operating income&#59; profitability of one or more reportable segments&#59; financial ratios&#59; net assets or net asset value per share&#59; EBITDA&#59; funds from operations&#59; liquidity measures&#59; return measures&#59; earnings measures&#59; sales per square foot or same store sales&#59; revenue per user, or average revenue per user&#59; and any adjusted measure of any of the foregoing measures. For the avoidance of doubt, a Financial Reporting Measure need not be presented in the Company&#8217;s financial statements or included in a Company filing with the SEC.</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(i)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:120%">&#8220;Incentive-Based Compensation&#8221;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%"> means any compensation that is granted, earned or vested based wholly or in part upon the attainment of a Financial Reporting Measure.</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(j)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:120%">&#8220;Nasdaq&#8221;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%"> means The Nasdaq Stock Market or any other national securities exchange or association on which the Company&#8217;s securities are listed as of the applicable date.</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(k)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:120%">&#8220;Received&#8221;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%"> means with respect to any Incentive-Based Compensation, actual or deemed receipt. Incentive-Based Compensation shall be deemed to be Received in the Company&#8217;s fiscal period during which the Financial Reporting Measure specified in the Incentive-Based Compensation award is attained, even if payment or grant of the earned Incentive-Based Compensation occurs after the end of the performance period. For the avoidance of doubt, Incentive-Based Compensation that is subject to both a Financial Reporting Measure vesting condition and a service-based vesting condition shall be considered Received when the relevant Financial Reporting Measure is attained, even if the Incentive-Based Compensation continues to be subject to the service-based vesting condition.</font></div><div style="height:64.8pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:64.8pt;width:100%"><div style="text-align:right"><font><br></font></div><div style="text-align:right"><font><br></font></div></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(l)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:120%">&#8220;Restatement Date&#8221;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%"> means the earlier to occur of (i) the date that the Board, a committee thereof or any of the Company&#8217;s officers authorized to take such action if Board action is not required concluded, or reasonably should have concluded, that the Company is required to prepare an Accounting Restatement&#59; or (ii) the date that a court, regulator or other legally authorized body directs the Company to prepare an Accounting Restatement, in each case regardless of when the restated financial statements are filed.</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(m)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:120%">&#8220;SEC&#8221;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%"> means the U.S. Securities and Exchange Commission.</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(n)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:120%">&#8220;Section 409A&#8221;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%"> </font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">means Section 409A of the Code and the regulations and guidance issued thereunder.</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">4.&#160;&#160;&#160;&#160;Recovery of Erroneously Awarded Compensation.</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(a)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">In the event of an Accounting Restatement, the Administrator shall reasonably promptly recover any Erroneously Awarded Compensation in a manner set forth in this Section 4. In connection therewith, the Administrator shall reasonably promptly (A) determine the amount of any Erroneously Awarded Compensation for each Covered Executive Officer in connection with such Accounting Restatement and (B) thereafter provide each Covered Executive Officer with a written notice containing the amount of Erroneously Awarded Compensation, the applicable methodology and calculation of such amount, and the method of recovery, as applicable. Prior to sending any such formal demand for recovery as determined pursuant to this Policy, the Administrator may, in its sole discretion depending on the specific facts and circumstances, provide a Covered Executive Officer with an initial written notice containing the foregoing information, and may provide the Covered Executive Officer with the opportunity to be heard at a meeting or otherwise respond in writing to such information. </font></div><div style="margin-top:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(i)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">Recovery under this Policy with respect to a Covered Executive Officer shall not require the finding of any misconduct by such Covered Executive Officer or such Covered Executive Officer being found responsible for the accounting error leading to an Accounting Restatement. </font></div><div style="margin-top:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(ii)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">For Incentive-Based Compensation based on (or derived from) stock price or total shareholder return (or a similar Financial Reporting Measure) where the amount of Erroneously Awarded Compensation is not subject to mathematical recalculation directly from the information in the applicable Accounting Restatement, the amount shall be determined by the Administrator based on a reasonable estimate of the effect of the Accounting Restatement on the stock price or total shareholder return (or such similar Financial Reporting Measure) upon which the Incentive-Based Compensation was Received&#59; provided that the Company shall maintain documentation of the determination of such reasonable estimate and provide such documentation to Nasdaq).</font></div><div style="margin-top:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(iii)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">Where Incentive-Based Compensation is based only in part on the achievement of a Financial Reporting Measure, the Administrator shall first determine the portion of the original Incentive-Based Compensation that was based on the Financial Reporting Measure that was restated in the Accounting Restatement. The Administrator shall then recalculate the affected portion based on the Financial Reporting Measure as restated, and recover the Erroneously Awarded Compensation.</font></div><div style="margin-top:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(iv)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">To determine Erroneously Awarded Compensation for cash incentive awards determined for a pool of participants, the size of the aggregate pool from which individual awards were paid shall be reduced by applying the Financial Reporting Measure that was restated in the Accounting Restatement, and the individual awards shall be reduced on a pro rata basis (with recovery required from the Covered Executive Officers only).</font></div><div style="height:64.8pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:64.8pt;width:100%"><div style="text-align:right"><font><br></font></div><div style="text-align:right"><font><br></font></div></div><div style="margin-top:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(v)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">With respect to any compensation plans or programs that take into account Incentive-Based Compensation, the amount of Erroneously Awarded Compensation subject to recovery hereunder includes, but is not limited to, the amount contributed to any notional account based on Erroneously Awarded Compensation and any earnings accrued to date on that notional amount.</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(b)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">The Administrator shall have broad discretion to determine the appropriate timing and means of recovery of Erroneously Awarded Compensation based on the particular facts and circumstances, subject to applicable law, including but not limited to (i) requiring reimbursement of all or part of any paid cash award, (ii) seeking recovery or forfeiture of any gain realized on the vesting, exercise, settlement, sale, transfer or other disposition of any equity-based awards, (iii) cancelling or reducing any outstanding cash or equity-based awards, whether vested or unvested, (iv) cancelling or offsetting against any planned future cash or equity-based awards, (v) forfeiture of deferred compensation, (vi) offsetting any compensation amount otherwise payable by the Company (or any of its affiliates or subsidiaries) to the Covered Executive Officer in the future, and (vii) any other method authorized by applicable law or contract as determined by the Administrator. Any method elected by the Administrator shall comply with Section 409A. For the avoidance of doubt, except as set forth in Section 4(d) hereof or as required by applicable law, in no event may the Company accept an amount that is less than the amount of Erroneously Awarded Compensation in satisfaction of a Covered Executive Officer&#8217;s obligations hereunder and to the extent permitted by law, the Company may reduce a Covered Executive Officer&#8217;s taxable income by the Erroneously Awarded Compensation. If applicable, the Company will provide a Covered Executive Officer with amended or revised tax forms or filings related to the Erroneously Awarded Compensation.</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(c)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">To the extent that a Covered Executive Officer fails to repay all Erroneously Awarded Compensation to the Company when due (as determined in accordance with Section 4(b) hereof), the Company shall take all reasonable and appropriate actions to recover such Erroneously Awarded Compensation from the applicable Covered Executive Officer. The applicable Covered Executive Officer shall be required to reimburse the Company for any and all expenses reasonably incurred (including legal fees) by the Company (or any of its affiliates or subsidiaries) in recovering such Erroneously Awarded Compensation in accordance with the immediately preceding sentence.</font></div><div style="margin-top:12pt;text-align:justify;text-indent:36pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(d)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">Notwithstanding anything herein to the contrary, the Company shall not be required to recover Erroneously Awarded Compensation, including taking the actions contemplated by this Section 4, if the Compensation Committee (or, if the Compensation Committee is not composed solely of independent directors under the Listing Standards, a majority of independent directors serving on the Board) determines that recovery would be impracticable solely for one of the following limited reasons and subject to the procedural and disclosure requirements below and in the applicable law or regulations&#58; </font></div><div style="margin-top:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(i)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">The direct expenses paid to a third party to assist in enforcing this Policy against a Covered Executive Officer would exceed the amount of Erroneously Awarded Compensation, after the Company has made a reasonable attempt to recover the applicable Erroneously Awarded Compensation, documented such attempt and provided such documentation to Nasdaq&#59; or </font></div><div style="margin-top:12pt;text-align:justify;text-indent:72pt"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">(ii)&#160;&#160;&#160;&#160;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">Recovery would likely cause a tax-qualified retirement plan, under which benefits are broadly available to employees of the Company, to fail to meet the requirements of Section 401(a)(13) or Section 411(a) of the Code, and the regulations thereunder. </font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">5.&#160;&#160;&#160;&#160;Reporting and Disclosure</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">. The Company shall file all disclosures with respect to this Policy in accordance with federal securities laws, including the disclosure required in any applicable SEC filings.</font></div><div style="height:64.8pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><hr style="page-break-after:always"><div style="min-height:64.8pt;width:100%"><div style="text-align:right"><font><br></font></div><div style="text-align:right"><font><br></font></div></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">6.&#160;&#160;&#160;&#160;Indemnification and Insurance Prohibition</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">. The Company (or any of its affiliates or subsidiaries) shall not insure (or reimburse for the purchase of insurance) or indemnify any Covered Executive Officer against (i) the loss of any Erroneously Awarded Compensation that is repaid, returned, recovered, cancelled or forfeited pursuant to the terms of this Policy, or (ii) any claims relating to the Company&#8217;s enforcement of its rights under this Policy. Further, the Company (or any of its affiliates or subsidiaries) shall not enter into any agreement that exempts any Incentive-Based Compensation from the application of this Policy or that waives the Company&#8217;s right to recovery of any Erroneously Awarded Compensation, and this Policy shall supersede any such agreement (whether entered into before, on or after the Effective Date).</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">7.&#160;&#160;&#160;&#160;Effective Date</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">. This Policy shall be effective as of the Effective Date. Subject to applicable law, the Administrator may effect recovery under this Policy from any amount of compensation approved, awarded, granted, payable or paid to the Covered Executive prior to, on or after the Effective Date.</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">8.&#160;&#160;&#160;&#160;Amendment&#59; Termination</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">. The Board or Administrator may amend this Policy from time to time in its discretion and shall amend this Policy as it deems necessary, including as and when it determines that it is legally required by any federal securities laws or Nasdaq rules or to comply with (or maintain an exemption from the application of) Section 409A. The Board or Administrator may terminate this Policy at any time. Notwithstanding anything in this Section 8 to the contrary, no amendment or termination of this Policy shall be effective if such amendment or termination would (after taking into account any actions taken by the Company contemporaneously with such amendment or termination) cause the Company to violate any federal securities laws, SEC rule or Nasdaq rule.</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">9.&#160;&#160;&#160;&#160;Other Recoupment Rights&#59; No Additional Payments</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">. Any employment agreement, cash or equity-based award agreement, compensatory plan or any other agreement or arrangement with a Covered Executive Officer shall be deemed to include, as a condition to the grant of any benefit thereunder, an agreement by the Covered Executive Officer to abide by the terms of this Policy. Any right of recoupment under this Policy is in addition to, and not in lieu of, any other remedies or rights of recoupment that may be available to the Company (or any of its affiliates or subsidiaries), including under applicable law, regulation or rule or pursuant to the terms of any employment or severance agreement, cash or equity-based award agreement, plan or policy, or similar agreement, plan or policy with the Company (or any of its affiliates or subsidiaries). To the extent that the Covered Executive Officer has already reimbursed the Company (or any of its affiliates or subsidiaries) for any Erroneously Awarded Compensation Received under any duplicative recovery obligations established by the Company (or any of its affiliates or subsidiaries) and subject to applicable law, such reimbursed amount shall be credited to the amount of Erroneously Awarded Compensation that is subject to recovery under this Policy.</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">10.&#160;&#160;&#160;&#160;Severability</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">. The provisions in this Policy are intended to be applied to the fullest extent of the law. To the extent that any provision of this Policy is found to be unenforceable or invalid under any applicable law, such provision shall be applied to the maximum extent permitted, and shall automatically be deemed amended in a manner consistent with its objectives to the extent necessary to conform to any limitations required under applicable law.</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">11.&#160;&#160;&#160;&#160;Successors</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">. This Policy shall be binding and enforceable against all Covered Executive Officers and their beneficiaries, heirs, executors, administrators or other legal representatives.</font></div><div style="margin-top:12pt;text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">*&#160;&#160;&#160;&#160;*&#160;&#160;&#160;&#160;*</font></div><div style="height:64.8pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div><div id="i4ccdd2f321a94a149b784afedc8fbc33_98"></div><hr style="page-break-after:always"><div style="min-height:59.76pt;width:100%"><div style="text-align:right"><font><br></font></div><div style="text-align:right"><font><br></font></div></div><div><font><br></font></div><div><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%;text-decoration:underline">Exhibit A</font></div><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">GIBRALTAR INDUSTRIES, INC.</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">POLICY FOR THE</font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">RECOVERY OF ERRONEOUSLY AWARDED COMPENSATION</font></div><div style="text-align:center"><font><br></font></div><div style="text-align:center"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:700;line-height:120%">COVERED EXECUTIVE OFFICER ACKNOWLEDGEMENT FORM</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">By signing below, the undersigned acknowledges and confirms that the undersigned has received and reviewed a copy of the Gibraltar Industries, Inc. Policy for the Recovery of Erroneously Awarded Compensation (as may be amended, restated, supplemented or otherwise modified from time to time, the&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:120%">Policy</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">&#8221;). Capitalized terms used but not otherwise defined in this Acknowledgement Form (the&#8220;</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:700;line-height:120%">Acknowledgement Form</font><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">&#8221;) shall have the meanings ascribed to such terms in the Policy.</font></div><div style="margin-top:12pt;text-align:justify"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%">By signing this Acknowledgement Form, the undersigned acknowledges and agrees that the undersigned is and will continue to be subject to the Policy and that the Policy will apply both during and after the undersigned&#8217;s employment with the Company (or any of its subsidiaries or affiliates). In the event of any inconsistency between the Policy and the terms of any employment or separation agreement to which I am a party, or the terms of any compensation or severance plan, program or agreement under which any compensation has been granted, awarded, earned or paid, the terms of the Policy shall govern. In the event it is determined by the Administrator that the Erroneously Awarded Compensation must be returned, forfeited or reimbursed to the Company, I will promptly take any action necessary to effectuate such recovery in any manner permitted by the Policy and determined by the Administrator.</font></div><div style="margin-top:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.956%"><tr><td style="width:1.0%"></td><td style="width:57.246%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:40.554%"></td><td style="width:0.1%"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.5pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:400;line-height:100%">&#91;Name&#47;Title&#93;</font></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:15pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:0.5pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><font style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:11pt;font-style:italic;font-weight:400;line-height:100%">&#91;Date&#93;</font></td></tr></table></div><div style="height:13.68pt;position:relative;width:100%"><div style="bottom:0;position:absolute;width:100%"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>9
<FILENAME>rock-20231231.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2024 Workiva-->
<!--r:f978b62b-0b5d-4525-9c9a-353eb8961492,g:e9e8e764-a5ea-4370-854e-7ce6a9aa54a1-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:rock="http://www.gibraltar1.com/20231231" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dtr-types1="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.gibraltar1.com/20231231">
  <xs:import namespace="http://fasb.org/srt/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd"/>
  <xs:import namespace="http://fasb.org/us-gaap/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd"/>
  <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://www.xbrl.org/2003/xlink-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd"/>
  <xs:import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd"/>
  <xs:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/dei/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd"/>
  <xs:annotation>
    <xs:appinfo>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="rock-20231231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="rock-20231231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="rock-20231231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="rock-20231231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:type="simple"/>
      <link:roleType id="CoverPage" roleURI="http://www.gibraltar1.com/role/CoverPage">
        <link:definition>0000001 - Document - Cover Page</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AuditInformation" roleURI="http://www.gibraltar1.com/role/AuditInformation">
        <link:definition>0000002 - Document - Audit Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsofIncome" roleURI="http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome">
        <link:definition>0000003 - Statement - Consolidated Statements of Income</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsofComprehensiveIncome" roleURI="http://www.gibraltar1.com/role/ConsolidatedStatementsofComprehensiveIncome">
        <link:definition>0000004 - Statement - Consolidated Statements of Comprehensive Income</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedBalanceSheets" roleURI="http://www.gibraltar1.com/role/ConsolidatedBalanceSheets">
        <link:definition>0000005 - Statement - Consolidated Balance Sheets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedBalanceSheetsParenthetical" roleURI="http://www.gibraltar1.com/role/ConsolidatedBalanceSheetsParenthetical">
        <link:definition>0000006 - Statement - Consolidated Balance Sheets (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsofCashFlows" roleURI="http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows">
        <link:definition>0000007 - Statement - Consolidated Statements of Cash Flows</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsofStockholdersEquity" roleURI="http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity">
        <link:definition>0000008 - Statement - Consolidated Statements of Stockholders' Equity</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsofStockholdersEquityParenthetical" roleURI="http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquityParenthetical">
        <link:definition>0000009 - Statement - Consolidated Statements of Stockholders' Equity (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPolicies" roleURI="http://www.gibraltar1.com/role/SummaryofSignificantAccountingPolicies">
        <link:definition>0000010 - Disclosure - Summary of Significant Accounting Policies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueNotes" roleURI="http://www.gibraltar1.com/role/RevenueNotes">
        <link:definition>0000011 - Disclosure - Revenue (Notes)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccountsReceivable" roleURI="http://www.gibraltar1.com/role/AccountsReceivable">
        <link:definition>0000012 - Disclosure - Accounts Receivable</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InventoriesNet" roleURI="http://www.gibraltar1.com/role/InventoriesNet">
        <link:definition>0000013 - Disclosure - Inventories, Net</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PropertyPlantandEquipmentNet" roleURI="http://www.gibraltar1.com/role/PropertyPlantandEquipmentNet">
        <link:definition>0000014 - Disclosure - Property, Plant, and Equipment, Net</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Acquisitions" roleURI="http://www.gibraltar1.com/role/Acquisitions">
        <link:definition>0000015 - Disclosure - Acquisitions</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillandRelatedIntangibleAssets" roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssets">
        <link:definition>0000016 - Disclosure - Goodwill and Related Intangible Assets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccruedExpenses" roleURI="http://www.gibraltar1.com/role/AccruedExpenses">
        <link:definition>0000017 - Disclosure - Accrued Expenses</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Debt" roleURI="http://www.gibraltar1.com/role/Debt">
        <link:definition>0000018 - Disclosure - Debt</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PensionandOtherPostretirementBenefits" roleURI="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefits">
        <link:definition>0000019 - Disclosure - Pension and Other Postretirement Benefits</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccumulatedOtherComprehensiveLossIncome" roleURI="http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncome">
        <link:definition>0000020 - Disclosure - Accumulated Other Comprehensive (Loss) Income</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="EquityBasedCompensation" roleURI="http://www.gibraltar1.com/role/EquityBasedCompensation">
        <link:definition>0000021 - Disclosure - Equity-Based Compensation</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueMeasurements" roleURI="http://www.gibraltar1.com/role/FairValueMeasurements">
        <link:definition>0000022 - Disclosure - Fair Value Measurements</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DiscontinuedOperations" roleURI="http://www.gibraltar1.com/role/DiscontinuedOperations">
        <link:definition>0000023 - Disclosure - Discontinued Operations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ExitActivityCostsandAssetImpairments" roleURI="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairments">
        <link:definition>0000024 - Disclosure - Exit Activity Costs and Asset Impairments</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxes" roleURI="http://www.gibraltar1.com/role/IncomeTaxes">
        <link:definition>0000025 - Disclosure - Income Taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="EarningsperShare" roleURI="http://www.gibraltar1.com/role/EarningsperShare">
        <link:definition>0000026 - Disclosure - Earnings per Share</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Leases" roleURI="http://www.gibraltar1.com/role/Leases">
        <link:definition>0000027 - Disclosure - Leases</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentsandContingencies" roleURI="http://www.gibraltar1.com/role/CommitmentsandContingencies">
        <link:definition>0000028 - Disclosure - Commitments and Contingencies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SegmentInformation" roleURI="http://www.gibraltar1.com/role/SegmentInformation">
        <link:definition>0000029 - Disclosure - Segment Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesPolicies" roleURI="http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesPolicies">
        <link:definition>9954471 - Disclosure - Summary of Significant Accounting Policies (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesTables" roleURI="http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesTables">
        <link:definition>9954472 - Disclosure - Summary of Significant Accounting Policies (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueTables" roleURI="http://www.gibraltar1.com/role/RevenueTables">
        <link:definition>9954473 - Disclosure - Revenue (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccountsReceivableTables" roleURI="http://www.gibraltar1.com/role/AccountsReceivableTables">
        <link:definition>9954474 - Disclosure - Accounts Receivable (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InventoriesNetTables" roleURI="http://www.gibraltar1.com/role/InventoriesNetTables">
        <link:definition>9954475 - Disclosure - Inventories, Net (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PropertyPlantandEquipmentNetTables" roleURI="http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetTables">
        <link:definition>9954476 - Disclosure - Property, Plant, and Equipment, Net (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AcquisitionsTables" roleURI="http://www.gibraltar1.com/role/AcquisitionsTables">
        <link:definition>9954477 - Disclosure - Acquisitions (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillandRelatedIntangibleAssetsTables" roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsTables">
        <link:definition>9954478 - Disclosure - Goodwill and Related Intangible Assets (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccruedExpensesTables" roleURI="http://www.gibraltar1.com/role/AccruedExpensesTables">
        <link:definition>9954479 - Disclosure - Accrued Expenses (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DebtTables" roleURI="http://www.gibraltar1.com/role/DebtTables">
        <link:definition>9954480 - Disclosure - Debt (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PensionandOtherPostretirementBenefitsTables" roleURI="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsTables">
        <link:definition>9954481 - Disclosure - Pension and Other Postretirement Benefits (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccumulatedOtherComprehensiveLossIncomeTables" roleURI="http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeTables">
        <link:definition>9954482 - Disclosure - Accumulated Other Comprehensive (Loss) Income (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="EquityBasedCompensationTables" roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationTables">
        <link:definition>9954483 - Disclosure - Equity-Based Compensation (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ExitActivityCostsandAssetImpairmentsTables" roleURI="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsTables">
        <link:definition>9954484 - Disclosure - Exit Activity Costs and Asset Impairments (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesTables" roleURI="http://www.gibraltar1.com/role/IncomeTaxesTables">
        <link:definition>9954485 - Disclosure - Income Taxes (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="EarningsperShareTables" roleURI="http://www.gibraltar1.com/role/EarningsperShareTables">
        <link:definition>9954486 - Disclosure - Earnings per Share (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesTables" roleURI="http://www.gibraltar1.com/role/LeasesTables">
        <link:definition>9954487 - Disclosure - Leases (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SegmentInformationTables" roleURI="http://www.gibraltar1.com/role/SegmentInformationTables">
        <link:definition>9954488 - Disclosure - Segment Information (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesSummaryofActivityRecordedwithintheAllowanceforDoubtfulAccountsDetails" roleURI="http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesSummaryofActivityRecordedwithintheAllowanceforDoubtfulAccountsDetails">
        <link:definition>9954489 - Disclosure - Summary of Significant Accounting Policies (Summary of Activity Recorded within the Allowance for Doubtful Accounts) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesNarrativeDetails" roleURI="http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails">
        <link:definition>9954490 - Disclosure - Summary of Significant Accounting Policies (Narrative) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryofSignificantAccountingPoliciesSummaryofInterestCapitalizedandDepreciationExpenseDetails" roleURI="http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesSummaryofInterestCapitalizedandDepreciationExpenseDetails">
        <link:definition>9954491 - Disclosure - Summary of Significant Accounting Policies (Summary of Interest Capitalized and Depreciation Expense) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueNarrativeDetails" roleURI="http://www.gibraltar1.com/role/RevenueNarrativeDetails">
        <link:definition>9954492 - Disclosure - Revenue - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevenueContractAssetsandLiabilitiesDetails" roleURI="http://www.gibraltar1.com/role/RevenueContractAssetsandLiabilitiesDetails">
        <link:definition>9954493 - Disclosure - Revenue - Contract Assets and Liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccountsReceivableDetails" roleURI="http://www.gibraltar1.com/role/AccountsReceivableDetails">
        <link:definition>9954494 - Disclosure - Accounts Receivable (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InventoriesNetScheduleofInventoriesDetails" roleURI="http://www.gibraltar1.com/role/InventoriesNetScheduleofInventoriesDetails">
        <link:definition>9954495 - Disclosure - Inventories, Net (Schedule of Inventories) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InventoriesNetSummaryofActivitywithintheReserveforExcessObsoleteandSlowMovingInventoryDetails" roleURI="http://www.gibraltar1.com/role/InventoriesNetSummaryofActivitywithintheReserveforExcessObsoleteandSlowMovingInventoryDetails">
        <link:definition>9954496 - Disclosure - Inventories, Net (Summary of Activity within the Reserve for Excess, Obsolete, and Slow Moving Inventory) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PropertyPlantandEquipmentNetDetails" roleURI="http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetDetails">
        <link:definition>9954497 - Disclosure - Property, Plant, and Equipment, Net (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AcquisitionsNarrativeDetails" roleURI="http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails">
        <link:definition>9954498 - Disclosure - Acquisitions (Narrative) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails" roleURI="http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails">
        <link:definition>9954499 - Disclosure - Acquisitions (Schedule of Allocation of the Purchase Price Consideration of the Fair Value of Assets Acquired and Liabilities Assumed) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AcquisitionsScheduleofAcquiredIntangibleAssetsDetails" roleURI="http://www.gibraltar1.com/role/AcquisitionsScheduleofAcquiredIntangibleAssetsDetails">
        <link:definition>9954500 - Disclosure - Acquisitions (Schedule of Acquired Intangible Assets) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AcquisitionsAcquisitionRelatedCostsDetails" roleURI="http://www.gibraltar1.com/role/AcquisitionsAcquisitionRelatedCostsDetails">
        <link:definition>9954501 - Disclosure - Acquisitions (Acquisition Related Costs) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails" roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails">
        <link:definition>9954502 - Disclosure - Goodwill and Related Intangible Assets (Schedule of Changes in Carrying Amount of Goodwill) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillandRelatedIntangibleAssetsNarrativeDetails" roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsNarrativeDetails">
        <link:definition>9954503 - Disclosure - Goodwill and Related Intangible Assets (Narrative) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails" roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails">
        <link:definition>9954504 - Disclosure - Goodwill and Related Intangible Assets (Schedule of Acquired Intangible Assets) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillandRelatedIntangibleAssetsScheduleofImpairmentChargesDetails" roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofImpairmentChargesDetails">
        <link:definition>9954505 - Disclosure - Goodwill and Related Intangible Assets (Schedule of Impairment Charges) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails" roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails">
        <link:definition>9954506 - Disclosure - Goodwill and Related Intangible Assets (Schedule of Amortization Expense) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillandRelatedIntangibleAssetsScheduleofFutureAmortizationExpenseDetails" roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofFutureAmortizationExpenseDetails">
        <link:definition>9954507 - Disclosure - Goodwill and Related Intangible Assets (Schedule of Future Amortization Expense) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccruedExpensesDetails" roleURI="http://www.gibraltar1.com/role/AccruedExpensesDetails">
        <link:definition>9954508 - Disclosure - Accrued Expenses (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DebtNarrativeDetails" roleURI="http://www.gibraltar1.com/role/DebtNarrativeDetails">
        <link:definition>9954509 - Disclosure - Debt (Narrative) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DebtScheduleofCashPaidforInterestDetails" roleURI="http://www.gibraltar1.com/role/DebtScheduleofCashPaidforInterestDetails">
        <link:definition>9954510 - Disclosure - Debt (Schedule of Cash Paid for Interest) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PensionandOtherPostretirementBenefitsScheduleofTotalExpenseforAllRetirementPlansDetails" roleURI="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsScheduleofTotalExpenseforAllRetirementPlansDetails">
        <link:definition>9954511 - Disclosure - Pension and Other Postretirement Benefits (Schedule of Total Expense for All Retirement Plans) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails" roleURI="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails">
        <link:definition>9954512 - Disclosure - Pension and Other Postretirement Benefits (Changes in the Accumulated Postretirement Benefit Obligation) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PensionandOtherPostretirementBenefitsAmountsRecognizedintheConsolidatedFinancialStatementsDetails" roleURI="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsAmountsRecognizedintheConsolidatedFinancialStatementsDetails">
        <link:definition>9954513 - Disclosure - Pension and Other Postretirement Benefits (Amounts Recognized in the Consolidated Financial Statements) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails" roleURI="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails">
        <link:definition>9954514 - Disclosure - Pension and Other Postretirement Benefits (Components of Net Periodic Postretirement Benefit Cost) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PensionandOtherPostretirementBenefitsExpectedBenefitPaymentsfromthePlanDetails" roleURI="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsExpectedBenefitPaymentsfromthePlanDetails">
        <link:definition>9954515 - Disclosure - Pension and Other Postretirement Benefits (Expected Benefit Payments from the Plan) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccumulatedOtherComprehensiveLossIncomeDetails" roleURI="http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeDetails">
        <link:definition>9954516 - Disclosure - Accumulated Other Comprehensive (Loss) Income (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="EquityBasedCompensationNarrativeDetails" roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails">
        <link:definition>9954517 - Disclosure - Equity-Based Compensation (Narrative) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="EquityBasedCompensationSummaryofCompensationExpenseConnectionwithAwardsDetails" roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofCompensationExpenseConnectionwithAwardsDetails">
        <link:definition>9954518 - Disclosure - Equity-Based Compensation (Summary of Compensation Expense Connection with Awards) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails" roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails">
        <link:definition>9954519 - Disclosure - Equity-Based Compensation (Schedule of Number of Awards and Weighted Average Grant Date Fair Value) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="EquityBasedCompensationSummaryofRangesofOutstandingandExercisableOptionsDetails" roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofRangesofOutstandingandExercisableOptionsDetails">
        <link:definition>9954520 - Disclosure - Equity-Based Compensation (Summary of Ranges of Outstanding and Exercisable Options) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="EquityBasedCompensationSummaryofStockOptionTransactionsDetails" roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofStockOptionTransactionsDetails">
        <link:definition>9954521 - Disclosure - Equity-Based Compensation (Summary of Stock Option Transactions) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails" roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails">
        <link:definition>9954522 - Disclosure - Equity-Based Compensation (Summary of Information about Restricted Stock Units and Weighted Average Grant Date Fair Value) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="EquityBasedCompensationAggregateIntrinsicValueofOptionsExercisedandAggregateFairValueofRestrictedStockUnitsandRestrictedSharesthatVestedDetails" roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationAggregateIntrinsicValueofOptionsExercisedandAggregateFairValueofRestrictedStockUnitsandRestrictedSharesthatVestedDetails">
        <link:definition>9954523 - Disclosure - Equity-Based Compensation (Aggregate Intrinsic Value of Options Exercised and Aggregate Fair Value of Restricted Stock Units and Restricted Shares that Vested) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="EquityBasedCompensationCashPaidtoSettleLiabilityAwardsDetails" roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationCashPaidtoSettleLiabilityAwardsDetails">
        <link:definition>9954524 - Disclosure - Equity-Based Compensation (Cash Paid to Settle Liability Awards) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueMeasurementsNarrativeDetails" roleURI="http://www.gibraltar1.com/role/FairValueMeasurementsNarrativeDetails">
        <link:definition>9954525 - Disclosure - Fair Value Measurements (Narrative) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DiscontinuedOperationsNarrativeDetails" roleURI="http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails">
        <link:definition>9954526 - Disclosure - Discontinued Operations (Narrative) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ExitActivityCostsandAssetImpairmentsNarrativeDetails" roleURI="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsNarrativeDetails">
        <link:definition>9954527 - Disclosure - Exit Activity Costs and Asset Impairments (Narrative) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ExitActivityCostsandAssetImpairmentsScheduleOfAssetImpairmentChargesRelatedToRestructuringActivitiesDetails" roleURI="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsScheduleOfAssetImpairmentChargesRelatedToRestructuringActivitiesDetails">
        <link:definition>9954528 - Disclosure - Exit Activity Costs and Asset Impairments (Schedule Of Asset Impairment Charges Related To Restructuring Activities) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ExitActivityCostsandAssetImpairmentsSummaryOfExitActivityCostsAndAssetImpairmentsRecordedintheConsolidatedStatementsofOperationsDetails" roleURI="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryOfExitActivityCostsAndAssetImpairmentsRecordedintheConsolidatedStatementsofOperationsDetails">
        <link:definition>9954529 - Disclosure - Exit Activity Costs and Asset Impairments (Summary Of Exit Activity Costs And Asset Impairments Recorded in the Consolidated Statements of Operations) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ExitActivityCostsandAssetImpairmentsReconcilesOfLiabilityForExitActivityCostsRelatingToFacilityConsolidationEffortsDetails" roleURI="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsReconcilesOfLiabilityForExitActivityCostsRelatingToFacilityConsolidationEffortsDetails">
        <link:definition>9954530 - Disclosure - Exit Activity Costs and Asset Impairments (Reconciles Of Liability For Exit Activity Costs Relating To Facility Consolidation Efforts) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesComponentsofIncomeLossbeforeTaxesfromContinuingOperationsDetails" roleURI="http://www.gibraltar1.com/role/IncomeTaxesComponentsofIncomeLossbeforeTaxesfromContinuingOperationsDetails">
        <link:definition>9954531 - Disclosure - Income Taxes (Components of Income (Loss) before Taxes from Continuing Operations) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesBenefitofProvisionforIncomeTaxesDetails" roleURI="http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails">
        <link:definition>9954532 - Disclosure - Income Taxes (Benefit of) Provision for Income Taxes) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails" roleURI="http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails">
        <link:definition>9954533 - Disclosure - Income Taxes (Provision for Income Taxes from Continuing Operations Differs from the Federal Statutory Rate) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesDeferredTaxLiabilitiesAssetsDetails" roleURI="http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails">
        <link:definition>9954534 - Disclosure - Income Taxes (Deferred Tax Liabilities (Assets)) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesNarrativeDetails" roleURI="http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails">
        <link:definition>9954535 - Disclosure - Income Taxes (Narrative) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesSummaryofValuationAllowanceDetails" roleURI="http://www.gibraltar1.com/role/IncomeTaxesSummaryofValuationAllowanceDetails">
        <link:definition>9954536 - Disclosure - Income Taxes (Summary of Valuation Allowance) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxesIncomeTaxesPaidNetofTaxRefundsDetails" roleURI="http://www.gibraltar1.com/role/IncomeTaxesIncomeTaxesPaidNetofTaxRefundsDetails">
        <link:definition>9954537 - Disclosure - Income Taxes (Income Taxes Paid, Net of Tax Refunds) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="EarningsperShareNarrativeDetails" roleURI="http://www.gibraltar1.com/role/EarningsperShareNarrativeDetails">
        <link:definition>9954538 - Disclosure - Earnings per Share (Narrative) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="EarningsperShareScheduleofComputationofBasicandDilutedEarningsperShareDetails" roleURI="http://www.gibraltar1.com/role/EarningsperShareScheduleofComputationofBasicandDilutedEarningsperShareDetails">
        <link:definition>9954539 - Disclosure - Earnings per Share (Schedule of Computation of Basic and Diluted Earnings per Share) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesNarrativeDetails" roleURI="http://www.gibraltar1.com/role/LeasesNarrativeDetails">
        <link:definition>9954540 - Disclosure - Leases - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesAssetsandLiabilitiesofLesseeDetails" roleURI="http://www.gibraltar1.com/role/LeasesAssetsandLiabilitiesofLesseeDetails">
        <link:definition>9954541 - Disclosure - Leases - Assets and Liabilities of Lessee (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesScheduleofLeaseCostandAssumptionsDetails" roleURI="http://www.gibraltar1.com/role/LeasesScheduleofLeaseCostandAssumptionsDetails">
        <link:definition>9954542 - Disclosure - Leases - Schedule of Lease Cost and Assumptions (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesMaturityofLeasePaymentsDetails" roleURI="http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails">
        <link:definition>9954543 - Disclosure - Leases - Maturity of Lease Payments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesMaturityofLeasePaymentsDetails_1" roleURI="http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails_1">
        <link:definition>9954543 - Disclosure - Leases - Maturity of Lease Payments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SegmentInformationNarrativeDetails" roleURI="http://www.gibraltar1.com/role/SegmentInformationNarrativeDetails">
        <link:definition>9954544 - Disclosure - Segment Information (Narrative) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails" roleURI="http://www.gibraltar1.com/role/SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails">
        <link:definition>9954545 - Disclosure - Segment Information (Measurements Used by Management to Assess Performance of Segments) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SegmentInformationNetSalesbyContractTypeDetails" roleURI="http://www.gibraltar1.com/role/SegmentInformationNetSalesbyContractTypeDetails">
        <link:definition>9954546 - Disclosure - Segment Information (Net Sales by Contract Type) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SegmentInformationNetSalesbyRegionorOriginandLongLivedAssetsbyRegionofDomicileDetails" roleURI="http://www.gibraltar1.com/role/SegmentInformationNetSalesbyRegionorOriginandLongLivedAssetsbyRegionofDomicileDetails">
        <link:definition>9954547 - Disclosure - Segment Information (Net Sales by Region or Origin and Long-Lived Assets by Region of Domicile) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
    </xs:appinfo>
  </xs:annotation>
  <xs:element id="rock_A2015PlanMember" abstract="true" name="A2015PlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_ScheduleofBusinessCombinationCostsTableTextBlock" abstract="false" name="ScheduleofBusinessCombinationCostsTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:textBlockItemType"/>
  <xs:element id="rock_NonEmployeeDirectorsPlanMember" abstract="true" name="NonEmployeeDirectorsPlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_OtherPostretirementBenefitsAbstract" abstract="true" name="OtherPostretirementBenefitsAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent" abstract="false" name="SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:percentItemType"/>
  <xs:element id="rock_ExercisePriceRangeOneMember" abstract="false" name="ExercisePriceRangeOneMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_SecuredOvernightFinancingRateSOFRMember" abstract="true" name="SecuredOvernightFinancingRateSOFRMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital" abstract="false" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_JapanBasedSolarRackingBusinessMember" abstract="true" name="JapanBasedSolarRackingBusinessMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="rock_ManagementStockPurchasePlanCompensationExpense" abstract="false" name="ManagementStockPurchasePlanCompensationExpense" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits" abstract="false" name="ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="rock_DeferredStockUnitsMember" abstract="true" name="DeferredStockUnitsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_InventoryRollForward" abstract="true" name="InventoryRollForward" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="rock_QualityAluminumProductsMember" abstract="true" name="QualityAluminumProductsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65" abstract="false" name="DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:percentItemType"/>
  <xs:element id="rock_DebtInstrumentApplicableRatePeriodDomain" abstract="true" name="DebtInstrumentApplicableRatePeriodDomain" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantOutstandingNumber" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantOutstandingNumber" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="rock_RestructuringAndRelatedCostNumberOfFacilitiesRelocated" abstract="false" name="RestructuringAndRelatedCostNumberOfFacilitiesRelocated" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="rock_StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement" abstract="false" name="StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="rock_ResidentialMember" abstract="false" name="ResidentialMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_A2018PlanMember" abstract="true" name="A2018PlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65" abstract="false" name="DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:percentItemType"/>
  <xs:element id="rock_ApplicableRatePeriod1Member" abstract="true" name="ApplicableRatePeriod1Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_SummaryOfSlowMovingInventoryActivityTableTextBlock" abstract="false" name="SummaryOfSlowMovingInventoryActivityTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:textBlockItemType"/>
  <xs:element id="rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod" abstract="false" name="SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetPortionGranted" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetPortionGranted" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:pureItemType"/>
  <xs:element id="rock_AuditInformationAbstract" abstract="true" name="AuditInformationAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="rock_Amended2018PlanMember" abstract="true" name="Amended2018PlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="rock_AccruedExpensesCurrentMember" abstract="true" name="AccruedExpensesCurrentMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_SellingGeneralAndAdministrativeExpenseMember" abstract="false" name="SellingGeneralAndAdministrativeExpenseMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_DebtInstrumentNumberOfDebtCovenants" abstract="false" name="DebtInstrumentNumberOfDebtCovenants" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember" abstract="true" name="SharebasedCompensationMeasurementReturnOnInvestedCapitalMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_NonCurrentLiabilitiesMember" abstract="true" name="NonCurrentLiabilitiesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract" abstract="false" name="ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_AcquiredIntangibleAssetsTotal" abstract="false" name="AcquiredIntangibleAssetsTotal" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_SeniorCreditAgreementMember" abstract="false" name="SeniorCreditAgreementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization" abstract="false" name="TotalAcquiredIntangibleAssetsAccumulatedAmortization" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_A2022SeniorCreditAgreementMember" abstract="true" name="A2022SeniorCreditAgreementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_PerformanceStockUnitsMember" abstract="false" name="PerformanceStockUnitsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_IndefiniteLivedAccumulatedAmortization" abstract="false" name="IndefiniteLivedAccumulatedAmortization" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_MarketPriceOfCommonStockPerShare" abstract="false" name="MarketPriceOfCommonStockPerShare" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="dtr-types1:perShareItemType"/>
  <xs:element id="rock_IncomeTaxesPaidAndNetOfTaxRefundsTableTextBlock" abstract="false" name="IncomeTaxesPaidAndNetOfTaxRefundsTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:textBlockItemType"/>
  <xs:element id="rock_InfrastructureMember" abstract="false" name="InfrastructureMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_IndustrialBusinessSegmentMember" abstract="true" name="IndustrialBusinessSegmentMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_IncomeTaxStatueOfLimitationsExpirationPeriod" abstract="false" name="IncomeTaxStatueOfLimitationsExpirationPeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="rock_RetirementPlanNumberOfPlans" abstract="false" name="RetirementPlanNumberOfPlans" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="rock_CapitalLossCarryforwardAmendedReturns" abstract="false" name="CapitalLossCarryforwardAmendedReturns" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_InventoryValuationScrappedInventoryAndOtherAdjustments" abstract="false" name="InventoryValuationScrappedInventoryAndOtherAdjustments" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_DebtInstrumentApplicableRatePeriodAxis" abstract="true" name="DebtInstrumentApplicableRatePeriodAxis" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrldt:dimensionItem" type="xbrli:stringItemType"/>
  <xs:element id="rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount" abstract="false" name="EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_CashPaidToSettleLiabilityAwardsTableTextBlock" abstract="false" name="CashPaidToSettleLiabilityAwardsTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:textBlockItemType"/>
  <xs:element id="rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:perShareItemType"/>
  <xs:element id="rock_PaymentsToAcquirePropertyPlantAndEquipmentNet" abstract="false" name="PaymentsToAcquirePropertyPlantAndEquipmentNet" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_A2019Member" abstract="true" name="A2019Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_RenewablesMember" abstract="true" name="RenewablesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_InventoryValuationExcessObsoleteAndSlowMovingInventory" abstract="false" name="InventoryValuationExcessObsoleteAndSlowMovingInventory" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_A2017Member" abstract="true" name="A2017Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_AccruedCustomerRebatesCurrent" abstract="false" name="AccruedCustomerRebatesCurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_RestructuringandRelatedCostNumberofFacilitiestobeClosed" abstract="false" name="RestructuringandRelatedCostNumberofFacilitiestobeClosed" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod" abstract="false" name="SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="rock_HomeImprovementRetailCompanyMember" abstract="true" name="HomeImprovementRetailCompanyMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_NetPeriodicPostRetirementCostTable" abstract="true" name="NetPeriodicPostRetirementCostTable" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrldt:hypercubeItem" type="xbrli:stringItemType"/>
  <xs:element id="rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1" abstract="false" name="OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_LondonInterbankOfferedRateLIBOR1Member" abstract="true" name="LondonInterbankOfferedRateLIBOR1Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="rock_ManagementStockPurchasePlanMember" abstract="false" name="ManagementStockPurchasePlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_PrivatelyHeldUtahBasedCompanyMember" abstract="true" name="PrivatelyHeldUtahBasedCompanyMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types:domainItemType"/>
  <xs:element id="rock_ContractsReceivableGrossCurrent" abstract="false" name="ContractsReceivableGrossCurrent" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag" abstract="false" name="DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod" abstract="false" name="TreasuryStockValueAcquiredExciseTaxAmountCostMethod" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_ApplicableRatePeriod2Member" abstract="true" name="ApplicableRatePeriod2Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_AccruedEquityBasedCompensation" abstract="false" name="AccruedEquityBasedCompensation" nillable="true" xbrli:periodType="instant" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_InterestAdjustment" abstract="false" name="InterestAdjustment" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_ScheduleOfFairValueOfOptionsExercisedAndOtherAwardsVestedTableTextBlock" abstract="false" name="ScheduleOfFairValueOfOptionsExercisedAndOtherAwardsVestedTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:textBlockItemType"/>
  <xs:element id="rock_AccumulatedOtherComprehensiveIncomeLossTax" abstract="false" name="AccumulatedOtherComprehensiveIncomeLossTax" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent" abstract="false" name="EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:percentItemType"/>
  <xs:element id="rock_DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness" abstract="false" name="DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_A401kPlanMember" abstract="true" name="A401kPlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_FairValueMeasurementPeriod" abstract="false" name="FairValueMeasurementPeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="rock_BillingsinExcessofCostMember" abstract="true" name="BillingsinExcessofCostMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_ScheduleOfInterestCashPaymentTableTextBlock" abstract="false" name="ScheduleOfInterestCashPaymentTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:textBlockItemType"/>
  <xs:element id="rock_StockIssuedDuringPeriodValueRestrictedStockAwardSettlement" abstract="false" name="StockIssuedDuringPeriodValueRestrictedStockAwardSettlement" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_ContractWithCustomerContractPaymentTerms" abstract="false" name="ContractWithCustomerContractPaymentTerms" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="rock_TwoThousandEighteenEquityIncentivePlanMember" abstract="true" name="TwoThousandEighteenEquityIncentivePlanMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_CapitalLossCarryforward" abstract="false" name="CapitalLossCarryforward" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_AgtechMember" abstract="true" name="AgtechMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_A2019SeniorCreditAgreementMember" abstract="true" name="A2019SeniorCreditAgreementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts" abstract="false" name="DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:percentItemType"/>
  <xs:element id="rock_DeferredTaxAssetOperatingLeases" abstract="false" name="DeferredTaxAssetOperatingLeases" nillable="true" xbrli:periodType="instant" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="rock_A2018Member" abstract="true" name="A2018Member" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod" abstract="false" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>10
<FILENAME>rock-20231231_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2024 Workiva-->
<!--r:f978b62b-0b5d-4525-9c9a-353eb8961492,g:e9e8e764-a5ea-4370-854e-7ce6a9aa54a1-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome" xlink:type="simple" xlink:href="rock-20231231.xsd#ConsolidatedStatementsofIncome"/>
  <link:calculationLink xlink:role="http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_f7742026-2522-4be7-a7c1-af8eb55dfe98" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_53f16cb6-64de-44ae-932c-a8f473ddabdb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_f7742026-2522-4be7-a7c1-af8eb55dfe98" xlink:to="loc_us-gaap_GrossProfit_53f16cb6-64de-44ae-932c-a8f473ddabdb" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_36674587-b5da-4fcc-9ef1-511c1efd01a1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_f7742026-2522-4be7-a7c1-af8eb55dfe98" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_36674587-b5da-4fcc-9ef1-511c1efd01a1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetImpairment_0446b29d-2701-4f5d-9fd8-b54d3cf72d24" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetImpairment"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_f7742026-2522-4be7-a7c1-af8eb55dfe98" xlink:to="loc_us-gaap_GoodwillAndIntangibleAssetImpairment_0446b29d-2701-4f5d-9fd8-b54d3cf72d24" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_dca14914-4211-49c2-816e-ba3bfc6e323c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_e2b2baa4-55e1-4fd1-b3c4-32c62578aa02" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EarningsPerShareDiluted_dca14914-4211-49c2-816e-ba3bfc6e323c" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_e2b2baa4-55e1-4fd1-b3c4-32c62578aa02" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare_81392073-8eee-4eef-8ccc-87bf5f2f454c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EarningsPerShareDiluted_dca14914-4211-49c2-816e-ba3bfc6e323c" xlink:to="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare_81392073-8eee-4eef-8ccc-87bf5f2f454c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_5574d792-9801-48ae-9a44-087d59f314b9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperations_389f40c3-3268-474f-b6a8-a666c778969a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperations"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_5574d792-9801-48ae-9a44-087d59f314b9" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperations_389f40c3-3268-474f-b6a8-a666c778969a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_e14573a9-cfbb-41a2-a61a-a766bd45bb25" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_5574d792-9801-48ae-9a44-087d59f314b9" xlink:to="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_e14573a9-cfbb-41a2-a61a-a766bd45bb25" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperations_9a4a3fb0-fa97-4063-af9d-dc93fb3b1434" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperations"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_0303c4e8-b704-48ba-bde3-8d9b8532ea07" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperations_9a4a3fb0-fa97-4063-af9d-dc93fb3b1434" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_0303c4e8-b704-48ba-bde3-8d9b8532ea07" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_a1bb0d8c-7354-4eeb-b4eb-38115b8acd44" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperations_9a4a3fb0-fa97-4063-af9d-dc93fb3b1434" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_a1bb0d8c-7354-4eeb-b4eb-38115b8acd44" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_32bac486-ac1c-42a2-b85a-c2dafa3c10c1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_a99bfbc5-87c1-407c-891e-f3ca6ed0bbd8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_32bac486-ac1c-42a2-b85a-c2dafa3c10c1" xlink:to="loc_us-gaap_Revenues_a99bfbc5-87c1-407c-891e-f3ca6ed0bbd8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenue_b2a6cebe-f34e-40a6-9b58-ac2d90e66856" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_32bac486-ac1c-42a2-b85a-c2dafa3c10c1" xlink:to="loc_us-gaap_CostOfRevenue_b2a6cebe-f34e-40a6-9b58-ac2d90e66856" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_362c3ca4-9880-4eaa-bba2-a3bf47d6987f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_cfecb598-948f-430c-bf91-c670bbb54976" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_362c3ca4-9880-4eaa-bba2-a3bf47d6987f" xlink:to="loc_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_cfecb598-948f-430c-bf91-c670bbb54976" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_ad0fa645-32d9-4ee9-9a59-2754a3b37bef" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_362c3ca4-9880-4eaa-bba2-a3bf47d6987f" xlink:to="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_ad0fa645-32d9-4ee9-9a59-2754a3b37bef" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_a5a385cc-ee2e-4913-b4ef-053952a7a8d1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_97526f86-fbe7-402c-b422-82be9c37909e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_a5a385cc-ee2e-4913-b4ef-053952a7a8d1" xlink:to="loc_us-gaap_OperatingIncomeLoss_97526f86-fbe7-402c-b422-82be9c37909e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNet_4a9b9335-010f-4190-b1fb-2834cc94f118" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeExpenseNet"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_a5a385cc-ee2e-4913-b4ef-053952a7a8d1" xlink:to="loc_us-gaap_InterestIncomeExpenseNet_4a9b9335-010f-4190-b1fb-2834cc94f118" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherIncome_96f4636a-a013-4187-b970-394ceee3d155" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherIncome"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_a5a385cc-ee2e-4913-b4ef-053952a7a8d1" xlink:to="loc_us-gaap_OtherIncome_96f4636a-a013-4187-b970-394ceee3d155" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_0ac0411d-a4f2-4cf5-895a-46efc4c98a21" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_cbd0f17f-45d3-4d4d-a631-e7cbbdc06510" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsPerBasicShare"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EarningsPerShareBasic_0ac0411d-a4f2-4cf5-895a-46efc4c98a21" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_cbd0f17f-45d3-4d4d-a631-e7cbbdc06510" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare_abed73cb-0c45-4833-8bc7-ab8557475059" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EarningsPerShareBasic_0ac0411d-a4f2-4cf5-895a-46efc4c98a21" xlink:to="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare_abed73cb-0c45-4833-8bc7-ab8557475059" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ConsolidatedStatementsofComprehensiveIncome" xlink:type="simple" xlink:href="rock-20231231.xsd#ConsolidatedStatementsofComprehensiveIncome"/>
  <link:calculationLink xlink:role="http://www.gibraltar1.com/role/ConsolidatedStatementsofComprehensiveIncome" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_294f24dc-d06a-4d5b-914d-10d62a64ecaf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_c8b31aeb-7af7-40f2-91ee-341acf963dd9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_294f24dc-d06a-4d5b-914d-10d62a64ecaf" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_c8b31aeb-7af7-40f2-91ee-341acf963dd9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_3cec36f0-e50f-45b5-887e-9a6e2c89c761" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_294f24dc-d06a-4d5b-914d-10d62a64ecaf" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_3cec36f0-e50f-45b5-887e-9a6e2c89c761" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_d7022b4a-3cd7-45e2-9a4b-78a53a126484" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_01cb797e-693a-404c-8a3f-e53c9309d3e4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_d7022b4a-3cd7-45e2-9a4b-78a53a126484" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_01cb797e-693a-404c-8a3f-e53c9309d3e4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_e29bde51-9e49-4f4c-b6c2-3551fa80f935" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_d7022b4a-3cd7-45e2-9a4b-78a53a126484" xlink:to="loc_us-gaap_NetIncomeLoss_e29bde51-9e49-4f4c-b6c2-3551fa80f935" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ConsolidatedBalanceSheets" xlink:type="simple" xlink:href="rock-20231231.xsd#ConsolidatedBalanceSheets"/>
  <link:calculationLink xlink:role="http://www.gibraltar1.com/role/ConsolidatedBalanceSheets" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_cf625aad-8bca-4986-82ae-679b4669b366" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_5b6938ab-61ab-46e2-9836-deed741efc8a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_cf625aad-8bca-4986-82ae-679b4669b366" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_5b6938ab-61ab-46e2-9836-deed741efc8a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_00e31fb1-d056-4589-b4e9-3ab5e4f36149" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_cf625aad-8bca-4986-82ae-679b4669b366" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_00e31fb1-d056-4589-b4e9-3ab5e4f36149" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsCurrent_c0d07a30-ffbf-4783-bfd8-6215efebd4f4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_cf625aad-8bca-4986-82ae-679b4669b366" xlink:to="loc_us-gaap_OtherAssetsCurrent_c0d07a30-ffbf-4783-bfd8-6215efebd4f4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_f96d6d38-879b-4ab7-98cf-6651ab2886d1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_cf625aad-8bca-4986-82ae-679b4669b366" xlink:to="loc_us-gaap_InventoryNet_f96d6d38-879b-4ab7-98cf-6651ab2886d1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_e8338aec-5e2a-4064-a8bf-0b1874649a70" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_fec8a3fc-e76e-4a91-9b0c-db025555801e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_e8338aec-5e2a-4064-a8bf-0b1874649a70" xlink:to="loc_us-gaap_AccountsPayableCurrent_fec8a3fc-e76e-4a91-9b0c-db025555801e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_0caa9f02-de77-405a-8ecc-f3580a232634" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_e8338aec-5e2a-4064-a8bf-0b1874649a70" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_0caa9f02-de77-405a-8ecc-f3580a232634" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_a266c6f7-495e-428c-8c8c-d48ddcb218d8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_e8338aec-5e2a-4064-a8bf-0b1874649a70" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_a266c6f7-495e-428c-8c8c-d48ddcb218d8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_5a75e07c-659a-48ff-9b7d-26b9dff18577" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue_e5d088ed-6136-40be-8127-571ed919002c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_5a75e07c-659a-48ff-9b7d-26b9dff18577" xlink:to="loc_us-gaap_PreferredStockValue_e5d088ed-6136-40be-8127-571ed919002c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_77364740-d500-4dc1-8e06-6a55586b4562" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_5a75e07c-659a-48ff-9b7d-26b9dff18577" xlink:to="loc_us-gaap_CommonStockValue_77364740-d500-4dc1-8e06-6a55586b4562" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital_17b88f5c-ea7f-490e-b503-b3a64fff080e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_5a75e07c-659a-48ff-9b7d-26b9dff18577" xlink:to="loc_us-gaap_AdditionalPaidInCapital_17b88f5c-ea7f-490e-b503-b3a64fff080e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_d295daf6-6cce-437c-ac5f-dfea2132fc4e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_5a75e07c-659a-48ff-9b7d-26b9dff18577" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_d295daf6-6cce-437c-ac5f-dfea2132fc4e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_6ce8950e-3af9-4f9f-aeba-42dceb432a51" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_5a75e07c-659a-48ff-9b7d-26b9dff18577" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_6ce8950e-3af9-4f9f-aeba-42dceb432a51" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValue_0bd5807e-f640-4b40-8e6b-b31de16d1c7b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValue"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_5a75e07c-659a-48ff-9b7d-26b9dff18577" xlink:to="loc_us-gaap_TreasuryStockValue_0bd5807e-f640-4b40-8e6b-b31de16d1c7b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_a85e7a40-f7b1-4d5f-9197-7aefb7d28bcf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_8304c5a2-b2d4-4c7e-a6f0-3f684c5557f7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_a85e7a40-f7b1-4d5f-9197-7aefb7d28bcf" xlink:to="loc_us-gaap_AssetsCurrent_8304c5a2-b2d4-4c7e-a6f0-3f684c5557f7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_54a91a49-40a6-4cc2-b9a8-6a891a720657" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_a85e7a40-f7b1-4d5f-9197-7aefb7d28bcf" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_54a91a49-40a6-4cc2-b9a8-6a891a720657" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_6d43a08b-4fa9-4095-9d98-ae94a94dd65a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_a85e7a40-f7b1-4d5f-9197-7aefb7d28bcf" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_6d43a08b-4fa9-4095-9d98-ae94a94dd65a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_c26fc0ad-595f-4415-be70-14b1d87ba73e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_a85e7a40-f7b1-4d5f-9197-7aefb7d28bcf" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_c26fc0ad-595f-4415-be70-14b1d87ba73e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_1addbc2e-f357-4cec-9f3e-b73d7c03f68c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_a85e7a40-f7b1-4d5f-9197-7aefb7d28bcf" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_1addbc2e-f357-4cec-9f3e-b73d7c03f68c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_78a2b971-73e3-437e-b0b0-7b722af9f961" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_a85e7a40-f7b1-4d5f-9197-7aefb7d28bcf" xlink:to="loc_us-gaap_Goodwill_78a2b971-73e3-437e-b0b0-7b722af9f961" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_0b95fe97-06ff-4c0e-9ab4-006c9d6ce647" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_83d29a17-59bb-4e69-a6c5-f35923cfae70" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_0b95fe97-06ff-4c0e-9ab4-006c9d6ce647" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_83d29a17-59bb-4e69-a6c5-f35923cfae70" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_4b8acb7c-8928-406a-a8f3-300c1bd34164" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_0b95fe97-06ff-4c0e-9ab4-006c9d6ce647" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_4b8acb7c-8928-406a-a8f3-300c1bd34164" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtNoncurrent_a7877aaa-a96c-4b5c-8ed6-eece25e7563f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtNoncurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_0b95fe97-06ff-4c0e-9ab4-006c9d6ce647" xlink:to="loc_us-gaap_LongTermDebtNoncurrent_a7877aaa-a96c-4b5c-8ed6-eece25e7563f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_c93794fe-5a77-4de9-9a78-8ff48aa3f3e3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_0b95fe97-06ff-4c0e-9ab4-006c9d6ce647" xlink:to="loc_us-gaap_LiabilitiesCurrent_c93794fe-5a77-4de9-9a78-8ff48aa3f3e3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_98b719d9-7460-4874-910a-0bdf46b32893" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_0b95fe97-06ff-4c0e-9ab4-006c9d6ce647" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_98b719d9-7460-4874-910a-0bdf46b32893" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_bf202760-f5c2-41d9-81f5-7023623d21b1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_0b95fe97-06ff-4c0e-9ab4-006c9d6ce647" xlink:to="loc_us-gaap_StockholdersEquity_bf202760-f5c2-41d9-81f5-7023623d21b1" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows" xlink:type="simple" xlink:href="rock-20231231.xsd#ConsolidatedStatementsofCashFlows"/>
  <link:calculationLink xlink:role="http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_b77fef0e-1b18-4dd3-988b-9c2780992073" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations_0b87bfd8-f0da-4147-a3f8-84f40fbed658" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_b77fef0e-1b18-4dd3-988b-9c2780992073" xlink:to="loc_us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations_0b87bfd8-f0da-4147-a3f8-84f40fbed658" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_44903b8f-6136-49c4-a60d-06e8925d6ed0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_b77fef0e-1b18-4dd3-988b-9c2780992073" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_44903b8f-6136-49c4-a60d-06e8925d6ed0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_e0a9a82f-8c08-48b7-9f0d-2c5e5507984e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperations_791645ee-cf05-48f8-bbda-f6f19e29c0c5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperations"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_e0a9a82f-8c08-48b7-9f0d-2c5e5507984e" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperations_791645ee-cf05-48f8-bbda-f6f19e29c0c5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_f772b905-e8d0-40c6-87d5-5d91d9dc5d94" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_e0a9a82f-8c08-48b7-9f0d-2c5e5507984e" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_f772b905-e8d0-40c6-87d5-5d91d9dc5d94" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetImpairment_7cfe6f89-e6d1-444e-8127-1c69a434c19c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetImpairment"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_e0a9a82f-8c08-48b7-9f0d-2c5e5507984e" xlink:to="loc_us-gaap_GoodwillAndIntangibleAssetImpairment_7cfe6f89-e6d1-444e-8127-1c69a434c19c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_dbb3b15e-a5aa-4c1b-b899-6206aa4c504a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_e0a9a82f-8c08-48b7-9f0d-2c5e5507984e" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_dbb3b15e-a5aa-4c1b-b899-6206aa4c504a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_3be141c6-24d8-4d36-b7bf-68b2c0a061b0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_e0a9a82f-8c08-48b7-9f0d-2c5e5507984e" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_3be141c6-24d8-4d36-b7bf-68b2c0a061b0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization_40e885e8-ec1b-4495-a56a-f7e3df61a86b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_e0a9a82f-8c08-48b7-9f0d-2c5e5507984e" xlink:to="loc_us-gaap_DepreciationDepletionAndAmortization_40e885e8-ec1b-4495-a56a-f7e3df61a86b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_b23877ba-e56c-46d5-bc6e-a0c6258230e6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_e0a9a82f-8c08-48b7-9f0d-2c5e5507984e" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_b23877ba-e56c-46d5-bc6e-a0c6258230e6" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfFinancingCostsAndDiscounts_a2a0654f-22c4-4e84-9c86-215628437cc8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfFinancingCostsAndDiscounts"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_e0a9a82f-8c08-48b7-9f0d-2c5e5507984e" xlink:to="loc_us-gaap_AmortizationOfFinancingCostsAndDiscounts_a2a0654f-22c4-4e84-9c86-215628437cc8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_1e2139b3-087e-4824-845f-b45bdaaa358a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:calculationArc order="9" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_e0a9a82f-8c08-48b7-9f0d-2c5e5507984e" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_1e2139b3-087e-4824-845f-b45bdaaa358a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_86aef072-6799-4ec3-b5ea-b47e19dd8b6f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:calculationArc order="10" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_e0a9a82f-8c08-48b7-9f0d-2c5e5507984e" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_86aef072-6799-4ec3-b5ea-b47e19dd8b6f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_0a55973f-ad89-4f54-9d94-66304ba4d64c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation"/>
    <link:calculationArc order="11" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_e0a9a82f-8c08-48b7-9f0d-2c5e5507984e" xlink:to="loc_us-gaap_ShareBasedCompensation_0a55973f-ad89-4f54-9d94-66304ba4d64c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNoncashIncomeExpense_488173fb-8ce1-4396-bea5-6c4447091353" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNoncashIncomeExpense"/>
    <link:calculationArc order="12" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_e0a9a82f-8c08-48b7-9f0d-2c5e5507984e" xlink:to="loc_us-gaap_OtherNoncashIncomeExpense_488173fb-8ce1-4396-bea5-6c4447091353" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperations_233b674a-5528-4c8f-bc28-4217acd8e839" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperations"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_0f157a1f-943f-42a1-acf8-6f437153f914" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperations_233b674a-5528-4c8f-bc28-4217acd8e839" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_0f157a1f-943f-42a1-acf8-6f437153f914" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested_e3807029-7e57-4efa-b147-5e353ab915fe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperations_233b674a-5528-4c8f-bc28-4217acd8e839" xlink:to="loc_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested_e3807029-7e57-4efa-b147-5e353ab915fe" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_PaymentsToAcquirePropertyPlantAndEquipmentNet_9ae634ef-1e88-4e3a-800f-30027db76b2b" xlink:href="rock-20231231.xsd#rock_PaymentsToAcquirePropertyPlantAndEquipmentNet"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperations_233b674a-5528-4c8f-bc28-4217acd8e839" xlink:to="loc_rock_PaymentsToAcquirePropertyPlantAndEquipmentNet_9ae634ef-1e88-4e3a-800f-30027db76b2b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_1f52a808-5b1c-43d2-baf5-65ecc8da9ee7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfLongTermDebt_97b4974c-41c0-4f13-be3c-a3adafcd0476" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLongTermDebt"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_1f52a808-5b1c-43d2-baf5-65ecc8da9ee7" xlink:to="loc_us-gaap_RepaymentsOfLongTermDebt_97b4974c-41c0-4f13-be3c-a3adafcd0476" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfLongTermDebt_4ae7568e-43b2-45fd-86d2-dfcaf4659ba4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_1f52a808-5b1c-43d2-baf5-65ecc8da9ee7" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfLongTermDebt_4ae7568e-43b2-45fd-86d2-dfcaf4659ba4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_5cdc0914-f81e-4ebb-89fa-187b0e83c398" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_1f52a808-5b1c-43d2-baf5-65ecc8da9ee7" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_5cdc0914-f81e-4ebb-89fa-187b0e83c398" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfFinancingCosts_c8ce49f0-c631-4e50-9e7c-ed5fbef3f69f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfFinancingCosts"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_1f52a808-5b1c-43d2-baf5-65ecc8da9ee7" xlink:to="loc_us-gaap_PaymentsOfFinancingCosts_c8ce49f0-c631-4e50-9e7c-ed5fbef3f69f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfCommonStock_74c010c2-574d-4aaf-8347-4c784c17e746" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_1f52a808-5b1c-43d2-baf5-65ecc8da9ee7" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfCommonStock_74c010c2-574d-4aaf-8347-4c784c17e746" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_d612c9e2-77e3-49db-b313-fc563804c460" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_22840332-e134-4ff8-b19a-2349c8cc279e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_d612c9e2-77e3-49db-b313-fc563804c460" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_22840332-e134-4ff8-b19a-2349c8cc279e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_1c98caa9-0fd5-446a-a363-28d555c24c70" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_d612c9e2-77e3-49db-b313-fc563804c460" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_1c98caa9-0fd5-446a-a363-28d555c24c70" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_51c9c312-bf9b-476d-854b-0f6cef717374" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_d612c9e2-77e3-49db-b313-fc563804c460" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_51c9c312-bf9b-476d-854b-0f6cef717374" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_196fa13a-562c-41c0-88b9-8fed03eba3d9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_d612c9e2-77e3-49db-b313-fc563804c460" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_196fa13a-562c-41c0-88b9-8fed03eba3d9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_55ec50c3-ba56-465f-8fd1-8b54fda5af8b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperations_4d017ee8-929a-4ca8-8df2-6ddfa708b233" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperations"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_55ec50c3-ba56-465f-8fd1-8b54fda5af8b" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperations_4d017ee8-929a-4ca8-8df2-6ddfa708b233" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations_5cb10b09-aea8-44e1-b2d1-6a064029da3e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_55ec50c3-ba56-465f-8fd1-8b54fda5af8b" xlink:to="loc_us-gaap_CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations_5cb10b09-aea8-44e1-b2d1-6a064029da3e" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AccountsReceivableDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#AccountsReceivableDetails"/>
  <link:calculationLink xlink:role="http://www.gibraltar1.com/role/AccountsReceivableDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_rock_ContractsReceivableGrossCurrent_548f261f-0945-4532-b027-b9288ed30377" xlink:href="rock-20231231.xsd#rock_ContractsReceivableGrossCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableGrossCurrent_1265522f-c48b-47f5-85d4-a18228381930" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableGrossCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_rock_ContractsReceivableGrossCurrent_548f261f-0945-4532-b027-b9288ed30377" xlink:to="loc_us-gaap_AccountsReceivableGrossCurrent_1265522f-c48b-47f5-85d4-a18228381930" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnbilledContractsReceivable_cdccbde7-cf8e-4f4d-a5b9-18732c75a455" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnbilledContractsReceivable"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_rock_ContractsReceivableGrossCurrent_548f261f-0945-4532-b027-b9288ed30377" xlink:to="loc_us-gaap_UnbilledContractsReceivable_cdccbde7-cf8e-4f4d-a5b9-18732c75a455" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_7050e54f-8301-402e-9732-ef1e3fad061f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ContractsReceivableGrossCurrent_fa68f4a6-8f7a-44ef-b997-731975e0045e" xlink:href="rock-20231231.xsd#rock_ContractsReceivableGrossCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent_7050e54f-8301-402e-9732-ef1e3fad061f" xlink:to="loc_rock_ContractsReceivableGrossCurrent_fa68f4a6-8f7a-44ef-b997-731975e0045e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_ba03223b-ad37-46fd-aafc-7360e9ad2be0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent_7050e54f-8301-402e-9732-ef1e3fad061f" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_ba03223b-ad37-46fd-aafc-7360e9ad2be0" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/InventoriesNetScheduleofInventoriesDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#InventoriesNetScheduleofInventoriesDetails"/>
  <link:calculationLink xlink:role="http://www.gibraltar1.com/role/InventoriesNetScheduleofInventoriesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryGross_6d21576b-30a1-490d-8b71-0e8c94dcbb3b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryGross"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterials_da14e17b-bb66-4bbf-9592-7cce8615c5b0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterials"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryGross_6d21576b-30a1-490d-8b71-0e8c94dcbb3b" xlink:to="loc_us-gaap_InventoryRawMaterials_da14e17b-bb66-4bbf-9592-7cce8615c5b0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoods_4f0ff57b-741e-433e-8fc2-b98da3d35717" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryGross_6d21576b-30a1-490d-8b71-0e8c94dcbb3b" xlink:to="loc_us-gaap_InventoryFinishedGoods_4f0ff57b-741e-433e-8fc2-b98da3d35717" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWorkInProcess_6aecab3a-64ea-471f-a5af-1b4ce2622097" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcess"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryGross_6d21576b-30a1-490d-8b71-0e8c94dcbb3b" xlink:to="loc_us-gaap_InventoryWorkInProcess_6aecab3a-64ea-471f-a5af-1b4ce2622097" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_19674fc1-f821-4b13-8487-9a823bad48a0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryGross_a26e7ecb-9665-4643-91cd-5ac6bec468f5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryGross"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_19674fc1-f821-4b13-8487-9a823bad48a0" xlink:to="loc_us-gaap_InventoryGross_a26e7ecb-9665-4643-91cd-5ac6bec468f5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryAdjustments_5d80d8e1-a8a1-4b87-ba17-3ebfc6be7303" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryAdjustments"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_19674fc1-f821-4b13-8487-9a823bad48a0" xlink:to="loc_us-gaap_InventoryAdjustments_5d80d8e1-a8a1-4b87-ba17-3ebfc6be7303" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#PropertyPlantandEquipmentNetDetails"/>
  <link:calculationLink xlink:role="http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_82571da7-6f35-4784-bb05-a2ad8238eb36" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BuildingsAndImprovementsGross_b20ba406-b906-4f61-b395-e6c82253cc02" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingsAndImprovementsGross"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross_82571da7-6f35-4784-bb05-a2ad8238eb36" xlink:to="loc_us-gaap_BuildingsAndImprovementsGross_b20ba406-b906-4f61-b395-e6c82253cc02" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConstructionInProgressGross_a0d14ad3-d56c-4ca5-adcb-47b62133c71c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConstructionInProgressGross"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross_82571da7-6f35-4784-bb05-a2ad8238eb36" xlink:to="loc_us-gaap_ConstructionInProgressGross_a0d14ad3-d56c-4ca5-adcb-47b62133c71c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MachineryAndEquipmentGross_5e026a04-a5ba-4a10-9c62-92b79bc298a2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentGross"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross_82571da7-6f35-4784-bb05-a2ad8238eb36" xlink:to="loc_us-gaap_MachineryAndEquipmentGross_5e026a04-a5ba-4a10-9c62-92b79bc298a2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LandAndLandImprovements_3a8c3457-8ce7-416f-8be8-3f921512ce47" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandAndLandImprovements"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross_82571da7-6f35-4784-bb05-a2ad8238eb36" xlink:to="loc_us-gaap_LandAndLandImprovements_3a8c3457-8ce7-416f-8be8-3f921512ce47" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_b50b59c1-b455-4422-b28e-641d1aea36e7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_e02c5c0e-6aa6-4db1-ad59-5338794225a3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet_b50b59c1-b455-4422-b28e-641d1aea36e7" xlink:to="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_e02c5c0e-6aa6-4db1-ad59-5338794225a3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_a3682a14-f497-4820-86b9-0d39d8d6908c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet_b50b59c1-b455-4422-b28e-641d1aea36e7" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_a3682a14-f497-4820-86b9-0d39d8d6908c" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"/>
  <link:calculationLink xlink:role="http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_eced5492-d6a1-4568-8210-789f8bbd0075" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_735024c7-7173-41af-a32d-daa83cbbb3e5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_eced5492-d6a1-4568-8210-789f8bbd0075" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_735024c7-7173-41af-a32d-daa83cbbb3e5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital_5800d68f-85af-4529-a7d2-42fe2bd12fb5" xlink:href="rock-20231231.xsd#rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_eced5492-d6a1-4568-8210-789f8bbd0075" xlink:to="loc_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital_5800d68f-85af-4529-a7d2-42fe2bd12fb5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_0c21d7d6-82a7-4a34-a4cb-ad43e07f1344" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_eced5492-d6a1-4568-8210-789f8bbd0075" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_0c21d7d6-82a7-4a34-a4cb-ad43e07f1344" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_6218ae07-4cc8-471a-bd92-e4eecf8fa9c8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_eced5492-d6a1-4568-8210-789f8bbd0075" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_6218ae07-4cc8-471a-bd92-e4eecf8fa9c8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther_d858e46e-baa2-421e-8866-713ad0d560c5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_eced5492-d6a1-4568-8210-789f8bbd0075" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther_d858e46e-baa2-421e-8866-713ad0d560c5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_2db1f721-e8a0-452b-aac2-333f020466c5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_eced5492-d6a1-4568-8210-789f8bbd0075" xlink:to="loc_us-gaap_Goodwill_2db1f721-e8a0-452b-aac2-333f020466c5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_ff46dc9e-49b2-409d-b18d-28848e35fd30" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_eced5492-d6a1-4568-8210-789f8bbd0075" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_ff46dc9e-49b2-409d-b18d-28848e35fd30" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AccruedExpensesDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#AccruedExpensesDetails"/>
  <link:calculationLink xlink:role="http://www.gibraltar1.com/role/AccruedExpensesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrentAndNoncurrent_b27d572b-458b-4969-9f9a-a3c47925c6f7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrentAndNoncurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent_982b1f7f-964e-49f2-98b9-43816cad53df" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAndNoncurrent_b27d572b-458b-4969-9f9a-a3c47925c6f7" xlink:to="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent_982b1f7f-964e-49f2-98b9-43816cad53df" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent_d82ec810-0ef7-453f-ae35-78299bfb3121" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAndNoncurrent_b27d572b-458b-4969-9f9a-a3c47925c6f7" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesCurrent_d82ec810-0ef7-453f-ae35-78299bfb3121" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_5a2f9f19-bcff-4217-b8fc-57c33e4c40b3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAndNoncurrent_b27d572b-458b-4969-9f9a-a3c47925c6f7" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_5a2f9f19-bcff-4217-b8fc-57c33e4c40b3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AccruedCustomerRebatesCurrent_df8b3a37-1d85-4dd2-a432-0611bedeade7" xlink:href="rock-20231231.xsd#rock_AccruedCustomerRebatesCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAndNoncurrent_b27d572b-458b-4969-9f9a-a3c47925c6f7" xlink:to="loc_rock_AccruedCustomerRebatesCurrent_df8b3a37-1d85-4dd2-a432-0611bedeade7" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_756fa79d-5de8-4abf-9429-6bc55d51a1cd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAndNoncurrent_b27d572b-458b-4969-9f9a-a3c47925c6f7" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_756fa79d-5de8-4abf-9429-6bc55d51a1cd" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedInsuranceCurrent_aea53ba7-0d1f-463d-852f-af0c6dcd28ef" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedInsuranceCurrent"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAndNoncurrent_b27d572b-458b-4969-9f9a-a3c47925c6f7" xlink:to="loc_us-gaap_AccruedInsuranceCurrent_aea53ba7-0d1f-463d-852f-af0c6dcd28ef" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent_511a599e-cee1-4f82-a0d4-06a49ab89cc0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedIncomeTaxesCurrent"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAndNoncurrent_b27d572b-458b-4969-9f9a-a3c47925c6f7" xlink:to="loc_us-gaap_AccruedIncomeTaxesCurrent_511a599e-cee1-4f82-a0d4-06a49ab89cc0" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails"/>
  <link:calculationLink xlink:role="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet_e90caaf2-5d92-46cb-a6c9-dd81802b9212" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanFundedStatusOfPlan_7396b596-9fdb-440f-b93b-c91d6c7f4686" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanFundedStatusOfPlan"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet_e90caaf2-5d92-46cb-a6c9-dd81802b9212" xlink:to="loc_us-gaap_DefinedBenefitPlanFundedStatusOfPlan_7396b596-9fdb-440f-b93b-c91d6c7f4686" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax_e1beb387-b5fe-40fa-bcfe-5e4dbd39d475" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet_e90caaf2-5d92-46cb-a6c9-dd81802b9212" xlink:to="loc_us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax_e1beb387-b5fe-40fa-bcfe-5e4dbd39d475" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax_6758fc90-18fa-4250-af88-454c75e8503a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet_e90caaf2-5d92-46cb-a6c9-dd81802b9212" xlink:to="loc_us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax_6758fc90-18fa-4250-af88-454c75e8503a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanFundedStatusOfPlan_ad4633bd-f0d5-4db4-b241-5bfcad1de2fb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanFundedStatusOfPlan"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanBenefitObligation_dd8a2788-d929-42aa-be3d-ae414b338b63" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanBenefitObligation"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DefinedBenefitPlanFundedStatusOfPlan_ad4633bd-f0d5-4db4-b241-5bfcad1de2fb" xlink:to="loc_us-gaap_DefinedBenefitPlanBenefitObligation_dd8a2788-d929-42aa-be3d-ae414b338b63" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanFairValueOfPlanAssets_6632de61-f973-4b5d-90c4-9913c8075429" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanFairValueOfPlanAssets"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DefinedBenefitPlanFundedStatusOfPlan_ad4633bd-f0d5-4db4-b241-5bfcad1de2fb" xlink:to="loc_us-gaap_DefinedBenefitPlanFairValueOfPlanAssets_6632de61-f973-4b5d-90c4-9913c8075429" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails"/>
  <link:calculationLink xlink:role="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_74fe96e1-bfbd-471c-985e-e118567f1a8d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanInterestCost_a6f89102-b973-4710-aded-034ad37303e4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanInterestCost"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_74fe96e1-bfbd-471c-985e-e118567f1a8d" xlink:to="loc_us-gaap_DefinedBenefitPlanInterestCost_a6f89102-b973-4710-aded-034ad37303e4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_aa6889b1-465f-468f-8c0f-c4f429fbb4fd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_74fe96e1-bfbd-471c-985e-e118567f1a8d" xlink:to="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_aa6889b1-465f-468f-8c0f-c4f429fbb4fd" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses_8b2d821a-bee7-423f-b52b-f7bcb51a8962" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_74fe96e1-bfbd-471c-985e-e118567f1a8d" xlink:to="loc_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses_8b2d821a-bee7-423f-b52b-f7bcb51a8962" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/IncomeTaxesComponentsofIncomeLossbeforeTaxesfromContinuingOperationsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#IncomeTaxesComponentsofIncomeLossbeforeTaxesfromContinuingOperationsDetails"/>
  <link:calculationLink xlink:role="http://www.gibraltar1.com/role/IncomeTaxesComponentsofIncomeLossbeforeTaxesfromContinuingOperationsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_4fec1e52-b036-4439-8d95-165188c50e4d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_03f3831f-cf42-4765-b6f8-66ace72f1d42" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_4fec1e52-b036-4439-8d95-165188c50e4d" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_03f3831f-cf42-4765-b6f8-66ace72f1d42" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_47e3942b-af58-46db-ae01-37df11cc681c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_4fec1e52-b036-4439-8d95-165188c50e4d" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_47e3942b-af58-46db-ae01-37df11cc681c" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#IncomeTaxesBenefitofProvisionforIncomeTaxesDetails"/>
  <link:calculationLink xlink:role="http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_165bebb6-c770-40b9-82ab-e8569d41dca5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentFederalTaxExpenseBenefit_18db0587-1942-49e8-9c25-84727be00146" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_165bebb6-c770-40b9-82ab-e8569d41dca5" xlink:to="loc_us-gaap_CurrentFederalTaxExpenseBenefit_18db0587-1942-49e8-9c25-84727be00146" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentForeignTaxExpenseBenefit_952bcf85-6f6d-4853-a078-1356f60f3bfa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentForeignTaxExpenseBenefit"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_165bebb6-c770-40b9-82ab-e8569d41dca5" xlink:to="loc_us-gaap_CurrentForeignTaxExpenseBenefit_952bcf85-6f6d-4853-a078-1356f60f3bfa" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_4894d649-4415-40ab-af24-2d61334ada62" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_165bebb6-c770-40b9-82ab-e8569d41dca5" xlink:to="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_4894d649-4415-40ab-af24-2d61334ada62" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_bd18f058-00e3-4dd4-9027-35393f10efd6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_32667a8a-bc58-4fda-84d6-6692ebc00415" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_bd18f058-00e3-4dd4-9027-35393f10efd6" xlink:to="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_32667a8a-bc58-4fda-84d6-6692ebc00415" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_cbfd11e1-fe73-49b6-be1d-7eefb0f1a4b4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_bd18f058-00e3-4dd4-9027-35393f10efd6" xlink:to="loc_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_cbfd11e1-fe73-49b6-be1d-7eefb0f1a4b4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_aedb6a04-923d-44b9-8ef6-5b4c7f1d2c3e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_bd18f058-00e3-4dd4-9027-35393f10efd6" xlink:to="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_aedb6a04-923d-44b9-8ef6-5b4c7f1d2c3e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_a5e20903-4fc0-4eff-a1fc-81ebf5d5f190" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_1c48fb44-4cd5-40b2-ad5f-0fd3a95ad627" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_a5e20903-4fc0-4eff-a1fc-81ebf5d5f190" xlink:to="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_1c48fb44-4cd5-40b2-ad5f-0fd3a95ad627" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_e572b7a7-a468-4bd8-9148-8fddd8e0872a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_a5e20903-4fc0-4eff-a1fc-81ebf5d5f190" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_e572b7a7-a468-4bd8-9148-8fddd8e0872a" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails"/>
  <link:calculationLink xlink:role="http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_a9146978-497c-43ea-b608-8da696ad0ea6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_3d761c66-a4a0-4d73-8b55-dd36604ee031" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_a9146978-497c-43ea-b608-8da696ad0ea6" xlink:to="loc_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_3d761c66-a4a0-4d73-8b55-dd36604ee031" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_ab921dab-6f3c-487d-8874-e871d05601f1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_a9146978-497c-43ea-b608-8da696ad0ea6" xlink:to="loc_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_ab921dab-6f3c-487d-8874-e871d05601f1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationTaxCredits_afce6d5a-b040-4ce1-bd47-d3139fbd0a4c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationTaxCredits"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_a9146978-497c-43ea-b608-8da696ad0ea6" xlink:to="loc_us-gaap_IncomeTaxReconciliationTaxCredits_afce6d5a-b040-4ce1-bd47-d3139fbd0a4c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount_ce28f3e3-d786-4254-99f9-692cb038c0ff" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_a9146978-497c-43ea-b608-8da696ad0ea6" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount_ce28f3e3-d786-4254-99f9-692cb038c0ff" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount_373d59a1-709e-41d8-9b04-18b645a76000" xlink:href="rock-20231231.xsd#rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_a9146978-497c-43ea-b608-8da696ad0ea6" xlink:to="loc_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount_373d59a1-709e-41d8-9b04-18b645a76000" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationOtherAdjustments_711c0857-447f-4eb0-832d-c46056378f36" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_a9146978-497c-43ea-b608-8da696ad0ea6" xlink:to="loc_us-gaap_IncomeTaxReconciliationOtherAdjustments_711c0857-447f-4eb0-832d-c46056378f36" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#IncomeTaxesDeferredTaxLiabilitiesAssetsDetails"/>
  <link:calculationLink xlink:role="http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsNet_d013b5e5-5cb4-467f-b662-b70e9d45be01" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsGross_81346253-e3a2-4b5b-80a2-dc14d6883103" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsNet_d013b5e5-5cb4-467f-b662-b70e9d45be01" xlink:to="loc_us-gaap_DeferredTaxAssetsGross_81346253-e3a2-4b5b-80a2-dc14d6883103" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_6e26122b-8eba-41dc-9530-f0929a779fff" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsNet_d013b5e5-5cb4-467f-b662-b70e9d45be01" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_6e26122b-8eba-41dc-9530-f0929a779fff" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilities_3260d954-93cb-43dd-855d-c68626cd9a5f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesOther_37465857-3969-4c0c-be0e-ca827f0d671c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesOther"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities_3260d954-93cb-43dd-855d-c68626cd9a5f" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesOther_37465857-3969-4c0c-be0e-ca827f0d671c" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_f0a82298-31ed-4901-9362-fc66f523898b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities_3260d954-93cb-43dd-855d-c68626cd9a5f" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_f0a82298-31ed-4901-9362-fc66f523898b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesLeasingArrangements_ef087d41-4795-400a-b230-56181b706a5a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesLeasingArrangements"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities_3260d954-93cb-43dd-855d-c68626cd9a5f" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesLeasingArrangements_ef087d41-4795-400a-b230-56181b706a5a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_68023787-0347-41a6-8c8a-3b82f1d098ad" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities_3260d954-93cb-43dd-855d-c68626cd9a5f" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_68023787-0347-41a6-8c8a-3b82f1d098ad" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill_8ba5fb3f-4604-4f8e-8dbb-060901d126ed" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities_3260d954-93cb-43dd-855d-c68626cd9a5f" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill_8ba5fb3f-4604-4f8e-8dbb-060901d126ed" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsGross_fae815bc-bc97-4123-b7da-2ecb21ad7f9b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness_fbb6a297-885e-4325-adb5-32d5e889eafc" xlink:href="rock-20231231.xsd#rock_DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_fae815bc-bc97-4123-b7da-2ecb21ad7f9b" xlink:to="loc_rock_DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness_fbb6a297-885e-4325-adb5-32d5e889eafc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsCapitalLossCarryforwards_2b6a78bb-913b-4a24-b558-9c14bb9aecba" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsCapitalLossCarryforwards"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_fae815bc-bc97-4123-b7da-2ecb21ad7f9b" xlink:to="loc_us-gaap_DeferredTaxAssetsCapitalLossCarryforwards_2b6a78bb-913b-4a24-b558-9c14bb9aecba" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DeferredTaxAssetOperatingLeases_b702431c-581b-40e0-915b-cfab603261a8" xlink:href="rock-20231231.xsd#rock_DeferredTaxAssetOperatingLeases"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_fae815bc-bc97-4123-b7da-2ecb21ad7f9b" xlink:to="loc_rock_DeferredTaxAssetOperatingLeases_b702431c-581b-40e0-915b-cfab603261a8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOther_3a8b88af-a4cd-47b2-b952-79e63ddc8c35" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOther"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_fae815bc-bc97-4123-b7da-2ecb21ad7f9b" xlink:to="loc_us-gaap_DeferredTaxAssetsOther_3a8b88af-a4cd-47b2-b952-79e63ddc8c35" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_43def4d4-99c8-4b90-a1de-e5d024b063eb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_fae815bc-bc97-4123-b7da-2ecb21ad7f9b" xlink:to="loc_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_43def4d4-99c8-4b90-a1de-e5d024b063eb" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_c6aa23d6-55d8-4727-88a7-9fe88f3b607e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGross_fae815bc-bc97-4123-b7da-2ecb21ad7f9b" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_c6aa23d6-55d8-4727-88a7-9fe88f3b607e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilities_bb8ff8ea-b373-481a-af3e-33dd242db69a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilities_dbbd1e32-28a3-4856-8504-6b6db7c8b884" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxLiabilities_bb8ff8ea-b373-481a-af3e-33dd242db69a" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilities_dbbd1e32-28a3-4856-8504-6b6db7c8b884" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsNet_dc53839e-2214-4589-997d-f119bbb1878d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxLiabilities_bb8ff8ea-b373-481a-af3e-33dd242db69a" xlink:to="loc_us-gaap_DeferredTaxAssetsNet_dc53839e-2214-4589-997d-f119bbb1878d" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EarningsperShareScheduleofComputationofBasicandDilutedEarningsperShareDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#EarningsperShareScheduleofComputationofBasicandDilutedEarningsperShareDetails"/>
  <link:calculationLink xlink:role="http://www.gibraltar1.com/role/EarningsperShareScheduleofComputationofBasicandDilutedEarningsperShareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_3da65268-a7d0-41f0-bfce-0f151345e6e1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_0b71cd71-2a7f-4207-84a8-42df1b2eca92" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_3da65268-a7d0-41f0-bfce-0f151345e6e1" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_0b71cd71-2a7f-4207-84a8-42df1b2eca92" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_542aebbd-79c0-4cdf-a4d3-5800ca09c450" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_3da65268-a7d0-41f0-bfce-0f151345e6e1" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_542aebbd-79c0-4cdf-a4d3-5800ca09c450" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#LeasesMaturityofLeasePaymentsDetails"/>
  <link:calculationLink xlink:role="http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_75122021-117a-4e0d-b4c1-90f67109a36c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_921cd560-10fa-428b-89de-671ef827e162" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_75122021-117a-4e0d-b4c1-90f67109a36c" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_921cd560-10fa-428b-89de-671ef827e162" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_2fb4e99b-aaab-4ce3-9ee3-9843673ae070" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_75122021-117a-4e0d-b4c1-90f67109a36c" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_2fb4e99b-aaab-4ce3-9ee3-9843673ae070" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_65cd74ab-2823-4736-9c82-d1ccbf2af2b5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_75122021-117a-4e0d-b4c1-90f67109a36c" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_65cd74ab-2823-4736-9c82-d1ccbf2af2b5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_dc72d4b4-a593-431d-a343-6496dd52d4eb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_75122021-117a-4e0d-b4c1-90f67109a36c" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_dc72d4b4-a593-431d-a343-6496dd52d4eb" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_467dd460-7d7b-4897-bc8a-2ea58ca093b2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_75122021-117a-4e0d-b4c1-90f67109a36c" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_467dd460-7d7b-4897-bc8a-2ea58ca093b2" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_07b0aab8-17d9-41af-a37a-a3b88f6c6e3f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_75122021-117a-4e0d-b4c1-90f67109a36c" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_07b0aab8-17d9-41af-a37a-a3b88f6c6e3f" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails_1" xlink:type="simple" xlink:href="rock-20231231.xsd#LeasesMaturityofLeasePaymentsDetails_1"/>
  <link:calculationLink xlink:role="http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails_1" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_df2a6bbb-2f0c-4eed-a13b-0b2f16eb90df" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_00fea093-f105-4516-b30d-b5444021ca54" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_df2a6bbb-2f0c-4eed-a13b-0b2f16eb90df" xlink:to="loc_us-gaap_OperatingLeaseLiability_00fea093-f105-4516-b30d-b5444021ca54" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_18bb4547-991a-4a85-94bc-714ac356d701" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_df2a6bbb-2f0c-4eed-a13b-0b2f16eb90df" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_18bb4547-991a-4a85-94bc-714ac356d701" xlink:type="arc"/>
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>11
<FILENAME>rock-20231231_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2024 Workiva-->
<!--r:f978b62b-0b5d-4525-9c9a-353eb8961492,g:e9e8e764-a5ea-4370-854e-7ce6a9aa54a1-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all"/>
  <link: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"/>
  <link: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"/>
  <link: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"/>
  <link: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"/>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity" xlink:type="simple" xlink:href="rock-20231231.xsd#ConsolidatedStatementsofStockholdersEquity"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_b473df22-1795-4c94-931f-2afd43969067" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_718df76e-34af-4c7e-b60a-fc6680fc93c4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_b473df22-1795-4c94-931f-2afd43969067" xlink:to="loc_us-gaap_StatementTable_718df76e-34af-4c7e-b60a-fc6680fc93c4" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_2ce124c2-03ef-4d27-998c-226e4dfb2edc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_718df76e-34af-4c7e-b60a-fc6680fc93c4" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_2ce124c2-03ef-4d27-998c-226e4dfb2edc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_2ce124c2-03ef-4d27-998c-226e4dfb2edc_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_2ce124c2-03ef-4d27-998c-226e4dfb2edc" xlink:to="loc_us-gaap_EquityComponentDomain_2ce124c2-03ef-4d27-998c-226e4dfb2edc_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_709c2493-2d11-49dc-a763-5e091e853d4a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_2ce124c2-03ef-4d27-998c-226e4dfb2edc" xlink:to="loc_us-gaap_EquityComponentDomain_709c2493-2d11-49dc-a763-5e091e853d4a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_89d8da83-6d9b-4ad6-baa8-876dac74d6f5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_709c2493-2d11-49dc-a763-5e091e853d4a" xlink:to="loc_us-gaap_CommonStockMember_89d8da83-6d9b-4ad6-baa8-876dac74d6f5" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_e0ea28e5-8e94-4f09-833b-8d8c432704be" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_709c2493-2d11-49dc-a763-5e091e853d4a" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_e0ea28e5-8e94-4f09-833b-8d8c432704be" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_95544ebd-99af-44a1-aac4-66548b0f3e1f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_709c2493-2d11-49dc-a763-5e091e853d4a" xlink:to="loc_us-gaap_RetainedEarningsMember_95544ebd-99af-44a1-aac4-66548b0f3e1f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_897d5172-fe25-4b70-b3cd-7a62df69b5bf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_709c2493-2d11-49dc-a763-5e091e853d4a" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_897d5172-fe25-4b70-b3cd-7a62df69b5bf" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonMember_6443e18c-15de-46dc-9449-e8745f291732" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_709c2493-2d11-49dc-a763-5e091e853d4a" xlink:to="loc_us-gaap_TreasuryStockCommonMember_6443e18c-15de-46dc-9449-e8745f291732" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_b473df22-1795-4c94-931f-2afd43969067" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesIssued_a582abd5-510f-4224-8f3c-7f0c134ddc6c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesIssued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_us-gaap_SharesIssued_a582abd5-510f-4224-8f3c-7f0c134ddc6c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_2e65ce50-9400-4f78-8463-5740c1e0a8d7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_us-gaap_StockholdersEquity_2e65ce50-9400-4f78-8463-5740c1e0a8d7" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_113359e2-bb5d-479f-852a-7bbdebfcff1c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_us-gaap_NetIncomeLoss_113359e2-bb5d-479f-852a-7bbdebfcff1c" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_4d243beb-5f2f-4b4c-93d3-60721f5b202a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_4d243beb-5f2f-4b4c-93d3-60721f5b202a" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_16282866-e7af-4f81-8363-dabd88de7602" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_16282866-e7af-4f81-8363-dabd88de7602" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_5ca1180c-b218-4f11-bef7-95f70557e0e9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_5ca1180c-b218-4f11-bef7-95f70557e0e9" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement_4d0b67e8-efc0-4bd5-83b6-0799f1a9f36f" xlink:href="rock-20231231.xsd#rock_StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_rock_StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement_4d0b67e8-efc0-4bd5-83b6-0799f1a9f36f" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_StockIssuedDuringPeriodValueRestrictedStockAwardSettlement_09275cd3-237f-4664-85a3-cd6b72bc99e9" xlink:href="rock-20231231.xsd#rock_StockIssuedDuringPeriodValueRestrictedStockAwardSettlement"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_rock_StockIssuedDuringPeriodValueRestrictedStockAwardSettlement_09275cd3-237f-4664-85a3-cd6b72bc99e9" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesOther_076950aa-2c75-4682-99d1-8a7452ca1124" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesOther"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesOther_076950aa-2c75-4682-99d1-8a7452ca1124" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_a04c9ec1-3e5a-4467-8a85-8abfd9126221" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_a04c9ec1-3e5a-4467-8a85-8abfd9126221" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_188e85df-a5d7-4e0e-a616-33721026a910" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_188e85df-a5d7-4e0e-a616-33721026a910" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_a8ceff41-b424-4af0-b40d-35614f8655a9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_a8ceff41-b424-4af0-b40d-35614f8655a9" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_b6a457d0-9dd5-4256-82bf-38249cf9d475" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_b6a457d0-9dd5-4256-82bf-38249cf9d475" xlink:type="arc" order="13"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod_7c8beb27-d2e5-448d-9655-6c3ee1302e93" xlink:href="rock-20231231.xsd#rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod_7c8beb27-d2e5-448d-9655-6c3ee1302e93" xlink:type="arc" order="14"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesIssued_703ea2e0-ea0e-4df0-8c1f-29ca6ab9cbc6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesIssued"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_4066d018-66ba-4f9f-a3af-300b784d09c6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1_400fec63-8e76-4f6b-8e8c-3cee27b9c423" xlink:href="rock-20231231.xsd#rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_b473df22-1795-4c94-931f-2afd43969067" xlink:to="loc_rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1_400fec63-8e76-4f6b-8e8c-3cee27b9c423" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsTables" xlink:type="simple" xlink:href="rock-20231231.xsd#PensionandOtherPostretirementBenefitsTables"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_309d8b8d-5452-4008-99e5-2a1f3d84f0c9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_6253a407-435a-401f-ba6b-0e7e880dad22" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_309d8b8d-5452-4008-99e5-2a1f3d84f0c9" xlink:to="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_6253a407-435a-401f-ba6b-0e7e880dad22" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeAxis_e8ae53bb-1ad6-4e3b-84c5-01eba74c35df" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_6253a407-435a-401f-ba6b-0e7e880dad22" xlink:to="loc_us-gaap_RetirementPlanTypeAxis_e8ae53bb-1ad6-4e3b-84c5-01eba74c35df" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_e8ae53bb-1ad6-4e3b-84c5-01eba74c35df_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_e8ae53bb-1ad6-4e3b-84c5-01eba74c35df" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_e8ae53bb-1ad6-4e3b-84c5-01eba74c35df_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_a997fb65-650d-4678-9432-6d54c7426f61" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_e8ae53bb-1ad6-4e3b-84c5-01eba74c35df" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_a997fb65-650d-4678-9432-6d54c7426f61" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_83524564-301a-447d-89b1-3c449e0f4828" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPostretirementHealthCoverageMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanTypeDomain_a997fb65-650d-4678-9432-6d54c7426f61" xlink:to="loc_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_83524564-301a-447d-89b1-3c449e0f4828" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock_c5d1f036-04e5-402e-8af6-1141c177881f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_309d8b8d-5452-4008-99e5-2a1f3d84f0c9" xlink:to="loc_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock_c5d1f036-04e5-402e-8af6-1141c177881f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfNetFundedStatusTableTextBlock_f4c99a6c-a1c9-4db0-8cdd-74ad12e4179d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfNetFundedStatusTableTextBlock"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_309d8b8d-5452-4008-99e5-2a1f3d84f0c9" xlink:to="loc_us-gaap_ScheduleOfNetFundedStatusTableTextBlock_f4c99a6c-a1c9-4db0-8cdd-74ad12e4179d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock_bf58c8f8-e80c-460c-b090-e5f52d7bcdcb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_309d8b8d-5452-4008-99e5-2a1f3d84f0c9" xlink:to="loc_us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock_bf58c8f8-e80c-460c-b090-e5f52d7bcdcb" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock_04c5d9fd-a639-40cc-819c-45af5b974822" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfNetBenefitCostsTableTextBlock"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_309d8b8d-5452-4008-99e5-2a1f3d84f0c9" xlink:to="loc_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock_04c5d9fd-a639-40cc-819c-45af5b974822" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock_7941286e-a5d5-44f8-a1b8-7d5645ae96d6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_309d8b8d-5452-4008-99e5-2a1f3d84f0c9" xlink:to="loc_us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock_7941286e-a5d5-44f8-a1b8-7d5645ae96d6" xlink:type="arc" order="4"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#SummaryofSignificantAccountingPoliciesNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleLeasebackTransactionLineItems_1f6d3411-f5cf-4e1c-a26f-85ab5852d19a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleLeasebackTransactionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleLeasebackTransactionTable_cb64e218-9ff7-4d61-afbb-45927352c0c2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleLeasebackTransactionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SaleLeasebackTransactionLineItems_1f6d3411-f5cf-4e1c-a26f-85ab5852d19a" xlink:to="loc_us-gaap_SaleLeasebackTransactionTable_cb64e218-9ff7-4d61-afbb-45927352c0c2" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_c1308726-b032-4d0f-8394-4e219894a1d5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_SaleLeasebackTransactionTable_cb64e218-9ff7-4d61-afbb-45927352c0c2" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_c1308726-b032-4d0f-8394-4e219894a1d5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_c1308726-b032-4d0f-8394-4e219894a1d5_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_c1308726-b032-4d0f-8394-4e219894a1d5" xlink:to="loc_us-gaap_EquityComponentDomain_c1308726-b032-4d0f-8394-4e219894a1d5_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_d1a515be-44e2-4428-89d1-79b25083f3ce" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_c1308726-b032-4d0f-8394-4e219894a1d5" xlink:to="loc_us-gaap_EquityComponentDomain_d1a515be-44e2-4428-89d1-79b25083f3ce" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_9a2163d0-29d7-4c99-a48c-d01fca700911" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_d1a515be-44e2-4428-89d1-79b25083f3ce" xlink:to="loc_us-gaap_RetainedEarningsMember_9a2163d0-29d7-4c99-a48c-d01fca700911" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_63fd3047-02a9-46ca-9d2a-b2af9d43cf88" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_SaleLeasebackTransactionTable_cb64e218-9ff7-4d61-afbb-45927352c0c2" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_63fd3047-02a9-46ca-9d2a-b2af9d43cf88" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_63fd3047-02a9-46ca-9d2a-b2af9d43cf88_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_63fd3047-02a9-46ca-9d2a-b2af9d43cf88" xlink:to="loc_us-gaap_SegmentDomain_63fd3047-02a9-46ca-9d2a-b2af9d43cf88_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_2a0a9465-8e11-49b5-9be5-835893a34251" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_63fd3047-02a9-46ca-9d2a-b2af9d43cf88" xlink:to="loc_us-gaap_SegmentDomain_2a0a9465-8e11-49b5-9be5-835893a34251" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialMember_35543c99-87f7-4a2c-9aaf-85843ea0fc79" xlink:href="rock-20231231.xsd#rock_ResidentialMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_2a0a9465-8e11-49b5-9be5-835893a34251" xlink:to="loc_rock_ResidentialMember_35543c99-87f7-4a2c-9aaf-85843ea0fc79" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis_e7c38ff4-a2c0-48fd-b341-c89971a25fdc" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_SaleLeasebackTransactionTable_cb64e218-9ff7-4d61-afbb-45927352c0c2" xlink:to="loc_srt_MajorCustomersAxis_e7c38ff4-a2c0-48fd-b341-c89971a25fdc" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_e7c38ff4-a2c0-48fd-b341-c89971a25fdc_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_MajorCustomersAxis_e7c38ff4-a2c0-48fd-b341-c89971a25fdc" xlink:to="loc_srt_NameOfMajorCustomerDomain_e7c38ff4-a2c0-48fd-b341-c89971a25fdc_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_b02979f6-da97-41b3-a2a0-ead02d85ec6a" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_MajorCustomersAxis_e7c38ff4-a2c0-48fd-b341-c89971a25fdc" xlink:to="loc_srt_NameOfMajorCustomerDomain_b02979f6-da97-41b3-a2a0-ead02d85ec6a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_HomeImprovementRetailCompanyMember_a57fa505-fcb5-40f7-8579-25874f40916e" xlink:href="rock-20231231.xsd#rock_HomeImprovementRetailCompanyMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_b02979f6-da97-41b3-a2a0-ead02d85ec6a" xlink:to="loc_rock_HomeImprovementRetailCompanyMember_a57fa505-fcb5-40f7-8579-25874f40916e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_7c711114-9176-49ea-8727-d209005b20d8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_SaleLeasebackTransactionTable_cb64e218-9ff7-4d61-afbb-45927352c0c2" xlink:to="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_7c711114-9176-49ea-8727-d209005b20d8" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_7c711114-9176-49ea-8727-d209005b20d8_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_7c711114-9176-49ea-8727-d209005b20d8" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_7c711114-9176-49ea-8727-d209005b20d8_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_e4261a79-d0ae-4415-ab3f-81f2ad33610f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_7c711114-9176-49ea-8727-d209005b20d8" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_e4261a79-d0ae-4415-ab3f-81f2ad33610f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableMember_8117cba5-0f6b-4280-a46b-9e7a01a023bf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_e4261a79-d0ae-4415-ab3f-81f2ad33610f" xlink:to="loc_us-gaap_AccountsReceivableMember_8117cba5-0f6b-4280-a46b-9e7a01a023bf" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesRevenueNetMember_7b6a419a-af78-44c4-8bf6-3015bd342911" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_e4261a79-d0ae-4415-ab3f-81f2ad33610f" xlink:to="loc_us-gaap_SalesRevenueNetMember_7b6a419a-af78-44c4-8bf6-3015bd342911" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_9e9ba4a9-9a7b-4fef-89f6-2e844d0ee409" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_SaleLeasebackTransactionTable_cb64e218-9ff7-4d61-afbb-45927352c0c2" xlink:to="loc_srt_RangeAxis_9e9ba4a9-9a7b-4fef-89f6-2e844d0ee409" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_9e9ba4a9-9a7b-4fef-89f6-2e844d0ee409_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_9e9ba4a9-9a7b-4fef-89f6-2e844d0ee409" xlink:to="loc_srt_RangeMember_9e9ba4a9-9a7b-4fef-89f6-2e844d0ee409_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_22e99f46-37df-47e8-9f44-7a35fc3500ae" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_9e9ba4a9-9a7b-4fef-89f6-2e844d0ee409" xlink:to="loc_srt_RangeMember_22e99f46-37df-47e8-9f44-7a35fc3500ae" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_59a6c667-8048-4f2a-ab22-bdaaa71be887" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_22e99f46-37df-47e8-9f44-7a35fc3500ae" xlink:to="loc_srt_MinimumMember_59a6c667-8048-4f2a-ab22-bdaaa71be887" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_f3cb41a3-300d-4470-82ff-ce153f7480d8" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_22e99f46-37df-47e8-9f44-7a35fc3500ae" xlink:to="loc_srt_MaximumMember_f3cb41a3-300d-4470-82ff-ce153f7480d8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_3e479a06-251b-4f05-b56d-e1f2cff01ad8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_SaleLeasebackTransactionTable_cb64e218-9ff7-4d61-afbb-45927352c0c2" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_3e479a06-251b-4f05-b56d-e1f2cff01ad8" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_3e479a06-251b-4f05-b56d-e1f2cff01ad8_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_3e479a06-251b-4f05-b56d-e1f2cff01ad8" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_3e479a06-251b-4f05-b56d-e1f2cff01ad8_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_6dca903b-266c-4128-8bbd-d67a4837ca05" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_3e479a06-251b-4f05-b56d-e1f2cff01ad8" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_6dca903b-266c-4128-8bbd-d67a4837ca05" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LandBuildingsAndImprovementsMember_e3759125-9ff4-4f20-960e-1571f05fcf0a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandBuildingsAndImprovementsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_6dca903b-266c-4128-8bbd-d67a4837ca05" xlink:to="loc_us-gaap_LandBuildingsAndImprovementsMember_e3759125-9ff4-4f20-960e-1571f05fcf0a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MachineryAndEquipmentMember_922ec64c-7cd9-49d6-8130-2c7ad2c58250" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_6dca903b-266c-4128-8bbd-d67a4837ca05" xlink:to="loc_us-gaap_MachineryAndEquipmentMember_922ec64c-7cd9-49d6-8130-2c7ad2c58250" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis_a9a0d556-6041-4e1d-8a50-9713a0d5e30f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_SaleLeasebackTransactionTable_cb64e218-9ff7-4d61-afbb-45927352c0c2" xlink:to="loc_us-gaap_ConcentrationRiskByTypeAxis_a9a0d556-6041-4e1d-8a50-9713a0d5e30f" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_a9a0d556-6041-4e1d-8a50-9713a0d5e30f_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_a9a0d556-6041-4e1d-8a50-9713a0d5e30f" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_a9a0d556-6041-4e1d-8a50-9713a0d5e30f_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_fb3eadc9-fe36-4c1a-931f-abdfbf04e03c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_a9a0d556-6041-4e1d-8a50-9713a0d5e30f" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_fb3eadc9-fe36-4c1a-931f-abdfbf04e03c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerConcentrationRiskMember_8396345d-67c5-4edc-a6e6-83646b412df3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_fb3eadc9-fe36-4c1a-931f-abdfbf04e03c" xlink:to="loc_us-gaap_CustomerConcentrationRiskMember_8396345d-67c5-4edc-a6e6-83646b412df3" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportableSegments_73bc7903-cd2b-4ce5-8901-dd98b8b26eeb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportableSegments"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleLeasebackTransactionLineItems_1f6d3411-f5cf-4e1c-a26f-85ab5852d19a" xlink:to="loc_us-gaap_NumberOfReportableSegments_73bc7903-cd2b-4ce5-8901-dd98b8b26eeb" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1_054a87b3-e60f-467e-a677-d70b38577873" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleLeasebackTransactionLineItems_1f6d3411-f5cf-4e1c-a26f-85ab5852d19a" xlink:to="loc_us-gaap_ConcentrationRiskPercentage1_054a87b3-e60f-467e-a677-d70b38577873" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_925f969b-b8fc-47fc-8463-f20144cf39ba" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleLeasebackTransactionLineItems_1f6d3411-f5cf-4e1c-a26f-85ab5852d19a" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_925f969b-b8fc-47fc-8463-f20144cf39ba" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdvertisingExpense_a6d38e0b-5817-40a4-bbb8-8e8edf16baa2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SaleLeasebackTransactionLineItems_1f6d3411-f5cf-4e1c-a26f-85ab5852d19a" xlink:to="loc_us-gaap_AdvertisingExpense_a6d38e0b-5817-40a4-bbb8-8e8edf16baa2" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/RevenueNarrativeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#RevenueNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/RevenueNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostLineItems_9eb7ff9a-de7f-44bf-a569-7cb2cb4b351a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostTable_36fbd152-de04-4f5e-8717-6bbbbb3a2ab7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_9eb7ff9a-de7f-44bf-a569-7cb2cb4b351a" xlink:to="loc_us-gaap_CapitalizedContractCostTable_36fbd152-de04-4f5e-8717-6bbbbb3a2ab7" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_6c9bb7a8-043f-4202-9d4a-79754660426b" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_CapitalizedContractCostTable_36fbd152-de04-4f5e-8717-6bbbbb3a2ab7" xlink:to="loc_srt_RangeAxis_6c9bb7a8-043f-4202-9d4a-79754660426b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_6c9bb7a8-043f-4202-9d4a-79754660426b_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_6c9bb7a8-043f-4202-9d4a-79754660426b" xlink:to="loc_srt_RangeMember_6c9bb7a8-043f-4202-9d4a-79754660426b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_739cb022-625b-4dec-a793-249ceb1aedb5" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_6c9bb7a8-043f-4202-9d4a-79754660426b" xlink:to="loc_srt_RangeMember_739cb022-625b-4dec-a793-249ceb1aedb5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_29427c55-4acd-427f-aee6-0291ba119589" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_739cb022-625b-4dec-a793-249ceb1aedb5" xlink:to="loc_srt_MinimumMember_29427c55-4acd-427f-aee6-0291ba119589" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_70203784-94d1-494f-be60-0103ff794c40" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_739cb022-625b-4dec-a793-249ceb1aedb5" xlink:to="loc_srt_MaximumMember_70203784-94d1-494f-be60-0103ff794c40" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_bc2b7aa3-48a8-4dc4-b23c-ff65ee293484" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_CapitalizedContractCostTable_36fbd152-de04-4f5e-8717-6bbbbb3a2ab7" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_bc2b7aa3-48a8-4dc4-b23c-ff65ee293484" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_bc2b7aa3-48a8-4dc4-b23c-ff65ee293484_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_bc2b7aa3-48a8-4dc4-b23c-ff65ee293484" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_bc2b7aa3-48a8-4dc4-b23c-ff65ee293484_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_7fde3e29-d2b3-4f4d-ace4-6b086a136b77" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_bc2b7aa3-48a8-4dc4-b23c-ff65ee293484" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_7fde3e29-d2b3-4f4d-ace4-6b086a136b77" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_BillingsinExcessofCostMember_37030a5c-4b5d-4f56-81cb-969552567236" xlink:href="rock-20231231.xsd#rock_BillingsinExcessofCostMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_7fde3e29-d2b3-4f4d-ace4-6b086a136b77" xlink:to="loc_rock_BillingsinExcessofCostMember_37030a5c-4b5d-4f56-81cb-969552567236" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ContractWithCustomerContractPaymentTerms_7655eb1a-b0f6-4385-bf82-0dd52b482c8b" xlink:href="rock-20231231.xsd#rock_ContractWithCustomerContractPaymentTerms"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_9eb7ff9a-de7f-44bf-a569-7cb2cb4b351a" xlink:to="loc_rock_ContractWithCustomerContractPaymentTerms_7655eb1a-b0f6-4385-bf82-0dd52b482c8b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_af9b89c4-2cca-4298-8c4d-6c99351eb841" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_9eb7ff9a-de7f-44bf-a569-7cb2cb4b351a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_af9b89c4-2cca-4298-8c4d-6c99351eb841" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract_e9fb451a-0223-43e1-b724-a817b9405829" xlink:href="rock-20231231.xsd#rock_ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_9eb7ff9a-de7f-44bf-a569-7cb2cb4b351a" xlink:to="loc_rock_ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract_e9fb451a-0223-43e1-b724-a817b9405829" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetNet_77c5e30e-f3cf-4059-8d51-944c262df2af" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_9eb7ff9a-de7f-44bf-a569-7cb2cb4b351a" xlink:to="loc_us-gaap_ContractWithCustomerAssetNet_77c5e30e-f3cf-4059-8d51-944c262df2af" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_df817c41-9973-4b12-9192-695a8b607eb2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_9eb7ff9a-de7f-44bf-a569-7cb2cb4b351a" xlink:to="loc_us-gaap_ContractWithCustomerLiability_df817c41-9973-4b12-9192-695a8b607eb2" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable_07bf7857-a0ff-443d-bfaa-3b1dd1f3a54b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetReclassifiedToReceivable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_9eb7ff9a-de7f-44bf-a569-7cb2cb4b351a" xlink:to="loc_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable_07bf7857-a0ff-443d-bfaa-3b1dd1f3a54b" xlink:type="arc" order="5"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/RevenueContractAssetsandLiabilitiesDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#RevenueContractAssetsandLiabilitiesDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/RevenueContractAssetsandLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostLineItems_94bd967b-12dc-441b-8fd3-810a292148f5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostTable_04c07aac-34c0-404d-83d4-60ac80cefa45" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_94bd967b-12dc-441b-8fd3-810a292148f5" xlink:to="loc_us-gaap_CapitalizedContractCostTable_04c07aac-34c0-404d-83d4-60ac80cefa45" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_f1eb6db9-daaf-4483-9951-3c43154b6573" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_CapitalizedContractCostTable_04c07aac-34c0-404d-83d4-60ac80cefa45" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_f1eb6db9-daaf-4483-9951-3c43154b6573" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_f1eb6db9-daaf-4483-9951-3c43154b6573_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_f1eb6db9-daaf-4483-9951-3c43154b6573" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_f1eb6db9-daaf-4483-9951-3c43154b6573_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_8cf34bd0-2d60-44b9-a2dc-257fee29bb84" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_f1eb6db9-daaf-4483-9951-3c43154b6573" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_8cf34bd0-2d60-44b9-a2dc-257fee29bb84" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_BillingsinExcessofCostMember_efed2bd7-c8ce-43f2-90c2-d2b9e6b2dabd" xlink:href="rock-20231231.xsd#rock_BillingsinExcessofCostMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_8cf34bd0-2d60-44b9-a2dc-257fee29bb84" xlink:to="loc_rock_BillingsinExcessofCostMember_efed2bd7-c8ce-43f2-90c2-d2b9e6b2dabd" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetNet_01fe717f-0ab7-4ebe-9545-84284a785e5d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_94bd967b-12dc-441b-8fd3-810a292148f5" xlink:to="loc_us-gaap_ContractWithCustomerAssetNet_01fe717f-0ab7-4ebe-9545-84284a785e5d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_d1190f2c-578f-41ec-957a-2548df619a3c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_94bd967b-12dc-441b-8fd3-810a292148f5" xlink:to="loc_us-gaap_ContractWithCustomerLiability_d1190f2c-578f-41ec-957a-2548df619a3c" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#AcquisitionsNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_5befe430-78a2-4d48-8156-48ed5a38e79c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_fcfc9b2b-4693-401f-ad79-072cfff205df" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5befe430-78a2-4d48-8156-48ed5a38e79c" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_fcfc9b2b-4693-401f-ad79-072cfff205df" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_aba23be4-0d1b-455c-bd0a-f3f9e170f370" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_fcfc9b2b-4693-401f-ad79-072cfff205df" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_aba23be4-0d1b-455c-bd0a-f3f9e170f370" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_aba23be4-0d1b-455c-bd0a-f3f9e170f370_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_aba23be4-0d1b-455c-bd0a-f3f9e170f370" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_aba23be4-0d1b-455c-bd0a-f3f9e170f370_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_be531681-f8a9-4540-bf1a-2458195d0960" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_aba23be4-0d1b-455c-bd0a-f3f9e170f370" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_be531681-f8a9-4540-bf1a-2458195d0960" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_QualityAluminumProductsMember_3156eb30-125d-49b6-aaba-e59a4abdd5f0" xlink:href="rock-20231231.xsd#rock_QualityAluminumProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_be531681-f8a9-4540-bf1a-2458195d0960" xlink:to="loc_rock_QualityAluminumProductsMember_3156eb30-125d-49b6-aaba-e59a4abdd5f0" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_PrivatelyHeldUtahBasedCompanyMember_cef725d3-12af-4ed1-b536-bf89919d60d7" xlink:href="rock-20231231.xsd#rock_PrivatelyHeldUtahBasedCompanyMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_be531681-f8a9-4540-bf1a-2458195d0960" xlink:to="loc_rock_PrivatelyHeldUtahBasedCompanyMember_cef725d3-12af-4ed1-b536-bf89919d60d7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_c040e7f7-07e2-4858-ab96-ea37b8c642fb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_fcfc9b2b-4693-401f-ad79-072cfff205df" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_c040e7f7-07e2-4858-ab96-ea37b8c642fb" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_c040e7f7-07e2-4858-ab96-ea37b8c642fb_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_c040e7f7-07e2-4858-ab96-ea37b8c642fb" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_c040e7f7-07e2-4858-ab96-ea37b8c642fb_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_c3d2e3a8-ff29-4b3e-be50-9a42228ce1fc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_c040e7f7-07e2-4858-ab96-ea37b8c642fb" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_c3d2e3a8-ff29-4b3e-be50-9a42228ce1fc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_879f6d93-69cf-45c2-a695-24ad0909f08f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_c3d2e3a8-ff29-4b3e-be50-9a42228ce1fc" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_879f6d93-69cf-45c2-a695-24ad0909f08f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_001723d1-7055-426a-b807-56303f267ab8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferred1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5befe430-78a2-4d48-8156-48ed5a38e79c" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferred1_001723d1-7055-426a-b807-56303f267ab8" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_36b5ecac-1e99-4b90-badd-fd207d6a6adc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5befe430-78a2-4d48-8156-48ed5a38e79c" xlink:to="loc_us-gaap_Goodwill_36b5ecac-1e99-4b90-badd-fd207d6a6adc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_FairValueMeasurementPeriod_27db59bd-052d-4089-a747-7acdc8788d32" xlink:href="rock-20231231.xsd#rock_FairValueMeasurementPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5befe430-78a2-4d48-8156-48ed5a38e79c" xlink:to="loc_rock_FairValueMeasurementPeriod_27db59bd-052d-4089-a747-7acdc8788d32" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_edfac807-3d9f-4117-a7b1-feef31444e65" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_090ae82b-8589-445a-a11d-c1be7a49a581" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_edfac807-3d9f-4117-a7b1-feef31444e65" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_090ae82b-8589-445a-a11d-c1be7a49a581" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_e1e49eac-01ab-4bf2-976a-1eefd89a8758" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_090ae82b-8589-445a-a11d-c1be7a49a581" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_e1e49eac-01ab-4bf2-976a-1eefd89a8758" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_e1e49eac-01ab-4bf2-976a-1eefd89a8758_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_e1e49eac-01ab-4bf2-976a-1eefd89a8758" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_e1e49eac-01ab-4bf2-976a-1eefd89a8758_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_5568b799-2011-4bba-9743-9b7be48bd779" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_e1e49eac-01ab-4bf2-976a-1eefd89a8758" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_5568b799-2011-4bba-9743-9b7be48bd779" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_QualityAluminumProductsMember_a754f36b-435d-4680-950b-78f28136bb52" xlink:href="rock-20231231.xsd#rock_QualityAluminumProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_5568b799-2011-4bba-9743-9b7be48bd779" xlink:to="loc_rock_QualityAluminumProductsMember_a754f36b-435d-4680-950b-78f28136bb52" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_PrivatelyHeldUtahBasedCompanyMember_6824d1c3-5345-43ac-956f-7f754f98ffce" xlink:href="rock-20231231.xsd#rock_PrivatelyHeldUtahBasedCompanyMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_5568b799-2011-4bba-9743-9b7be48bd779" xlink:to="loc_rock_PrivatelyHeldUtahBasedCompanyMember_6824d1c3-5345-43ac-956f-7f754f98ffce" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_1efb6718-bedc-4929-80ed-fb2e862fe7ba" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_edfac807-3d9f-4117-a7b1-feef31444e65" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_1efb6718-bedc-4929-80ed-fb2e862fe7ba" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital_157acdda-9a3b-4519-b47e-3dce968f2ed0" xlink:href="rock-20231231.xsd#rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_edfac807-3d9f-4117-a7b1-feef31444e65" xlink:to="loc_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital_157acdda-9a3b-4519-b47e-3dce968f2ed0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_c58ed9d1-f279-4f40-b470-e70b5fd8ccd1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_edfac807-3d9f-4117-a7b1-feef31444e65" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_c58ed9d1-f279-4f40-b470-e70b5fd8ccd1" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_69f50b6e-dd14-4e90-a148-7cf252ab0707" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_edfac807-3d9f-4117-a7b1-feef31444e65" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_69f50b6e-dd14-4e90-a148-7cf252ab0707" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_55083fc3-4968-4f16-8bee-711d9d405f3e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_edfac807-3d9f-4117-a7b1-feef31444e65" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_55083fc3-4968-4f16-8bee-711d9d405f3e" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther_f0cababd-e352-47be-a74b-790948226ced" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_edfac807-3d9f-4117-a7b1-feef31444e65" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther_f0cababd-e352-47be-a74b-790948226ced" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_2009e279-1f92-46fe-8d9c-40e007d4153b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_edfac807-3d9f-4117-a7b1-feef31444e65" xlink:to="loc_us-gaap_Goodwill_2009e279-1f92-46fe-8d9c-40e007d4153b" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_97d465d1-4c7c-46ab-a25a-2a844803676b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_edfac807-3d9f-4117-a7b1-feef31444e65" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_97d465d1-4c7c-46ab-a25a-2a844803676b" xlink:type="arc" order="7"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionsScheduleofAcquiredIntangibleAssetsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#AcquisitionsScheduleofAcquiredIntangibleAssetsDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/AcquisitionsScheduleofAcquiredIntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_e203e866-eec7-404a-8303-e0890992dfe3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_5e0fe4d6-6f1d-4012-9eb7-e1ba2bf55a00" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_e203e866-eec7-404a-8303-e0890992dfe3" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_5e0fe4d6-6f1d-4012-9eb7-e1ba2bf55a00" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_306554a8-55f1-480c-bb7b-9863ee7a3b50" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_5e0fe4d6-6f1d-4012-9eb7-e1ba2bf55a00" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_306554a8-55f1-480c-bb7b-9863ee7a3b50" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_306554a8-55f1-480c-bb7b-9863ee7a3b50_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_306554a8-55f1-480c-bb7b-9863ee7a3b50" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_306554a8-55f1-480c-bb7b-9863ee7a3b50_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_7cef49ca-be3e-4be5-8604-7cde8ef218a3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_306554a8-55f1-480c-bb7b-9863ee7a3b50" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_7cef49ca-be3e-4be5-8604-7cde8ef218a3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_QualityAluminumProductsMember_1599a53b-5135-4196-88c7-6aa091a24aba" xlink:href="rock-20231231.xsd#rock_QualityAluminumProductsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_7cef49ca-be3e-4be5-8604-7cde8ef218a3" xlink:to="loc_rock_QualityAluminumProductsMember_1599a53b-5135-4196-88c7-6aa091a24aba" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_PrivatelyHeldUtahBasedCompanyMember_94311647-8551-4aec-9494-36c1dfb5b4e6" xlink:href="rock-20231231.xsd#rock_PrivatelyHeldUtahBasedCompanyMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_7cef49ca-be3e-4be5-8604-7cde8ef218a3" xlink:to="loc_rock_PrivatelyHeldUtahBasedCompanyMember_94311647-8551-4aec-9494-36c1dfb5b4e6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_4159d370-af11-4e62-ad00-bd4fdda76116" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_5e0fe4d6-6f1d-4012-9eb7-e1ba2bf55a00" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_4159d370-af11-4e62-ad00-bd4fdda76116" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_4159d370-af11-4e62-ad00-bd4fdda76116_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_4159d370-af11-4e62-ad00-bd4fdda76116" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_4159d370-af11-4e62-ad00-bd4fdda76116_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_602e5656-3d22-49a8-a38a-ec442aef32ef" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_4159d370-af11-4e62-ad00-bd4fdda76116" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_602e5656-3d22-49a8-a38a-ec442aef32ef" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_79df9441-526d-471e-a9be-6d75c2dfaa29" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_602e5656-3d22-49a8-a38a-ec442aef32ef" xlink:to="loc_us-gaap_TrademarksMember_79df9441-526d-471e-a9be-6d75c2dfaa29" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_c29d9a70-bd69-403e-9e17-310031ef8c22" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_602e5656-3d22-49a8-a38a-ec442aef32ef" xlink:to="loc_us-gaap_CustomerRelationshipsMember_c29d9a70-bd69-403e-9e17-310031ef8c22" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_3c1492aa-d823-4876-8170-9af0c70e4b26" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_5e0fe4d6-6f1d-4012-9eb7-e1ba2bf55a00" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_3c1492aa-d823-4876-8170-9af0c70e4b26" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_3c1492aa-d823-4876-8170-9af0c70e4b26_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_3c1492aa-d823-4876-8170-9af0c70e4b26" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_3c1492aa-d823-4876-8170-9af0c70e4b26_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_95b60368-dac1-48c2-b6bd-f2e5deaf87f6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_3c1492aa-d823-4876-8170-9af0c70e4b26" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_95b60368-dac1-48c2-b6bd-f2e5deaf87f6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_4d1d99fc-8a3b-42f4-b125-b104e8e92a8f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_95b60368-dac1-48c2-b6bd-f2e5deaf87f6" xlink:to="loc_us-gaap_TrademarksMember_4d1d99fc-8a3b-42f4-b125-b104e8e92a8f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefinitelivedIntangibleAssetsAcquired_7941cadf-6d04-4165-a58d-a3ed4ab53452" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefinitelivedIntangibleAssetsAcquired"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_e203e866-eec7-404a-8303-e0890992dfe3" xlink:to="loc_us-gaap_IndefinitelivedIntangibleAssetsAcquired_7941cadf-6d04-4165-a58d-a3ed4ab53452" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinitelivedIntangibleAssetsAcquired1_e4a3d48e-0625-467a-8b7f-e0ed08cc2b44" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinitelivedIntangibleAssetsAcquired1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_e203e866-eec7-404a-8303-e0890992dfe3" xlink:to="loc_us-gaap_FinitelivedIntangibleAssetsAcquired1_e4a3d48e-0625-467a-8b7f-e0ed08cc2b44" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_a66b33fb-e475-4f60-9075-a0e4c1010ed2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_e203e866-eec7-404a-8303-e0890992dfe3" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_a66b33fb-e475-4f60-9075-a0e4c1010ed2" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionsAcquisitionRelatedCostsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#AcquisitionsAcquisitionRelatedCostsDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/AcquisitionsAcquisitionRelatedCostsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_330db3e6-ac60-445c-a767-71d45ba403eb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_a3a7042c-e0a1-4887-8b36-3ff5eea004ac" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_330db3e6-ac60-445c-a767-71d45ba403eb" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_a3a7042c-e0a1-4887-8b36-3ff5eea004ac" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_9ccce2c9-577b-4ff4-a6a1-c4a8ae849dda" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_a3a7042c-e0a1-4887-8b36-3ff5eea004ac" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_9ccce2c9-577b-4ff4-a6a1-c4a8ae849dda" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_9ccce2c9-577b-4ff4-a6a1-c4a8ae849dda_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_9ccce2c9-577b-4ff4-a6a1-c4a8ae849dda" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_9ccce2c9-577b-4ff4-a6a1-c4a8ae849dda_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_3a1224f9-bf42-4bf0-be56-9c25c691364b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_9ccce2c9-577b-4ff4-a6a1-c4a8ae849dda" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_3a1224f9-bf42-4bf0-be56-9c25c691364b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_181442bb-9b30-4076-a3f3-5e4386faadab" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_3a1224f9-bf42-4bf0-be56-9c25c691364b" xlink:to="loc_us-gaap_CostOfSalesMember_181442bb-9b30-4076-a3f3-5e4386faadab" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_9e01b230-6335-4418-8a5b-a7dff2e3a97f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_3a1224f9-bf42-4bf0-be56-9c25c691364b" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_9e01b230-6335-4418-8a5b-a7dff2e3a97f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAcquisitionRelatedCosts_88255124-d07d-48ea-8324-3a5928936b35" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_330db3e6-ac60-445c-a767-71d45ba403eb" xlink:to="loc_us-gaap_BusinessCombinationAcquisitionRelatedCosts_88255124-d07d-48ea-8324-3a5928936b35" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillLineItems_870c2e13-5ed3-499c-8af8-6b134fb95475" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable_29e61014-3b9e-425f-b1f7-de0d14c14744" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfGoodwillTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_GoodwillLineItems_870c2e13-5ed3-499c-8af8-6b134fb95475" xlink:to="loc_us-gaap_ScheduleOfGoodwillTable_29e61014-3b9e-425f-b1f7-de0d14c14744" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_01997d10-8ef7-4089-8095-1fea62a24e08" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_29e61014-3b9e-425f-b1f7-de0d14c14744" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_01997d10-8ef7-4089-8095-1fea62a24e08" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_01997d10-8ef7-4089-8095-1fea62a24e08_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_01997d10-8ef7-4089-8095-1fea62a24e08" xlink:to="loc_us-gaap_SegmentDomain_01997d10-8ef7-4089-8095-1fea62a24e08_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_a1025cda-9f9b-40c0-9064-20de22e42d07" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_01997d10-8ef7-4089-8095-1fea62a24e08" xlink:to="loc_us-gaap_SegmentDomain_a1025cda-9f9b-40c0-9064-20de22e42d07" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewablesMember_91fc166c-4c51-4470-a178-420f0a9395df" xlink:href="rock-20231231.xsd#rock_RenewablesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_a1025cda-9f9b-40c0-9064-20de22e42d07" xlink:to="loc_rock_RenewablesMember_91fc166c-4c51-4470-a178-420f0a9395df" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialMember_78a59728-85c8-4f12-bf58-014efbf704e5" xlink:href="rock-20231231.xsd#rock_ResidentialMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_a1025cda-9f9b-40c0-9064-20de22e42d07" xlink:to="loc_rock_ResidentialMember_78a59728-85c8-4f12-bf58-014efbf704e5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AgtechMember_6935211b-7293-4d9c-91f5-53168ab5067c" xlink:href="rock-20231231.xsd#rock_AgtechMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_a1025cda-9f9b-40c0-9064-20de22e42d07" xlink:to="loc_rock_AgtechMember_6935211b-7293-4d9c-91f5-53168ab5067c" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember_80baeeb8-9cbc-43e2-b283-d300491b5da9" xlink:href="rock-20231231.xsd#rock_InfrastructureMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_a1025cda-9f9b-40c0-9064-20de22e42d07" xlink:to="loc_rock_InfrastructureMember_80baeeb8-9cbc-43e2-b283-d300491b5da9" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillRollForward_73904c31-d657-4c3a-aeae-a9c5dfcad9b2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillLineItems_870c2e13-5ed3-499c-8af8-6b134fb95475" xlink:to="loc_us-gaap_GoodwillRollForward_73904c31-d657-4c3a-aeae-a9c5dfcad9b2" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_1d56adc5-bdbf-40bf-9660-89b6ee2cf4c1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillRollForward_73904c31-d657-4c3a-aeae-a9c5dfcad9b2" xlink:to="loc_us-gaap_Goodwill_1d56adc5-bdbf-40bf-9660-89b6ee2cf4c1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAcquiredDuringPeriod_1630e08a-7afe-465c-9dd9-66b1bd6ce680" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAcquiredDuringPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillRollForward_73904c31-d657-4c3a-aeae-a9c5dfcad9b2" xlink:to="loc_us-gaap_GoodwillAcquiredDuringPeriod_1630e08a-7afe-465c-9dd9-66b1bd6ce680" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillPurchaseAccountingAdjustments_de39d75d-9eb2-493c-a171-3ad3c803a708" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillPurchaseAccountingAdjustments"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillRollForward_73904c31-d657-4c3a-aeae-a9c5dfcad9b2" xlink:to="loc_us-gaap_GoodwillPurchaseAccountingAdjustments_de39d75d-9eb2-493c-a171-3ad3c803a708" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_fe7b146c-1bac-4b17-9d6d-609c90b74aff" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillRollForward_73904c31-d657-4c3a-aeae-a9c5dfcad9b2" xlink:to="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_fe7b146c-1bac-4b17-9d6d-609c90b74aff" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillWrittenOffRelatedToSaleOfBusinessUnit_f8c2476f-26b3-4003-b727-a29a0f1b0e76" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillWrittenOffRelatedToSaleOfBusinessUnit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillRollForward_73904c31-d657-4c3a-aeae-a9c5dfcad9b2" xlink:to="loc_us-gaap_GoodwillWrittenOffRelatedToSaleOfBusinessUnit_f8c2476f-26b3-4003-b727-a29a0f1b0e76" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_7ca0091a-11b3-43c5-a691-ef1c65d89f12" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsNarrativeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#GoodwillandRelatedIntangibleAssetsNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillLineItems_53b386c1-48a5-4750-a018-2f058716afdd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable_86ef363e-8f39-4bea-a8b5-54814a02c83e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfGoodwillTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_GoodwillLineItems_53b386c1-48a5-4750-a018-2f058716afdd" xlink:to="loc_us-gaap_ScheduleOfGoodwillTable_86ef363e-8f39-4bea-a8b5-54814a02c83e" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_8bf7278a-b874-4d18-b8a2-5329efd7b1a5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_86ef363e-8f39-4bea-a8b5-54814a02c83e" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_8bf7278a-b874-4d18-b8a2-5329efd7b1a5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_8bf7278a-b874-4d18-b8a2-5329efd7b1a5_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_8bf7278a-b874-4d18-b8a2-5329efd7b1a5" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_8bf7278a-b874-4d18-b8a2-5329efd7b1a5_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_cc5033b4-ec4e-4728-962c-d8f184013880" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_8bf7278a-b874-4d18-b8a2-5329efd7b1a5" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_cc5033b4-ec4e-4728-962c-d8f184013880" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_475189c9-466b-4166-9142-b501fe10fd3c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_cc5033b4-ec4e-4728-962c-d8f184013880" xlink:to="loc_us-gaap_TrademarksMember_475189c9-466b-4166-9142-b501fe10fd3c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillImpairedAccumulatedImpairmentLoss_c7759c7b-ce91-4475-b2c8-7e602d80b98c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillImpairedAccumulatedImpairmentLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillLineItems_53b386c1-48a5-4750-a018-2f058716afdd" xlink:to="loc_us-gaap_GoodwillImpairedAccumulatedImpairmentLoss_c7759c7b-ce91-4475-b2c8-7e602d80b98c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillImpairmentLoss_bd9396de-eb64-4092-a7f2-cc0cd160dcfe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillImpairmentLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillLineItems_53b386c1-48a5-4750-a018-2f058716afdd" xlink:to="loc_us-gaap_GoodwillImpairmentLoss_bd9396de-eb64-4092-a7f2-cc0cd160dcfe" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill_01a653e3-dc5d-496a-a589-a278a2c30d51" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillLineItems_53b386c1-48a5-4750-a018-2f058716afdd" xlink:to="loc_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill_01a653e3-dc5d-496a-a589-a278a2c30d51" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits_a813caee-7b4b-4753-8200-f13d6fd08686" xlink:href="rock-20231231.xsd#rock_ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillLineItems_53b386c1-48a5-4750-a018-2f058716afdd" xlink:to="loc_rock_ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits_a813caee-7b4b-4753-8200-f13d6fd08686" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentOfIntangibleAssetIndefiniteLivedExcludingGoodwillStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration_8e54d438-196f-42b6-a743-f92503fb72ad" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOfIntangibleAssetIndefiniteLivedExcludingGoodwillStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillLineItems_53b386c1-48a5-4750-a018-2f058716afdd" xlink:to="loc_us-gaap_ImpairmentOfIntangibleAssetIndefiniteLivedExcludingGoodwillStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration_8e54d438-196f-42b6-a743-f92503fb72ad" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportingUnits_97036da0-07e1-41b7-949e-34a654ab264f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportingUnits"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillLineItems_53b386c1-48a5-4750-a018-2f058716afdd" xlink:to="loc_us-gaap_NumberOfReportingUnits_97036da0-07e1-41b7-949e-34a654ab264f" xlink:type="arc" order="5"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_04ddb2c0-711f-4e4a-a251-c8a5121d3f9f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e23e29dc-6363-4b99-a581-f029b877df75" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_04ddb2c0-711f-4e4a-a251-c8a5121d3f9f" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e23e29dc-6363-4b99-a581-f029b877df75" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_ca3179e1-2210-4bde-b58d-6d3455cbc6ee" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e23e29dc-6363-4b99-a581-f029b877df75" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_ca3179e1-2210-4bde-b58d-6d3455cbc6ee" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_ca3179e1-2210-4bde-b58d-6d3455cbc6ee_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_ca3179e1-2210-4bde-b58d-6d3455cbc6ee" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_ca3179e1-2210-4bde-b58d-6d3455cbc6ee_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_14916022-2567-411b-bb8c-848d754fbe6a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_ca3179e1-2210-4bde-b58d-6d3455cbc6ee" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_14916022-2567-411b-bb8c-848d754fbe6a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_14286719-9adb-463d-95c6-de4b81064d0d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_14916022-2567-411b-bb8c-848d754fbe6a" xlink:to="loc_us-gaap_TrademarksMember_14286719-9adb-463d-95c6-de4b81064d0d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a7239bfb-f343-4966-9ab1-42d0c80c9d81" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e23e29dc-6363-4b99-a581-f029b877df75" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a7239bfb-f343-4966-9ab1-42d0c80c9d81" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_a7239bfb-f343-4966-9ab1-42d0c80c9d81_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a7239bfb-f343-4966-9ab1-42d0c80c9d81" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_a7239bfb-f343-4966-9ab1-42d0c80c9d81_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3339478b-04ed-4987-b99b-7f65e1c97447" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a7239bfb-f343-4966-9ab1-42d0c80c9d81" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3339478b-04ed-4987-b99b-7f65e1c97447" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_3c944b58-7114-467a-b0e3-2784c5995856" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3339478b-04ed-4987-b99b-7f65e1c97447" xlink:to="loc_us-gaap_TrademarksMember_3c944b58-7114-467a-b0e3-2784c5995856" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnpatentedTechnologyMember_edbaa605-c598-4475-be50-b5c9ef1fd704" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnpatentedTechnologyMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3339478b-04ed-4987-b99b-7f65e1c97447" xlink:to="loc_us-gaap_UnpatentedTechnologyMember_edbaa605-c598-4475-be50-b5c9ef1fd704" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_d86d0d4e-11b8-4ded-b3f0-20fa948581c0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3339478b-04ed-4987-b99b-7f65e1c97447" xlink:to="loc_us-gaap_CustomerRelationshipsMember_d86d0d4e-11b8-4ded-b3f0-20fa948581c0" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncompeteAgreementsMember_04df2b4b-25a5-4923-b39f-44869e826f62" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncompeteAgreementsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3339478b-04ed-4987-b99b-7f65e1c97447" xlink:to="loc_us-gaap_NoncompeteAgreementsMember_04df2b4b-25a5-4923-b39f-44869e826f62" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_3a22e8db-8bc0-494e-8992-11f5375c7972" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_04ddb2c0-711f-4e4a-a251-c8a5121d3f9f" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_3a22e8db-8bc0-494e-8992-11f5375c7972" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_6f5cca89-fec0-4e73-8f53-6f3e12820c89" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_04ddb2c0-711f-4e4a-a251-c8a5121d3f9f" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_6f5cca89-fec0-4e73-8f53-6f3e12820c89" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AcquiredIntangibleAssetsTotal_08bbb2d1-bee7-46c6-97bf-7ae83ff4f2e2" xlink:href="rock-20231231.xsd#rock_AcquiredIntangibleAssetsTotal"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_04ddb2c0-711f-4e4a-a251-c8a5121d3f9f" xlink:to="loc_rock_AcquiredIntangibleAssetsTotal_08bbb2d1-bee7-46c6-97bf-7ae83ff4f2e2" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_IndefiniteLivedAccumulatedAmortization_5b062dc0-d2b7-4f41-8bd4-48ff68151b6c" xlink:href="rock-20231231.xsd#rock_IndefiniteLivedAccumulatedAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_04ddb2c0-711f-4e4a-a251-c8a5121d3f9f" xlink:to="loc_rock_IndefiniteLivedAccumulatedAmortization_5b062dc0-d2b7-4f41-8bd4-48ff68151b6c" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_ac05ed54-d075-411a-9cdd-2a0f5ebbcf39" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_04ddb2c0-711f-4e4a-a251-c8a5121d3f9f" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_ac05ed54-d075-411a-9cdd-2a0f5ebbcf39" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization_5371ae66-d157-472d-8e02-056df142250a" xlink:href="rock-20231231.xsd#rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_04ddb2c0-711f-4e4a-a251-c8a5121d3f9f" xlink:to="loc_rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization_5371ae66-d157-472d-8e02-056df142250a" xlink:type="arc" order="5"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofImpairmentChargesDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#GoodwillandRelatedIntangibleAssetsScheduleofImpairmentChargesDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofImpairmentChargesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_8e9c6f16-20e8-44ff-88dc-759b53c875ac" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_55e9724c-dcff-44c1-820b-39f6a002fb35" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_8e9c6f16-20e8-44ff-88dc-759b53c875ac" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_55e9724c-dcff-44c1-820b-39f6a002fb35" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_16c6ab47-2b43-4b0b-9fb8-dac5810ab3e3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_55e9724c-dcff-44c1-820b-39f6a002fb35" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_16c6ab47-2b43-4b0b-9fb8-dac5810ab3e3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_16c6ab47-2b43-4b0b-9fb8-dac5810ab3e3_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_16c6ab47-2b43-4b0b-9fb8-dac5810ab3e3" xlink:to="loc_us-gaap_SegmentDomain_16c6ab47-2b43-4b0b-9fb8-dac5810ab3e3_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_cf51b63f-4b64-4334-86ce-e1ff2d836f66" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_16c6ab47-2b43-4b0b-9fb8-dac5810ab3e3" xlink:to="loc_us-gaap_SegmentDomain_cf51b63f-4b64-4334-86ce-e1ff2d836f66" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewablesMember_03d6cd9a-ca97-4830-8d8e-88c18eef2a92" xlink:href="rock-20231231.xsd#rock_RenewablesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_cf51b63f-4b64-4334-86ce-e1ff2d836f66" xlink:to="loc_rock_RenewablesMember_03d6cd9a-ca97-4830-8d8e-88c18eef2a92" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialMember_8399befb-366f-4ee4-9b97-31627c6289a6" xlink:href="rock-20231231.xsd#rock_ResidentialMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_cf51b63f-4b64-4334-86ce-e1ff2d836f66" xlink:to="loc_rock_ResidentialMember_8399befb-366f-4ee4-9b97-31627c6289a6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember_82173892-599c-4026-92e3-c74ca4b78263" xlink:href="rock-20231231.xsd#rock_InfrastructureMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_cf51b63f-4b64-4334-86ce-e1ff2d836f66" xlink:to="loc_rock_InfrastructureMember_82173892-599c-4026-92e3-c74ca4b78263" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_7eb2e820-29fb-43de-b8e1-293b477d4fa2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_55e9724c-dcff-44c1-820b-39f6a002fb35" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_7eb2e820-29fb-43de-b8e1-293b477d4fa2" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_7eb2e820-29fb-43de-b8e1-293b477d4fa2_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_7eb2e820-29fb-43de-b8e1-293b477d4fa2" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_7eb2e820-29fb-43de-b8e1-293b477d4fa2_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_00cc2be2-2ae9-447f-94d5-e8a349baf401" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_7eb2e820-29fb-43de-b8e1-293b477d4fa2" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_00cc2be2-2ae9-447f-94d5-e8a349baf401" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_32d02fdc-c409-42bc-b956-c80abcd83794" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_00cc2be2-2ae9-447f-94d5-e8a349baf401" xlink:to="loc_us-gaap_TrademarksMember_32d02fdc-c409-42bc-b956-c80abcd83794" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill_601e1d21-db83-43b8-b4da-0d447ed9770f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_8e9c6f16-20e8-44ff-88dc-759b53c875ac" xlink:to="loc_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill_601e1d21-db83-43b8-b4da-0d447ed9770f" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/DebtNarrativeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#DebtNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/DebtNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_c8293c2b-5579-4f6d-b937-23bd67d9a03c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:to="loc_us-gaap_DebtInstrumentTable_c8293c2b-5579-4f6d-b937-23bd67d9a03c" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_6c7999e8-69e4-4b1a-b62d-f57ed2240116" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_c8293c2b-5579-4f6d-b937-23bd67d9a03c" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_6c7999e8-69e4-4b1a-b62d-f57ed2240116" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_6c7999e8-69e4-4b1a-b62d-f57ed2240116_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_6c7999e8-69e4-4b1a-b62d-f57ed2240116" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_6c7999e8-69e4-4b1a-b62d-f57ed2240116_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_d7f20e8e-d057-4c26-aa4c-697ce88c9d6b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_6c7999e8-69e4-4b1a-b62d-f57ed2240116" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_d7f20e8e-d057-4c26-aa4c-697ce88c9d6b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditMember_93083680-5647-4665-8120-ccc005137a27" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_d7f20e8e-d057-4c26-aa4c-697ce88c9d6b" xlink:to="loc_us-gaap_LineOfCreditMember_93083680-5647-4665-8120-ccc005137a27" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MediumTermNotesMember_6973c467-e4b7-490e-a38a-50dc8060b8c1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MediumTermNotesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_d7f20e8e-d057-4c26-aa4c-697ce88c9d6b" xlink:to="loc_us-gaap_MediumTermNotesMember_6973c467-e4b7-490e-a38a-50dc8060b8c1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_8389f0ca-2945-420a-af7c-b9655e7f74d7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_c8293c2b-5579-4f6d-b937-23bd67d9a03c" xlink:to="loc_us-gaap_DebtInstrumentAxis_8389f0ca-2945-420a-af7c-b9655e7f74d7" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_8389f0ca-2945-420a-af7c-b9655e7f74d7_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_8389f0ca-2945-420a-af7c-b9655e7f74d7" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_8389f0ca-2945-420a-af7c-b9655e7f74d7_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_3ea5a241-1d7a-488e-b399-297caf16e580" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_8389f0ca-2945-420a-af7c-b9655e7f74d7" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_3ea5a241-1d7a-488e-b399-297caf16e580" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2022SeniorCreditAgreementMember_d04bd859-fdaf-407a-9fd0-0b0e5fca0186" xlink:href="rock-20231231.xsd#rock_A2022SeniorCreditAgreementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_3ea5a241-1d7a-488e-b399-297caf16e580" xlink:to="loc_rock_A2022SeniorCreditAgreementMember_d04bd859-fdaf-407a-9fd0-0b0e5fca0186" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2019SeniorCreditAgreementMember_9109f297-87a4-4549-b0d1-610c68ce6634" xlink:href="rock-20231231.xsd#rock_A2019SeniorCreditAgreementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_3ea5a241-1d7a-488e-b399-297caf16e580" xlink:to="loc_rock_A2019SeniorCreditAgreementMember_9109f297-87a4-4549-b0d1-610c68ce6634" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SeniorCreditAgreementMember_5eae38ee-486d-4694-9025-7f5b127e8de7" xlink:href="rock-20231231.xsd#rock_SeniorCreditAgreementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_3ea5a241-1d7a-488e-b399-297caf16e580" xlink:to="loc_rock_SeniorCreditAgreementMember_5eae38ee-486d-4694-9025-7f5b127e8de7" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_a714c776-e0a1-4ad0-a7d3-fb9ece048529" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_c8293c2b-5579-4f6d-b937-23bd67d9a03c" xlink:to="loc_us-gaap_CreditFacilityAxis_a714c776-e0a1-4ad0-a7d3-fb9ece048529" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_a714c776-e0a1-4ad0-a7d3-fb9ece048529_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CreditFacilityAxis_a714c776-e0a1-4ad0-a7d3-fb9ece048529" xlink:to="loc_us-gaap_CreditFacilityDomain_a714c776-e0a1-4ad0-a7d3-fb9ece048529_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_8105bbe5-ecf3-4488-b5f6-e5f9615ec5e6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CreditFacilityAxis_a714c776-e0a1-4ad0-a7d3-fb9ece048529" xlink:to="loc_us-gaap_CreditFacilityDomain_8105bbe5-ecf3-4488-b5f6-e5f9615ec5e6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandbyLettersOfCreditMember_2382edb9-89e6-4a43-8a33-57b6ca559e1a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StandbyLettersOfCreditMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CreditFacilityDomain_8105bbe5-ecf3-4488-b5f6-e5f9615ec5e6" xlink:to="loc_us-gaap_StandbyLettersOfCreditMember_2382edb9-89e6-4a43-8a33-57b6ca559e1a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_1b634b0b-ffea-41d6-b07f-20e5843b2c2c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CreditFacilityDomain_8105bbe5-ecf3-4488-b5f6-e5f9615ec5e6" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_1b634b0b-ffea-41d6-b07f-20e5843b2c2c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_7081ef67-66f0-4781-9119-139b6ef1e5a7" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_c8293c2b-5579-4f6d-b937-23bd67d9a03c" xlink:to="loc_srt_RangeAxis_7081ef67-66f0-4781-9119-139b6ef1e5a7" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_7081ef67-66f0-4781-9119-139b6ef1e5a7_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_7081ef67-66f0-4781-9119-139b6ef1e5a7" xlink:to="loc_srt_RangeMember_7081ef67-66f0-4781-9119-139b6ef1e5a7_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_8c34c007-69dd-43e8-bc12-0e622386e3a8" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_7081ef67-66f0-4781-9119-139b6ef1e5a7" xlink:to="loc_srt_RangeMember_8c34c007-69dd-43e8-bc12-0e622386e3a8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_908c322a-e8d4-4b02-9353-e01c04d3be15" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_8c34c007-69dd-43e8-bc12-0e622386e3a8" xlink:to="loc_srt_MinimumMember_908c322a-e8d4-4b02-9353-e01c04d3be15" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_ed0912a8-f144-4191-9fb6-c06cb43f6ff7" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_8c34c007-69dd-43e8-bc12-0e622386e3a8" xlink:to="loc_srt_MaximumMember_ed0912a8-f144-4191-9fb6-c06cb43f6ff7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis_13bb8889-31ac-475d-89ca-6c6011ccc371" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_c8293c2b-5579-4f6d-b937-23bd67d9a03c" xlink:to="loc_us-gaap_VariableRateAxis_13bb8889-31ac-475d-89ca-6c6011ccc371" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_13bb8889-31ac-475d-89ca-6c6011ccc371_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_VariableRateAxis_13bb8889-31ac-475d-89ca-6c6011ccc371" xlink:to="loc_us-gaap_VariableRateDomain_13bb8889-31ac-475d-89ca-6c6011ccc371_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_f0e0b86e-c99f-48b9-899f-0db37da34658" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_VariableRateAxis_13bb8889-31ac-475d-89ca-6c6011ccc371" xlink:to="loc_us-gaap_VariableRateDomain_f0e0b86e-c99f-48b9-899f-0db37da34658" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BaseRateMember_534fcad8-5031-47bf-8a3c-6ad6801479b3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BaseRateMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_f0e0b86e-c99f-48b9-899f-0db37da34658" xlink:to="loc_us-gaap_BaseRateMember_534fcad8-5031-47bf-8a3c-6ad6801479b3" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SecuredOvernightFinancingRateSOFRMember_0d0c240d-4b10-41c5-b817-7c186698c405" xlink:href="rock-20231231.xsd#rock_SecuredOvernightFinancingRateSOFRMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_f0e0b86e-c99f-48b9-899f-0db37da34658" xlink:to="loc_rock_SecuredOvernightFinancingRateSOFRMember_0d0c240d-4b10-41c5-b817-7c186698c405" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_LondonInterbankOfferedRateLIBOR1Member_3d06495e-3acd-4481-9f6f-b7e5ee36d032" xlink:href="rock-20231231.xsd#rock_LondonInterbankOfferedRateLIBOR1Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_f0e0b86e-c99f-48b9-899f-0db37da34658" xlink:to="loc_rock_LondonInterbankOfferedRateLIBOR1Member_3d06495e-3acd-4481-9f6f-b7e5ee36d032" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DebtInstrumentApplicableRatePeriodAxis_6ae585ac-8c4b-4dfd-90c6-bcc16b09941e" xlink:href="rock-20231231.xsd#rock_DebtInstrumentApplicableRatePeriodAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DebtInstrumentTable_c8293c2b-5579-4f6d-b937-23bd67d9a03c" xlink:to="loc_rock_DebtInstrumentApplicableRatePeriodAxis_6ae585ac-8c4b-4dfd-90c6-bcc16b09941e" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DebtInstrumentApplicableRatePeriodDomain_6ae585ac-8c4b-4dfd-90c6-bcc16b09941e_default" xlink:href="rock-20231231.xsd#rock_DebtInstrumentApplicableRatePeriodDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_rock_DebtInstrumentApplicableRatePeriodAxis_6ae585ac-8c4b-4dfd-90c6-bcc16b09941e" xlink:to="loc_rock_DebtInstrumentApplicableRatePeriodDomain_6ae585ac-8c4b-4dfd-90c6-bcc16b09941e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DebtInstrumentApplicableRatePeriodDomain_016f60f2-a665-405b-ba8f-1a784ba168c9" xlink:href="rock-20231231.xsd#rock_DebtInstrumentApplicableRatePeriodDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_rock_DebtInstrumentApplicableRatePeriodAxis_6ae585ac-8c4b-4dfd-90c6-bcc16b09941e" xlink:to="loc_rock_DebtInstrumentApplicableRatePeriodDomain_016f60f2-a665-405b-ba8f-1a784ba168c9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ApplicableRatePeriod1Member_aa0e1509-2cc2-4037-895a-643fdb7cfd37" xlink:href="rock-20231231.xsd#rock_ApplicableRatePeriod1Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rock_DebtInstrumentApplicableRatePeriodDomain_016f60f2-a665-405b-ba8f-1a784ba168c9" xlink:to="loc_rock_ApplicableRatePeriod1Member_aa0e1509-2cc2-4037-895a-643fdb7cfd37" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ApplicableRatePeriod2Member_c2e2ff5f-429d-439a-a4e5-808649258f5e" xlink:href="rock-20231231.xsd#rock_ApplicableRatePeriod2Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_rock_DebtInstrumentApplicableRatePeriodDomain_016f60f2-a665-405b-ba8f-1a784ba168c9" xlink:to="loc_rock_ApplicableRatePeriod2Member_c2e2ff5f-429d-439a-a4e5-808649258f5e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_bab648f1-80d6-4102-89f0-70f82a1b8df6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:to="loc_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_bab648f1-80d6-4102-89f0-70f82a1b8df6" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_1c24225a-b0be-4414-82cf-b84899d284f8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_1c24225a-b0be-4414-82cf-b84899d284f8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount_8f8f1d2f-883f-4e23-92cd-c9ef51e0d0e9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:to="loc_us-gaap_DebtInstrumentFaceAmount_8f8f1d2f-883f-4e23-92cd-c9ef51e0d0e9" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DebtInstrumentNumberOfDebtCovenants_a11d6e87-6b4b-4d0a-b4f7-11bf0606ff56" xlink:href="rock-20231231.xsd#rock_DebtInstrumentNumberOfDebtCovenants"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:to="loc_rock_DebtInstrumentNumberOfDebtCovenants_a11d6e87-6b4b-4d0a-b4f7-11bf0606ff56" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_4b9c2b83-7029-472f-8467-5d15ddfca2d0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_4b9c2b83-7029-472f-8467-5d15ddfca2d0" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_83e1f0b6-9980-436d-a814-4c6c7ee39c36" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:to="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_83e1f0b6-9980-436d-a814-4c6c7ee39c36" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt_88c896a5-689e-4430-8f25-35c5a956a888" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:to="loc_us-gaap_LongTermDebt_88c896a5-689e-4430-8f25-35c5a956a888" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_3109337a-8904-4717-bed6-ec77aa5f1fb8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:to="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_3109337a-8904-4717-bed6-ec77aa5f1fb8" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityCommitmentFeePercentage_67673096-4588-4d06-9424-07fcd945b744" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityCommitmentFeePercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:to="loc_us-gaap_LineOfCreditFacilityCommitmentFeePercentage_67673096-4588-4d06-9424-07fcd945b744" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_559adf1d-2f43-4b3d-b05e-6372f57d67b5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:to="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_559adf1d-2f43-4b3d-b05e-6372f57d67b5" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFinanceCostsNet_3047c5c0-0223-414a-b87c-5fdac7a3ef76" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFinanceCostsNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:to="loc_us-gaap_DeferredFinanceCostsNet_3047c5c0-0223-414a-b87c-5fdac7a3ef76" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount_bfb741ec-b0e3-4a00-ad6d-13de44eb6c98" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentCarryingAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:to="loc_us-gaap_DebtInstrumentCarryingAmount_bfb741ec-b0e3-4a00-ad6d-13de44eb6c98" xlink:type="arc" order="11"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsScheduleofTotalExpenseforAllRetirementPlansDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#PensionandOtherPostretirementBenefitsScheduleofTotalExpenseforAllRetirementPlansDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsScheduleofTotalExpenseforAllRetirementPlansDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_dc5ce898-9264-4507-a8de-53a792dda2ef" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_682ea7b4-baa8-4c08-8403-01f47aa52ec3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_dc5ce898-9264-4507-a8de-53a792dda2ef" xlink:to="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_682ea7b4-baa8-4c08-8403-01f47aa52ec3" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeAxis_91a6853f-715a-4c7c-bd0e-357d622b6ce5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_682ea7b4-baa8-4c08-8403-01f47aa52ec3" xlink:to="loc_us-gaap_RetirementPlanTypeAxis_91a6853f-715a-4c7c-bd0e-357d622b6ce5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_91a6853f-715a-4c7c-bd0e-357d622b6ce5_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_91a6853f-715a-4c7c-bd0e-357d622b6ce5" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_91a6853f-715a-4c7c-bd0e-357d622b6ce5_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_6cc43b0b-42ec-4de7-afd7-5fabcc1edc90" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_91a6853f-715a-4c7c-bd0e-357d622b6ce5" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_6cc43b0b-42ec-4de7-afd7-5fabcc1edc90" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A401kPlanMember_79877e42-b199-44e7-ab70-fdd3a23886cc" xlink:href="rock-20231231.xsd#rock_A401kPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanTypeDomain_6cc43b0b-42ec-4de7-afd7-5fabcc1edc90" xlink:to="loc_rock_A401kPlanMember_79877e42-b199-44e7-ab70-fdd3a23886cc" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PensionPlansDefinedBenefitMember_ff3fc6a6-da98-41e2-8e69-ec088c24ddd1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionPlansDefinedBenefitMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanTypeDomain_6cc43b0b-42ec-4de7-afd7-5fabcc1edc90" xlink:to="loc_us-gaap_PensionPlansDefinedBenefitMember_ff3fc6a6-da98-41e2-8e69-ec088c24ddd1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_31c75b41-c124-4084-9316-1c35bd786726" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPostretirementHealthCoverageMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanTypeDomain_6cc43b0b-42ec-4de7-afd7-5fabcc1edc90" xlink:to="loc_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_31c75b41-c124-4084-9316-1c35bd786726" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PostemploymentBenefitsPeriodExpense_d8e721a9-22a4-42cd-a341-1b5812d4bca7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PostemploymentBenefitsPeriodExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_dc5ce898-9264-4507-a8de-53a792dda2ef" xlink:to="loc_us-gaap_PostemploymentBenefitsPeriodExpense_d8e721a9-22a4-42cd-a341-1b5812d4bca7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RetirementPlanNumberOfPlans_20fa45d0-3ba3-4917-89d5-5f78e1a0a2e1" xlink:href="rock-20231231.xsd#rock_RetirementPlanNumberOfPlans"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_dc5ce898-9264-4507-a8de-53a792dda2ef" xlink:to="loc_rock_RetirementPlanNumberOfPlans_20fa45d0-3ba3-4917-89d5-5f78e1a0a2e1" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_3d6c3304-117b-4623-bec8-d33f93267772" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_1981fad4-5c92-450d-a338-cb51be954322" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_3d6c3304-117b-4623-bec8-d33f93267772" xlink:to="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_1981fad4-5c92-450d-a338-cb51be954322" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeAxis_4bd2bc83-e628-4165-9ec1-7dd9675bcdeb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_1981fad4-5c92-450d-a338-cb51be954322" xlink:to="loc_us-gaap_RetirementPlanTypeAxis_4bd2bc83-e628-4165-9ec1-7dd9675bcdeb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_4bd2bc83-e628-4165-9ec1-7dd9675bcdeb_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_4bd2bc83-e628-4165-9ec1-7dd9675bcdeb" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_4bd2bc83-e628-4165-9ec1-7dd9675bcdeb_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_e5bd4fef-2c1c-4ec6-bd78-ebfac37b8f2b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_4bd2bc83-e628-4165-9ec1-7dd9675bcdeb" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_e5bd4fef-2c1c-4ec6-bd78-ebfac37b8f2b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_aae54d25-4d01-4324-a79b-a8b90d7f23ae" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPostretirementHealthCoverageMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanTypeDomain_e5bd4fef-2c1c-4ec6-bd78-ebfac37b8f2b" xlink:to="loc_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_aae54d25-4d01-4324-a79b-a8b90d7f23ae" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanChangeInBenefitObligationRollForward_cfd846c3-65fc-4e37-8866-48594c592e2d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanChangeInBenefitObligationRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_3d6c3304-117b-4623-bec8-d33f93267772" xlink:to="loc_us-gaap_DefinedBenefitPlanChangeInBenefitObligationRollForward_cfd846c3-65fc-4e37-8866-48594c592e2d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanBenefitObligation_ebabb646-5453-4da1-975d-5669c7f9d4dc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanBenefitObligation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanChangeInBenefitObligationRollForward_cfd846c3-65fc-4e37-8866-48594c592e2d" xlink:to="loc_us-gaap_DefinedBenefitPlanBenefitObligation_ebabb646-5453-4da1-975d-5669c7f9d4dc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanInterestCost_bfb7374b-c395-4b29-9992-aa55f93aeb6f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanInterestCost"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanChangeInBenefitObligationRollForward_cfd846c3-65fc-4e37-8866-48594c592e2d" xlink:to="loc_us-gaap_DefinedBenefitPlanInterestCost_bfb7374b-c395-4b29-9992-aa55f93aeb6f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanActuarialGainLoss_9bd7b992-d2df-430c-91a7-24da4ec754aa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanActuarialGainLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanChangeInBenefitObligationRollForward_cfd846c3-65fc-4e37-8866-48594c592e2d" xlink:to="loc_us-gaap_DefinedBenefitPlanActuarialGainLoss_9bd7b992-d2df-430c-91a7-24da4ec754aa" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid_a3efffcf-9d38-4a76-aa9e-38869ef8ade4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlanChangeInBenefitObligationRollForward_cfd846c3-65fc-4e37-8866-48594c592e2d" xlink:to="loc_us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid_a3efffcf-9d38-4a76-aa9e-38869ef8ade4" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanBenefitObligation_d64b3d5c-9bcc-4b46-832a-5eb998c0c177" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanBenefitObligation"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanFairValueOfPlanAssets_0811bc65-f0c7-48e7-96aa-689256e92a42" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanFairValueOfPlanAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_3d6c3304-117b-4623-bec8-d33f93267772" xlink:to="loc_us-gaap_DefinedBenefitPlanFairValueOfPlanAssets_0811bc65-f0c7-48e7-96aa-689256e92a42" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanFundedStatusOfPlan_b9f2a20a-8575-4cc8-853c-fd76d8a220b1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanFundedStatusOfPlan"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_3d6c3304-117b-4623-bec8-d33f93267772" xlink:to="loc_us-gaap_DefinedBenefitPlanFundedStatusOfPlan_b9f2a20a-8575-4cc8-853c-fd76d8a220b1" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax_cce08e78-303b-4ef9-ba78-ec3a51a657cb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_3d6c3304-117b-4623-bec8-d33f93267772" xlink:to="loc_us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax_cce08e78-303b-4ef9-ba78-ec3a51a657cb" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax_0f87fa22-e674-4d1d-ad19-794907a0d6dd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_3d6c3304-117b-4623-bec8-d33f93267772" xlink:to="loc_us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax_0f87fa22-e674-4d1d-ad19-794907a0d6dd" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet_ccb930a4-67df-4559-aa98-097454ddd9a5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_3d6c3304-117b-4623-bec8-d33f93267772" xlink:to="loc_us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet_ccb930a4-67df-4559-aa98-097454ddd9a5" xlink:type="arc" order="5"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsAmountsRecognizedintheConsolidatedFinancialStatementsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#PensionandOtherPostretirementBenefitsAmountsRecognizedintheConsolidatedFinancialStatementsDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsAmountsRecognizedintheConsolidatedFinancialStatementsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_7c663435-4e54-4c44-b87e-591e9b62c8fa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_7dfd1aa6-5ad9-4625-a7e4-820558f9af5d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_7c663435-4e54-4c44-b87e-591e9b62c8fa" xlink:to="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_7dfd1aa6-5ad9-4625-a7e4-820558f9af5d" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeAxis_de89a9e3-1d78-43f6-b4fe-10677395e741" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_7dfd1aa6-5ad9-4625-a7e4-820558f9af5d" xlink:to="loc_us-gaap_RetirementPlanTypeAxis_de89a9e3-1d78-43f6-b4fe-10677395e741" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_de89a9e3-1d78-43f6-b4fe-10677395e741_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_de89a9e3-1d78-43f6-b4fe-10677395e741" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_de89a9e3-1d78-43f6-b4fe-10677395e741_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_157ffac5-91b0-4e2c-9478-ce01472ccab3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_de89a9e3-1d78-43f6-b4fe-10677395e741" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_157ffac5-91b0-4e2c-9478-ce01472ccab3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_89057298-1d68-4069-aceb-8724501e5639" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPostretirementHealthCoverageMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanTypeDomain_157ffac5-91b0-4e2c-9478-ce01472ccab3" xlink:to="loc_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_89057298-1d68-4069-aceb-8724501e5639" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities_afb4262b-3f17-4348-989e-8d7a2477fa71" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_7c663435-4e54-4c44-b87e-591e9b62c8fa" xlink:to="loc_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities_afb4262b-3f17-4348-989e-8d7a2477fa71" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent_14366949-a5d4-4eac-b924-52a43efaffbf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_7c663435-4e54-4c44-b87e-591e9b62c8fa" xlink:to="loc_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent_14366949-a5d4-4eac-b924-52a43efaffbf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax_2b3651c2-f72f-4346-b290-884de6f5f4da" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_7c663435-4e54-4c44-b87e-591e9b62c8fa" xlink:to="loc_us-gaap_DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax_2b3651c2-f72f-4346-b290-884de6f5f4da" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet_bfef6954-9d45-45c9-80cd-3b967ab63243" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_7c663435-4e54-4c44-b87e-591e9b62c8fa" xlink:to="loc_us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet_bfef6954-9d45-45c9-80cd-3b967ab63243" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_e7b9e2be-cc9e-4616-b298-6bc29cee8bb9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_NetPeriodicPostRetirementCostTable_2d74fba7-729e-480b-bbf5-f3267d1f9800" xlink:href="rock-20231231.xsd#rock_NetPeriodicPostRetirementCostTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_e7b9e2be-cc9e-4616-b298-6bc29cee8bb9" xlink:to="loc_rock_NetPeriodicPostRetirementCostTable_2d74fba7-729e-480b-bbf5-f3267d1f9800" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeAxis_f424e765-1ab1-45ab-85fb-d3de57ef4e91" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_rock_NetPeriodicPostRetirementCostTable_2d74fba7-729e-480b-bbf5-f3267d1f9800" xlink:to="loc_us-gaap_RetirementPlanTypeAxis_f424e765-1ab1-45ab-85fb-d3de57ef4e91" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_f424e765-1ab1-45ab-85fb-d3de57ef4e91_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_f424e765-1ab1-45ab-85fb-d3de57ef4e91" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_f424e765-1ab1-45ab-85fb-d3de57ef4e91_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_52d17362-51cf-4925-816a-e9b3cfde0b6a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_f424e765-1ab1-45ab-85fb-d3de57ef4e91" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_52d17362-51cf-4925-816a-e9b3cfde0b6a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_cd1d21fc-483f-4dea-8f91-f6ad68319245" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPostretirementHealthCoverageMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanTypeDomain_52d17362-51cf-4925-816a-e9b3cfde0b6a" xlink:to="loc_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_cd1d21fc-483f-4dea-8f91-f6ad68319245" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanInterestCost_7cd0d39c-056b-432a-bbb1-a4370ad4b8ae" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanInterestCost"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_e7b9e2be-cc9e-4616-b298-6bc29cee8bb9" xlink:to="loc_us-gaap_DefinedBenefitPlanInterestCost_7cd0d39c-056b-432a-bbb1-a4370ad4b8ae" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_728e0aba-6b9d-4697-8ddd-be281735e2c0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_e7b9e2be-cc9e-4616-b298-6bc29cee8bb9" xlink:to="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_728e0aba-6b9d-4697-8ddd-be281735e2c0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses_f4f5b4a7-e85f-458a-ab14-e98f7fb2516f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_e7b9e2be-cc9e-4616-b298-6bc29cee8bb9" xlink:to="loc_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses_f4f5b4a7-e85f-458a-ab14-e98f7fb2516f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_e06328df-8206-4ebb-94c1-fc85e3cb7b9a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_e7b9e2be-cc9e-4616-b298-6bc29cee8bb9" xlink:to="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_e06328df-8206-4ebb-94c1-fc85e3cb7b9a" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate_52a13e4f-fe1f-4278-aa41-256460ec22d1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_e7b9e2be-cc9e-4616-b298-6bc29cee8bb9" xlink:to="loc_us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate_52a13e4f-fe1f-4278-aa41-256460ec22d1" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65_cec75da9-60bd-489c-bfee-74e7507fa920" xlink:href="rock-20231231.xsd#rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_e7b9e2be-cc9e-4616-b298-6bc29cee8bb9" xlink:to="loc_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65_cec75da9-60bd-489c-bfee-74e7507fa920" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65_02c66392-57cb-4443-8033-2f3a8134be2b" xlink:href="rock-20231231.xsd#rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_e7b9e2be-cc9e-4616-b298-6bc29cee8bb9" xlink:to="loc_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65_02c66392-57cb-4443-8033-2f3a8134be2b" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts_23ae3489-239d-40c6-b2db-0dacb5260429" xlink:href="rock-20231231.xsd#rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_e7b9e2be-cc9e-4616-b298-6bc29cee8bb9" xlink:to="loc_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts_23ae3489-239d-40c6-b2db-0dacb5260429" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanUltimateHealthCareCostTrendRate1_8b19e3ff-e760-44be-b207-c0be1a71d220" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanUltimateHealthCareCostTrendRate1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_e7b9e2be-cc9e-4616-b298-6bc29cee8bb9" xlink:to="loc_us-gaap_DefinedBenefitPlanUltimateHealthCareCostTrendRate1_8b19e3ff-e760-44be-b207-c0be1a71d220" xlink:type="arc" order="8"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsExpectedBenefitPaymentsfromthePlanDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#PensionandOtherPostretirementBenefitsExpectedBenefitPaymentsfromthePlanDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsExpectedBenefitPaymentsfromthePlanDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_45cffce9-1205-4107-9349-c08c9f3ecaf2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_ca799bce-536b-4011-a18b-1021b62187d2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_45cffce9-1205-4107-9349-c08c9f3ecaf2" xlink:to="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_ca799bce-536b-4011-a18b-1021b62187d2" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeAxis_ae3633ae-1456-4b8d-80f4-4e0c5fb46c7c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_ca799bce-536b-4011-a18b-1021b62187d2" xlink:to="loc_us-gaap_RetirementPlanTypeAxis_ae3633ae-1456-4b8d-80f4-4e0c5fb46c7c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_ae3633ae-1456-4b8d-80f4-4e0c5fb46c7c_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_ae3633ae-1456-4b8d-80f4-4e0c5fb46c7c" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_ae3633ae-1456-4b8d-80f4-4e0c5fb46c7c_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_116358ce-cb2d-4f34-ad2c-7b0d33a2d064" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_ae3633ae-1456-4b8d-80f4-4e0c5fb46c7c" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_116358ce-cb2d-4f34-ad2c-7b0d33a2d064" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_78972065-04f0-4187-9c04-2f80e1eca24d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPostretirementHealthCoverageMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RetirementPlanTypeDomain_116358ce-cb2d-4f34-ad2c-7b0d33a2d064" xlink:to="loc_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_78972065-04f0-4187-9c04-2f80e1eca24d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths_e4ed852b-6029-41b9-8cf1-263d103d8285" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_45cffce9-1205-4107-9349-c08c9f3ecaf2" xlink:to="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths_e4ed852b-6029-41b9-8cf1-263d103d8285" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo_eea9bba9-5540-4141-aff6-a6433183959d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_45cffce9-1205-4107-9349-c08c9f3ecaf2" xlink:to="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo_eea9bba9-5540-4141-aff6-a6433183959d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree_004f4146-a42f-4dfd-912f-7fc3b3ceeb82" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_45cffce9-1205-4107-9349-c08c9f3ecaf2" xlink:to="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree_004f4146-a42f-4dfd-912f-7fc3b3ceeb82" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour_62072e62-585d-44ea-a1fe-d0750364196c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_45cffce9-1205-4107-9349-c08c9f3ecaf2" xlink:to="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour_62072e62-585d-44ea-a1fe-d0750364196c" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive_6f947ff4-7d5e-471a-9d37-20a099c8699f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_45cffce9-1205-4107-9349-c08c9f3ecaf2" xlink:to="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive_6f947ff4-7d5e-471a-9d37-20a099c8699f" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter_daf57f65-600f-4050-81e2-69c680e0b31c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_45cffce9-1205-4107-9349-c08c9f3ecaf2" xlink:to="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter_daf57f65-600f-4050-81e2-69c680e0b31c" xlink:type="arc" order="5"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#AccumulatedOtherComprehensiveLossIncomeDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_67e5bd9b-e340-4f4d-a399-881bd611ee24" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_f37f671d-d9a8-416c-92db-acd7c25d81a9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_67e5bd9b-e340-4f4d-a399-881bd611ee24" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_f37f671d-d9a8-416c-92db-acd7c25d81a9" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_d6273500-010d-498f-a179-a6cea4f7d325" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_f37f671d-d9a8-416c-92db-acd7c25d81a9" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_d6273500-010d-498f-a179-a6cea4f7d325" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_d6273500-010d-498f-a179-a6cea4f7d325_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_d6273500-010d-498f-a179-a6cea4f7d325" xlink:to="loc_us-gaap_EquityComponentDomain_d6273500-010d-498f-a179-a6cea4f7d325_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_7c1157b8-1aee-4a0c-b078-a166452dee08" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_d6273500-010d-498f-a179-a6cea4f7d325" xlink:to="loc_us-gaap_EquityComponentDomain_7c1157b8-1aee-4a0c-b078-a166452dee08" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedTranslationAdjustmentMember_edcf7645-d98b-4543-9fe6-c1bb3745252e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedTranslationAdjustmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_7c1157b8-1aee-4a0c-b078-a166452dee08" xlink:to="loc_us-gaap_AccumulatedTranslationAdjustmentMember_edcf7645-d98b-4543-9fe6-c1bb3745252e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_79d89668-0983-4c7a-9e70-8f8dc7709d04" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_7c1157b8-1aee-4a0c-b078-a166452dee08" xlink:to="loc_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_79d89668-0983-4c7a-9e70-8f8dc7709d04" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1_47f828eb-9128-463a-b8a3-f677afff3c77" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_67e5bd9b-e340-4f4d-a399-881bd611ee24" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1_47f828eb-9128-463a-b8a3-f677afff3c77" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossBeforeTax_d743933c-9c5f-4137-898d-e2cff46d8f65" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_67e5bd9b-e340-4f4d-a399-881bd611ee24" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossBeforeTax_d743933c-9c5f-4137-898d-e2cff46d8f65" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1_40aadcaa-6fc1-4c3d-951b-94264d61d8d7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossTaxAbstract_daf5624f-5539-41f7-9ffc-23f64f240640" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossTaxAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_67e5bd9b-e340-4f4d-a399-881bd611ee24" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossTaxAbstract_daf5624f-5539-41f7-9ffc-23f64f240640" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AccumulatedOtherComprehensiveIncomeLossTax_72bfcd92-b1ae-4840-97e0-42accedb2ac2" xlink:href="rock-20231231.xsd#rock_AccumulatedOtherComprehensiveIncomeLossTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossTaxAbstract_daf5624f-5539-41f7-9ffc-23f64f240640" xlink:to="loc_rock_AccumulatedOtherComprehensiveIncomeLossTax_72bfcd92-b1ae-4840-97e0-42accedb2ac2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossTax_4894a0c3-d171-4129-af7d-028ec5b6f6a5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossTaxAbstract_daf5624f-5539-41f7-9ffc-23f64f240640" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossTax_4894a0c3-d171-4129-af7d-028ec5b6f6a5" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AccumulatedOtherComprehensiveIncomeLossTax_9fcfdbfc-3653-45ae-b0d1-248b651d57ea" xlink:href="rock-20231231.xsd#rock_AccumulatedOtherComprehensiveIncomeLossTax"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_c3eaf7be-69b9-4626-b688-0bec7187c54a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AOCIAttributableToParentNetOfTaxRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_67e5bd9b-e340-4f4d-a399-881bd611ee24" xlink:to="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_c3eaf7be-69b9-4626-b688-0bec7187c54a" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_b8ca1beb-05e9-46d8-a12d-e2568e7a6813" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_c3eaf7be-69b9-4626-b688-0bec7187c54a" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_b8ca1beb-05e9-46d8-a12d-e2568e7a6813" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax_2af0b39b-6d88-4e83-867b-12796d64802b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_c3eaf7be-69b9-4626-b688-0bec7187c54a" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax_2af0b39b-6d88-4e83-867b-12796d64802b" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_83d9c1ff-09f5-4fc6-9601-b04d4b7d98f0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_c3eaf7be-69b9-4626-b688-0bec7187c54a" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_83d9c1ff-09f5-4fc6-9601-b04d4b7d98f0" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_25f00a8d-6811-498d-bb23-ef728da22260" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#EquityBasedCompensationNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_61ba9afb-c7bc-4d34-b8ee-90f4bfe94b7a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_61ba9afb-c7bc-4d34-b8ee-90f4bfe94b7a" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_6a04b268-b562-4bfe-9571-3ee54b758fc8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_61ba9afb-c7bc-4d34-b8ee-90f4bfe94b7a" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_6a04b268-b562-4bfe-9571-3ee54b758fc8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_6a04b268-b562-4bfe-9571-3ee54b758fc8_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_6a04b268-b562-4bfe-9571-3ee54b758fc8" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_6a04b268-b562-4bfe-9571-3ee54b758fc8_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_b7412f30-a464-4662-a7e1-7b3743c38c77" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_6a04b268-b562-4bfe-9571-3ee54b758fc8" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_b7412f30-a464-4662-a7e1-7b3743c38c77" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AccruedExpensesCurrentMember_50aa5945-9878-4f2e-8dbf-017a136f497d" xlink:href="rock-20231231.xsd#rock_AccruedExpensesCurrentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_b7412f30-a464-4662-a7e1-7b3743c38c77" xlink:to="loc_rock_AccruedExpensesCurrentMember_50aa5945-9878-4f2e-8dbf-017a136f497d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_NonCurrentLiabilitiesMember_0dbe9184-a760-4eb6-9bde-face79def6c6" xlink:href="rock-20231231.xsd#rock_NonCurrentLiabilitiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_b7412f30-a464-4662-a7e1-7b3743c38c77" xlink:to="loc_rock_NonCurrentLiabilitiesMember_0dbe9184-a760-4eb6-9bde-face79def6c6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_dad16e6e-84bc-45e9-96f8-00bb16fb5b55" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_61ba9afb-c7bc-4d34-b8ee-90f4bfe94b7a" xlink:to="loc_us-gaap_PlanNameAxis_dad16e6e-84bc-45e9-96f8-00bb16fb5b55" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_dad16e6e-84bc-45e9-96f8-00bb16fb5b55_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_dad16e6e-84bc-45e9-96f8-00bb16fb5b55" xlink:to="loc_us-gaap_PlanNameDomain_dad16e6e-84bc-45e9-96f8-00bb16fb5b55_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_19be69e4-0dd6-4bf9-b6a2-773775cd78df" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_dad16e6e-84bc-45e9-96f8-00bb16fb5b55" xlink:to="loc_us-gaap_PlanNameDomain_19be69e4-0dd6-4bf9-b6a2-773775cd78df" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2018PlanMember_1844fa4f-7a0c-4288-9187-19bc44055b15" xlink:href="rock-20231231.xsd#rock_A2018PlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_19be69e4-0dd6-4bf9-b6a2-773775cd78df" xlink:to="loc_rock_A2018PlanMember_1844fa4f-7a0c-4288-9187-19bc44055b15" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TwoThousandEighteenEquityIncentivePlanMember_fa5f361c-8913-47a7-be25-4b5c4db4ac1f" xlink:href="rock-20231231.xsd#rock_TwoThousandEighteenEquityIncentivePlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_19be69e4-0dd6-4bf9-b6a2-773775cd78df" xlink:to="loc_rock_TwoThousandEighteenEquityIncentivePlanMember_fa5f361c-8913-47a7-be25-4b5c4db4ac1f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_NonEmployeeDirectorsPlanMember_5cb53564-3c29-484a-aebe-2586a26c36bd" xlink:href="rock-20231231.xsd#rock_NonEmployeeDirectorsPlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_19be69e4-0dd6-4bf9-b6a2-773775cd78df" xlink:to="loc_rock_NonEmployeeDirectorsPlanMember_5cb53564-3c29-484a-aebe-2586a26c36bd" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ManagementStockPurchasePlanMember_c655b661-0038-44c1-8986-25c9c1f7392a" xlink:href="rock-20231231.xsd#rock_ManagementStockPurchasePlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_19be69e4-0dd6-4bf9-b6a2-773775cd78df" xlink:to="loc_rock_ManagementStockPurchasePlanMember_c655b661-0038-44c1-8986-25c9c1f7392a" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_Amended2018PlanMember_5d8252dd-2b15-446f-aefa-657b73499309" xlink:href="rock-20231231.xsd#rock_Amended2018PlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_19be69e4-0dd6-4bf9-b6a2-773775cd78df" xlink:to="loc_rock_Amended2018PlanMember_5d8252dd-2b15-446f-aefa-657b73499309" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2015PlanMember_ed4a3d3c-9d14-4cd1-9174-c75db008c60c" xlink:href="rock-20231231.xsd#rock_A2015PlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_19be69e4-0dd6-4bf9-b6a2-773775cd78df" xlink:to="loc_rock_A2015PlanMember_ed4a3d3c-9d14-4cd1-9174-c75db008c60c" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_6de0c604-7699-48ae-b121-afca3ac73469" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_61ba9afb-c7bc-4d34-b8ee-90f4bfe94b7a" xlink:to="loc_us-gaap_AwardTypeAxis_6de0c604-7699-48ae-b121-afca3ac73469" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_6de0c604-7699-48ae-b121-afca3ac73469_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_6de0c604-7699-48ae-b121-afca3ac73469" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_6de0c604-7699-48ae-b121-afca3ac73469_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d335f699-6b79-42ea-a222-4dae0034b30c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_6de0c604-7699-48ae-b121-afca3ac73469" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d335f699-6b79-42ea-a222-4dae0034b30c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_b09a4925-96cd-442a-8fba-fb2a7a2baabb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d335f699-6b79-42ea-a222-4dae0034b30c" xlink:to="loc_us-gaap_CommonStockMember_b09a4925-96cd-442a-8fba-fb2a7a2baabb" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_463a5d1e-1e5a-4cb0-aa75-d21376460587" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PerformanceSharesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d335f699-6b79-42ea-a222-4dae0034b30c" xlink:to="loc_us-gaap_PerformanceSharesMember_463a5d1e-1e5a-4cb0-aa75-d21376460587" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_fb17a4e3-55c1-4f11-b52c-ff442f2821e3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d335f699-6b79-42ea-a222-4dae0034b30c" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_fb17a4e3-55c1-4f11-b52c-ff442f2821e3" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_36f884ad-6412-472e-a9cb-3e226e90c117" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_61ba9afb-c7bc-4d34-b8ee-90f4bfe94b7a" xlink:to="loc_srt_RangeAxis_36f884ad-6412-472e-a9cb-3e226e90c117" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_36f884ad-6412-472e-a9cb-3e226e90c117_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_36f884ad-6412-472e-a9cb-3e226e90c117" xlink:to="loc_srt_RangeMember_36f884ad-6412-472e-a9cb-3e226e90c117_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_dfae184e-5ab7-4e6d-af0b-28c02c261b34" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_36f884ad-6412-472e-a9cb-3e226e90c117" xlink:to="loc_srt_RangeMember_dfae184e-5ab7-4e6d-af0b-28c02c261b34" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_fa511489-4fbd-4567-ad18-af63082f3304" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_dfae184e-5ab7-4e6d-af0b-28c02c261b34" xlink:to="loc_srt_MaximumMember_fa511489-4fbd-4567-ad18-af63082f3304" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_22ac1160-f07c-42f0-9c8f-37b5c5ef906d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_61ba9afb-c7bc-4d34-b8ee-90f4bfe94b7a" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_22ac1160-f07c-42f0-9c8f-37b5c5ef906d" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_22ac1160-f07c-42f0-9c8f-37b5c5ef906d_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_22ac1160-f07c-42f0-9c8f-37b5c5ef906d" xlink:to="loc_us-gaap_EquityComponentDomain_22ac1160-f07c-42f0-9c8f-37b5c5ef906d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_4a47f492-9607-4d82-ae6d-ae87873c31c3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_22ac1160-f07c-42f0-9c8f-37b5c5ef906d" xlink:to="loc_us-gaap_EquityComponentDomain_4a47f492-9607-4d82-ae6d-ae87873c31c3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ManagementStockPurchasePlanMember_8928e56c-9bca-486e-ba0d-432e357e26dc" xlink:href="rock-20231231.xsd#rock_ManagementStockPurchasePlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_4a47f492-9607-4d82-ae6d-ae87873c31c3" xlink:to="loc_rock_ManagementStockPurchasePlanMember_8928e56c-9bca-486e-ba0d-432e357e26dc" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_bccc3631-c708-4023-9cf4-fc1db2e91fbd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_bccc3631-c708-4023-9cf4-fc1db2e91fbd" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_852bbb98-9b60-4ffe-8196-b8ec75fca5f3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_852bbb98-9b60-4ffe-8196-b8ec75fca5f3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_738eee53-0cb9-45bb-adb4-bc11fbfa2363" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_738eee53-0cb9-45bb-adb4-bc11fbfa2363" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_9325e667-a33b-4a12-8f8e-c3c87df0829b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_9325e667-a33b-4a12-8f8e-c3c87df0829b" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_MarketPriceOfCommonStockPerShare_e6c6e8e8-a6fe-4759-aff6-a1cb46e69cf4" xlink:href="rock-20231231.xsd#rock_MarketPriceOfCommonStockPerShare"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_rock_MarketPriceOfCommonStockPerShare_e6c6e8e8-a6fe-4759-aff6-a1cb46e69cf4" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_d76e3e63-68d2-43eb-a356-1d799ae52e91" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_d76e3e63-68d2-43eb-a356-1d799ae52e91" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod_9f67eb47-a7cf-4b05-a989-551263a940ce" xlink:href="rock-20231231.xsd#rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod_9f67eb47-a7cf-4b05-a989-551263a940ce" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_4fbf7124-b4d7-474c-b170-ec9aa9c7eae6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_4fbf7124-b4d7-474c-b170-ec9aa9c7eae6" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_9af237da-8e56-45f1-9ac2-d53f521689d6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_9af237da-8e56-45f1-9ac2-d53f521689d6" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_18e8f49d-cde0-4e0b-98bb-c3e1fa01c855" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_18e8f49d-cde0-4e0b-98bb-c3e1fa01c855" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_2c53ce54-bb7a-448e-94f1-54d803b2451d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_2c53ce54-bb7a-448e-94f1-54d803b2451d" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AccruedEquityBasedCompensation_f099bf74-77dc-47e0-a3a0-8c3ac13ee0de" xlink:href="rock-20231231.xsd#rock_AccruedEquityBasedCompensation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_rock_AccruedEquityBasedCompensation_f099bf74-77dc-47e0-a3a0-8c3ac13ee0de" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod_1ac647c9-2998-4489-95a1-1065bd1e6b35" xlink:href="rock-20231231.xsd#rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod_1ac647c9-2998-4489-95a1-1065bd1e6b35" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantOutstandingNumber_e09b39e6-619f-4764-9b4b-c5ff8d385142" xlink:href="rock-20231231.xsd#rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantOutstandingNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantOutstandingNumber_e09b39e6-619f-4764-9b4b-c5ff8d385142" xlink:type="arc" order="13"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofCompensationExpenseConnectionwithAwardsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#EquityBasedCompensationSummaryofCompensationExpenseConnectionwithAwardsDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofCompensationExpenseConnectionwithAwardsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0338d1d4-a82d-4027-bafe-209b351d5308" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d9c006b4-04c6-4687-80b9-8b4144ad2360" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0338d1d4-a82d-4027-bafe-209b351d5308" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d9c006b4-04c6-4687-80b9-8b4144ad2360" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_f788a621-f771-4baa-a1e4-7b7b4a42888d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d9c006b4-04c6-4687-80b9-8b4144ad2360" xlink:to="loc_us-gaap_PlanNameAxis_f788a621-f771-4baa-a1e4-7b7b4a42888d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_f788a621-f771-4baa-a1e4-7b7b4a42888d_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_f788a621-f771-4baa-a1e4-7b7b4a42888d" xlink:to="loc_us-gaap_PlanNameDomain_f788a621-f771-4baa-a1e4-7b7b4a42888d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_30ec5603-1f73-4ca6-8722-8f7bc614d362" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_f788a621-f771-4baa-a1e4-7b7b4a42888d" xlink:to="loc_us-gaap_PlanNameDomain_30ec5603-1f73-4ca6-8722-8f7bc614d362" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2015PlanMember_8687cd4c-13e8-4045-b8ca-78dde48bfec9" xlink:href="rock-20231231.xsd#rock_A2015PlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_30ec5603-1f73-4ca6-8722-8f7bc614d362" xlink:to="loc_rock_A2015PlanMember_8687cd4c-13e8-4045-b8ca-78dde48bfec9" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2018PlanMember_acaf5d6a-bed4-4091-91ba-7bb8555df279" xlink:href="rock-20231231.xsd#rock_A2018PlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_30ec5603-1f73-4ca6-8722-8f7bc614d362" xlink:to="loc_rock_A2018PlanMember_acaf5d6a-bed4-4091-91ba-7bb8555df279" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_0b520ffe-bbb1-4e92-af97-a96fdb518904" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0338d1d4-a82d-4027-bafe-209b351d5308" xlink:to="loc_us-gaap_ShareBasedCompensation_0b520ffe-bbb1-4e92-af97-a96fdb518904" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_fa0fd149-b6bf-46f1-8534-b16a954be8b8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0338d1d4-a82d-4027-bafe-209b351d5308" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_fa0fd149-b6bf-46f1-8534-b16a954be8b8" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_76b779b9-3ed5-400d-a18a-0ed48d58fae0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2fe13363-ead8-4215-a215-05f9a65ccdc3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_76b779b9-3ed5-400d-a18a-0ed48d58fae0" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2fe13363-ead8-4215-a215-05f9a65ccdc3" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardDateAxis_73f2cf7d-89d2-456a-8665-652f874a00c7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardDateAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2fe13363-ead8-4215-a215-05f9a65ccdc3" xlink:to="loc_us-gaap_AwardDateAxis_73f2cf7d-89d2-456a-8665-652f874a00c7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardDateDomain_73f2cf7d-89d2-456a-8665-652f874a00c7_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardDateDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardDateAxis_73f2cf7d-89d2-456a-8665-652f874a00c7" xlink:to="loc_us-gaap_AwardDateDomain_73f2cf7d-89d2-456a-8665-652f874a00c7_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardDateDomain_10054d26-1e29-4641-84b5-9d159491a8dd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardDateDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardDateAxis_73f2cf7d-89d2-456a-8665-652f874a00c7" xlink:to="loc_us-gaap_AwardDateDomain_10054d26-1e29-4641-84b5-9d159491a8dd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2019Member_22be4690-d4a6-4c46-9f00-f57ae5bb86f9" xlink:href="rock-20231231.xsd#rock_A2019Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AwardDateDomain_10054d26-1e29-4641-84b5-9d159491a8dd" xlink:to="loc_rock_A2019Member_22be4690-d4a6-4c46-9f00-f57ae5bb86f9" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2018Member_61f2bf1f-1528-4ce9-a5a4-1a6d2e0e9e6c" xlink:href="rock-20231231.xsd#rock_A2018Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AwardDateDomain_10054d26-1e29-4641-84b5-9d159491a8dd" xlink:to="loc_rock_A2018Member_61f2bf1f-1528-4ce9-a5a4-1a6d2e0e9e6c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2017Member_d9d0b492-5dae-4b8b-8178-01b7670a0a6c" xlink:href="rock-20231231.xsd#rock_A2017Member"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AwardDateDomain_10054d26-1e29-4641-84b5-9d159491a8dd" xlink:to="loc_rock_A2017Member_d9d0b492-5dae-4b8b-8178-01b7670a0a6c" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_b12a073d-dd78-49a3-ba2b-0002ca1d6a54" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2fe13363-ead8-4215-a215-05f9a65ccdc3" xlink:to="loc_us-gaap_AwardTypeAxis_b12a073d-dd78-49a3-ba2b-0002ca1d6a54" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_b12a073d-dd78-49a3-ba2b-0002ca1d6a54_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_b12a073d-dd78-49a3-ba2b-0002ca1d6a54" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_b12a073d-dd78-49a3-ba2b-0002ca1d6a54_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_691d4cce-a5b5-4f0a-9cb3-a079fef6e8b6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_b12a073d-dd78-49a3-ba2b-0002ca1d6a54" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_691d4cce-a5b5-4f0a-9cb3-a079fef6e8b6" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DeferredStockUnitsMember_febdd222-8d84-4b19-8c3d-8c6cf17f58ed" xlink:href="rock-20231231.xsd#rock_DeferredStockUnitsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_691d4cce-a5b5-4f0a-9cb3-a079fef6e8b6" xlink:to="loc_rock_DeferredStockUnitsMember_febdd222-8d84-4b19-8c3d-8c6cf17f58ed" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_91b40ff9-fa67-4b8d-9488-94825e6bfbee" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_691d4cce-a5b5-4f0a-9cb3-a079fef6e8b6" xlink:to="loc_us-gaap_RestrictedStockMember_91b40ff9-fa67-4b8d-9488-94825e6bfbee" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_ee7d59a5-e998-477c-b310-db797e088561" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_691d4cce-a5b5-4f0a-9cb3-a079fef6e8b6" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_ee7d59a5-e998-477c-b310-db797e088561" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_25326602-f21e-4ef9-8148-f046b4bc30cc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PerformanceSharesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_691d4cce-a5b5-4f0a-9cb3-a079fef6e8b6" xlink:to="loc_us-gaap_PerformanceSharesMember_25326602-f21e-4ef9-8148-f046b4bc30cc" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_33d67177-f694-4866-9bee-5dc3f90bc39c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_76b779b9-3ed5-400d-a18a-0ed48d58fae0" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_33d67177-f694-4866-9bee-5dc3f90bc39c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_df985bc4-35a1-4216-8024-0d5a50beb689" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_76b779b9-3ed5-400d-a18a-0ed48d58fae0" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_df985bc4-35a1-4216-8024-0d5a50beb689" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofRangesofOutstandingandExercisableOptionsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#EquityBasedCompensationSummaryofRangesofOutstandingandExercisableOptionsDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofRangesofOutstandingandExercisableOptionsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_4840cdce-50d6-47f3-8caf-29bed5391e35" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_8b261ba5-f050-4d7e-90de-251c56a909a5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_4840cdce-50d6-47f3-8caf-29bed5391e35" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_8b261ba5-f050-4d7e-90de-251c56a909a5" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_2e4a01ca-18bd-4ca7-9f6d-18d942d558dd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_8b261ba5-f050-4d7e-90de-251c56a909a5" xlink:to="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_2e4a01ca-18bd-4ca7-9f6d-18d942d558dd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_2e4a01ca-18bd-4ca7-9f6d-18d942d558dd_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_2e4a01ca-18bd-4ca7-9f6d-18d942d558dd" xlink:to="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_2e4a01ca-18bd-4ca7-9f6d-18d942d558dd_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_11182170-ffd3-4e1b-bd73-3242abb24641" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_2e4a01ca-18bd-4ca7-9f6d-18d942d558dd" xlink:to="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_11182170-ffd3-4e1b-bd73-3242abb24641" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ExercisePriceRangeOneMember_be2f47e5-52bb-485e-9b0c-799559a2dd43" xlink:href="rock-20231231.xsd#rock_ExercisePriceRangeOneMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_11182170-ffd3-4e1b-bd73-3242abb24641" xlink:to="loc_rock_ExercisePriceRangeOneMember_be2f47e5-52bb-485e-9b0c-799559a2dd43" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit_aab6999b-a7e7-4ed4-8129-0a4e0c0059d4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_4840cdce-50d6-47f3-8caf-29bed5391e35" xlink:to="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit_aab6999b-a7e7-4ed4-8129-0a4e0c0059d4" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_c3d92711-0f68-483b-beb8-562843e39db0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_4840cdce-50d6-47f3-8caf-29bed5391e35" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_c3d92711-0f68-483b-beb8-562843e39db0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_b12b4477-b3b3-48c3-92f1-a8769fe6e93e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_4840cdce-50d6-47f3-8caf-29bed5391e35" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_b12b4477-b3b3-48c3-92f1-a8769fe6e93e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_88575d00-242e-40ce-8d07-3c560c3c6a0d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_4840cdce-50d6-47f3-8caf-29bed5391e35" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_88575d00-242e-40ce-8d07-3c560c3c6a0d" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_b390a5a9-b1be-4831-849c-3c30762797ae" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_4840cdce-50d6-47f3-8caf-29bed5391e35" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_b390a5a9-b1be-4831-849c-3c30762797ae" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_b88e93fe-f397-4c00-a07c-a37c5ad4ebbb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_4840cdce-50d6-47f3-8caf-29bed5391e35" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_b88e93fe-f397-4c00-a07c-a37c5ad4ebbb" xlink:type="arc" order="5"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee10c90e-495b-40d6-8876-3860e65270a1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_616d6bc3-1180-4f69-bdd3-438e20418f9f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee10c90e-495b-40d6-8876-3860e65270a1" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_616d6bc3-1180-4f69-bdd3-438e20418f9f" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_5c311f9f-9603-4e52-8e7b-993de626095d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_616d6bc3-1180-4f69-bdd3-438e20418f9f" xlink:to="loc_us-gaap_PlanNameAxis_5c311f9f-9603-4e52-8e7b-993de626095d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_5c311f9f-9603-4e52-8e7b-993de626095d_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_5c311f9f-9603-4e52-8e7b-993de626095d" xlink:to="loc_us-gaap_PlanNameDomain_5c311f9f-9603-4e52-8e7b-993de626095d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_72b0afa2-cce8-4abb-b4c7-2dfdc13aff9a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_5c311f9f-9603-4e52-8e7b-993de626095d" xlink:to="loc_us-gaap_PlanNameDomain_72b0afa2-cce8-4abb-b4c7-2dfdc13aff9a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TwoThousandEighteenEquityIncentivePlanMember_7e0d5af2-8247-448a-ad8f-f92f1e9a9dc3" xlink:href="rock-20231231.xsd#rock_TwoThousandEighteenEquityIncentivePlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_72b0afa2-cce8-4abb-b4c7-2dfdc13aff9a" xlink:to="loc_rock_TwoThousandEighteenEquityIncentivePlanMember_7e0d5af2-8247-448a-ad8f-f92f1e9a9dc3" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2018PlanMember_100492c3-d17f-4834-9cc2-2c99cd88f974" xlink:href="rock-20231231.xsd#rock_A2018PlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_72b0afa2-cce8-4abb-b4c7-2dfdc13aff9a" xlink:to="loc_rock_A2018PlanMember_100492c3-d17f-4834-9cc2-2c99cd88f974" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MeasurementInputTypeAxis_75404079-b743-4d88-ae94-8bc257fff3e2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_616d6bc3-1180-4f69-bdd3-438e20418f9f" xlink:to="loc_us-gaap_MeasurementInputTypeAxis_75404079-b743-4d88-ae94-8bc257fff3e2" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MeasurementInputTypeDomain_75404079-b743-4d88-ae94-8bc257fff3e2_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_MeasurementInputTypeAxis_75404079-b743-4d88-ae94-8bc257fff3e2" xlink:to="loc_us-gaap_MeasurementInputTypeDomain_75404079-b743-4d88-ae94-8bc257fff3e2_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MeasurementInputTypeDomain_443a2df8-62a0-488f-ac0d-846985923e18" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_MeasurementInputTypeAxis_75404079-b743-4d88-ae94-8bc257fff3e2" xlink:to="loc_us-gaap_MeasurementInputTypeDomain_443a2df8-62a0-488f-ac0d-846985923e18" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember_fdefaa21-a8c8-46d9-b6fd-ddc549f2ba51" xlink:href="rock-20231231.xsd#rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MeasurementInputTypeDomain_443a2df8-62a0-488f-ac0d-846985923e18" xlink:to="loc_rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember_fdefaa21-a8c8-46d9-b6fd-ddc549f2ba51" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_0c8944ca-c7a7-4ade-bc74-287367ddb10f" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_616d6bc3-1180-4f69-bdd3-438e20418f9f" xlink:to="loc_srt_RangeAxis_0c8944ca-c7a7-4ade-bc74-287367ddb10f" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_0c8944ca-c7a7-4ade-bc74-287367ddb10f_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_0c8944ca-c7a7-4ade-bc74-287367ddb10f" xlink:to="loc_srt_RangeMember_0c8944ca-c7a7-4ade-bc74-287367ddb10f_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_34b5bbb9-8fd1-45ed-81d2-1beef1ce4b49" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_0c8944ca-c7a7-4ade-bc74-287367ddb10f" xlink:to="loc_srt_RangeMember_34b5bbb9-8fd1-45ed-81d2-1beef1ce4b49" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_51781483-5acd-4217-98ca-8fe28d7264ee" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_34b5bbb9-8fd1-45ed-81d2-1beef1ce4b49" xlink:to="loc_srt_MinimumMember_51781483-5acd-4217-98ca-8fe28d7264ee" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_04952244-f488-4eab-9ffd-631de0cac5b1" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_34b5bbb9-8fd1-45ed-81d2-1beef1ce4b49" xlink:to="loc_srt_MaximumMember_04952244-f488-4eab-9ffd-631de0cac5b1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_5e5d09d5-94f1-496f-a256-e8a678bd1f80" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_616d6bc3-1180-4f69-bdd3-438e20418f9f" xlink:to="loc_us-gaap_AwardTypeAxis_5e5d09d5-94f1-496f-a256-e8a678bd1f80" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5e5d09d5-94f1-496f-a256-e8a678bd1f80_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_5e5d09d5-94f1-496f-a256-e8a678bd1f80" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5e5d09d5-94f1-496f-a256-e8a678bd1f80_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_9743aecd-7747-4396-b86b-65780217468b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_5e5d09d5-94f1-496f-a256-e8a678bd1f80" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_9743aecd-7747-4396-b86b-65780217468b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_f59f04f0-3aa6-424d-8173-ed4fd1c77658" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_9743aecd-7747-4396-b86b-65780217468b" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_f59f04f0-3aa6-424d-8173-ed4fd1c77658" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_c198d837-9933-45d1-8b4a-6943ca498c74" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_9743aecd-7747-4396-b86b-65780217468b" xlink:to="loc_us-gaap_RestrictedStockMember_c198d837-9933-45d1-8b4a-6943ca498c74" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_aea28bd7-89f6-4b7a-88ed-921d9551c381" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PerformanceSharesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_9743aecd-7747-4396-b86b-65780217468b" xlink:to="loc_us-gaap_PerformanceSharesMember_aea28bd7-89f6-4b7a-88ed-921d9551c381" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DeferredStockUnitsMember_718f0731-9ee8-4d14-99b0-02cdbf9cf443" xlink:href="rock-20231231.xsd#rock_DeferredStockUnitsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_9743aecd-7747-4396-b86b-65780217468b" xlink:to="loc_rock_DeferredStockUnitsMember_718f0731-9ee8-4d14-99b0-02cdbf9cf443" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_35ed674b-fbfe-4408-953e-5d3cd885d902" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee10c90e-495b-40d6-8876-3860e65270a1" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_35ed674b-fbfe-4408-953e-5d3cd885d902" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_1874e645-8956-4e26-a5b4-64d03069f0ed" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_35ed674b-fbfe-4408-953e-5d3cd885d902" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_1874e645-8956-4e26-a5b4-64d03069f0ed" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_32a656bf-577b-4ab7-aaa8-89a6e83ac8de" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_35ed674b-fbfe-4408-953e-5d3cd885d902" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_32a656bf-577b-4ab7-aaa8-89a6e83ac8de" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod_03a6aeac-4fce-48ef-b9c5-d23aceb8317b" xlink:href="rock-20231231.xsd#rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_35ed674b-fbfe-4408-953e-5d3cd885d902" xlink:to="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod_03a6aeac-4fce-48ef-b9c5-d23aceb8317b" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_b7fe45d0-f3b7-4d8e-9abb-970fcc23d323" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_35ed674b-fbfe-4408-953e-5d3cd885d902" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_b7fe45d0-f3b7-4d8e-9abb-970fcc23d323" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_4490d994-f5a0-4643-a0d5-55073ef3470f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_35ed674b-fbfe-4408-953e-5d3cd885d902" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_4490d994-f5a0-4643-a0d5-55073ef3470f" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_4b7302d9-6818-49cb-9cf0-05b76e0da138" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_a5b96902-8181-4edf-b6d7-176d9c371948" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee10c90e-495b-40d6-8876-3860e65270a1" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_a5b96902-8181-4edf-b6d7-176d9c371948" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_92eb82ec-e914-41be-bf31-93d8591fa1e3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_a5b96902-8181-4edf-b6d7-176d9c371948" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_92eb82ec-e914-41be-bf31-93d8591fa1e3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_69b3d602-d9b3-4969-8b72-aeee772d4266" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_a5b96902-8181-4edf-b6d7-176d9c371948" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_69b3d602-d9b3-4969-8b72-aeee772d4266" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue_83f18c7e-6070-440b-a8ba-92458962013e" xlink:href="rock-20231231.xsd#rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_a5b96902-8181-4edf-b6d7-176d9c371948" xlink:to="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue_83f18c7e-6070-440b-a8ba-92458962013e" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_f79d9de8-3f1c-4802-a795-54b0b1fc7873" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_a5b96902-8181-4edf-b6d7-176d9c371948" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_f79d9de8-3f1c-4802-a795-54b0b1fc7873" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_709abbd5-bbb8-4337-abd6-ad58eb3aad4f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_a5b96902-8181-4edf-b6d7-176d9c371948" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_709abbd5-bbb8-4337-abd6-ad58eb3aad4f" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_6b843dc9-8070-4a6d-88ac-bf71ce03f443" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent_b2f98122-2591-4b99-9abe-25f683e44fda" xlink:href="rock-20231231.xsd#rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee10c90e-495b-40d6-8876-3860e65270a1" xlink:to="loc_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent_b2f98122-2591-4b99-9abe-25f683e44fda" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod_e3cac280-7382-42aa-976c-a5e8d085c509" xlink:href="rock-20231231.xsd#rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee10c90e-495b-40d6-8876-3860e65270a1" xlink:to="loc_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod_e3cac280-7382-42aa-976c-a5e8d085c509" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved_ef81fbdf-3636-41a4-b323-9ec2fb615f87" xlink:href="rock-20231231.xsd#rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee10c90e-495b-40d6-8876-3860e65270a1" xlink:to="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved_ef81fbdf-3636-41a4-b323-9ec2fb615f87" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetPortionGranted_e1bac505-8a57-4b09-b530-e964b4db6ecb" xlink:href="rock-20231231.xsd#rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetPortionGranted"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee10c90e-495b-40d6-8876-3860e65270a1" xlink:to="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetPortionGranted_e1bac505-8a57-4b09-b530-e964b4db6ecb" xlink:type="arc" order="5"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationAggregateIntrinsicValueofOptionsExercisedandAggregateFairValueofRestrictedStockUnitsandRestrictedSharesthatVestedDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#EquityBasedCompensationAggregateIntrinsicValueofOptionsExercisedandAggregateFairValueofRestrictedStockUnitsandRestrictedSharesthatVestedDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/EquityBasedCompensationAggregateIntrinsicValueofOptionsExercisedandAggregateFairValueofRestrictedStockUnitsandRestrictedSharesthatVestedDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e05cab29-220b-413c-94f0-b71a29d670eb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_f25d2bd7-8992-418c-b6bd-2df6aee23f6a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e05cab29-220b-413c-94f0-b71a29d670eb" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_f25d2bd7-8992-418c-b6bd-2df6aee23f6a" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_aca571d6-fe12-4a3d-b8f0-4dc34adcfa1d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_f25d2bd7-8992-418c-b6bd-2df6aee23f6a" xlink:to="loc_us-gaap_AwardTypeAxis_aca571d6-fe12-4a3d-b8f0-4dc34adcfa1d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_aca571d6-fe12-4a3d-b8f0-4dc34adcfa1d_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_aca571d6-fe12-4a3d-b8f0-4dc34adcfa1d" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_aca571d6-fe12-4a3d-b8f0-4dc34adcfa1d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_76c7532c-f595-4005-87b6-31219de4c7da" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_aca571d6-fe12-4a3d-b8f0-4dc34adcfa1d" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_76c7532c-f595-4005-87b6-31219de4c7da" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_7ab37797-b6d3-4419-a433-5e37b9870ea1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_76c7532c-f595-4005-87b6-31219de4c7da" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_7ab37797-b6d3-4419-a433-5e37b9870ea1" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_0e646db9-8feb-4a63-8b67-3341a053bb02" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_76c7532c-f595-4005-87b6-31219de4c7da" xlink:to="loc_us-gaap_RestrictedStockMember_0e646db9-8feb-4a63-8b67-3341a053bb02" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_PerformanceStockUnitsMember_e00586f0-cab0-4bf1-8e29-661f9d2eb33e" xlink:href="rock-20231231.xsd#rock_PerformanceStockUnitsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_76c7532c-f595-4005-87b6-31219de4c7da" xlink:to="loc_rock_PerformanceStockUnitsMember_e00586f0-cab0-4bf1-8e29-661f9d2eb33e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DeferredStockUnitsMember_a4bc5f8f-a131-4c27-be8b-3ab2baea2113" xlink:href="rock-20231231.xsd#rock_DeferredStockUnitsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_76c7532c-f595-4005-87b6-31219de4c7da" xlink:to="loc_rock_DeferredStockUnitsMember_a4bc5f8f-a131-4c27-be8b-3ab2baea2113" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_74b063c1-1608-48e5-85ad-99e66973b72e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e05cab29-220b-413c-94f0-b71a29d670eb" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_74b063c1-1608-48e5-85ad-99e66973b72e" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_98358f7b-8a6e-4b60-a3e7-e43976295422" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e05cab29-220b-413c-94f0-b71a29d670eb" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_98358f7b-8a6e-4b60-a3e7-e43976295422" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationCashPaidtoSettleLiabilityAwardsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#EquityBasedCompensationCashPaidtoSettleLiabilityAwardsDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/EquityBasedCompensationCashPaidtoSettleLiabilityAwardsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc3f7e70-6580-4871-aeef-09699fa0c7a4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b0954c83-6bb5-46bb-bcc7-10258c446dc3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc3f7e70-6580-4871-aeef-09699fa0c7a4" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b0954c83-6bb5-46bb-bcc7-10258c446dc3" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualAxis_33428ff6-2bfc-4ca6-9bbe-bee343c56127" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b0954c83-6bb5-46bb-bcc7-10258c446dc3" xlink:to="loc_srt_TitleOfIndividualAxis_33428ff6-2bfc-4ca6-9bbe-bee343c56127" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_33428ff6-2bfc-4ca6-9bbe-bee343c56127_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_TitleOfIndividualAxis_33428ff6-2bfc-4ca6-9bbe-bee343c56127" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_33428ff6-2bfc-4ca6-9bbe-bee343c56127_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_565db0a2-6ac5-4efb-a884-29d2334732e2" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_TitleOfIndividualAxis_33428ff6-2bfc-4ca6-9bbe-bee343c56127" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_565db0a2-6ac5-4efb-a884-29d2334732e2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ManagementMember_d8ac0685-c69d-4678-b95a-d1c8302f5cb9" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ManagementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_565db0a2-6ac5-4efb-a884-29d2334732e2" xlink:to="loc_srt_ManagementMember_d8ac0685-c69d-4678-b95a-d1c8302f5cb9" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_ed8ae0ff-505b-4594-aff4-aafe11f7cd71" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b0954c83-6bb5-46bb-bcc7-10258c446dc3" xlink:to="loc_us-gaap_AwardTypeAxis_ed8ae0ff-505b-4594-aff4-aafe11f7cd71" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_ed8ae0ff-505b-4594-aff4-aafe11f7cd71_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_ed8ae0ff-505b-4594-aff4-aafe11f7cd71" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_ed8ae0ff-505b-4594-aff4-aafe11f7cd71_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_70cb8c90-e034-499c-ab64-861f63dc36e9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_ed8ae0ff-505b-4594-aff4-aafe11f7cd71" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_70cb8c90-e034-499c-ab64-861f63dc36e9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_4e208aaf-649d-41b1-b259-2f185360b177" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_70cb8c90-e034-499c-ab64-861f63dc36e9" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_4e208aaf-649d-41b1-b259-2f185360b177" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_cf152248-ca51-465c-b06d-1b715d57aef6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b0954c83-6bb5-46bb-bcc7-10258c446dc3" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_cf152248-ca51-465c-b06d-1b715d57aef6" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_cf152248-ca51-465c-b06d-1b715d57aef6_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_cf152248-ca51-465c-b06d-1b715d57aef6" xlink:to="loc_us-gaap_EquityComponentDomain_cf152248-ca51-465c-b06d-1b715d57aef6_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_1fdd4821-8e0e-4b73-9360-26ddf75006ed" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_cf152248-ca51-465c-b06d-1b715d57aef6" xlink:to="loc_us-gaap_EquityComponentDomain_1fdd4821-8e0e-4b73-9360-26ddf75006ed" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ManagementStockPurchasePlanMember_bd06ac80-caa8-412a-b658-de8938385027" xlink:href="rock-20231231.xsd#rock_ManagementStockPurchasePlanMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_1fdd4821-8e0e-4b73-9360-26ddf75006ed" xlink:to="loc_rock_ManagementStockPurchasePlanMember_bd06ac80-caa8-412a-b658-de8938385027" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_e692a4a6-5e47-43fc-8155-496dc5c2584a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc3f7e70-6580-4871-aeef-09699fa0c7a4" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_e692a4a6-5e47-43fc-8155-496dc5c2584a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_4b490c7b-83f7-4edd-9d1b-7e6cb46c0d67" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc3f7e70-6580-4871-aeef-09699fa0c7a4" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_4b490c7b-83f7-4edd-9d1b-7e6cb46c0d67" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid_faa7fdf9-22ec-43d2-ae9b-c49a58494133" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc3f7e70-6580-4871-aeef-09699fa0c7a4" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid_faa7fdf9-22ec-43d2-ae9b-c49a58494133" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ManagementStockPurchasePlanCompensationExpense_a62eeb27-01c3-4bab-b4cc-e7d19146f873" xlink:href="rock-20231231.xsd#rock_ManagementStockPurchasePlanCompensationExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc3f7e70-6580-4871-aeef-09699fa0c7a4" xlink:to="loc_rock_ManagementStockPurchasePlanCompensationExpense_a62eeb27-01c3-4bab-b4cc-e7d19146f873" xlink:type="arc" order="3"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/FairValueMeasurementsNarrativeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#FairValueMeasurementsNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/FairValueMeasurementsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ExtinguishmentOfDebtLineItems_4dc62bba-c9ec-4fc1-8a96-03f37a3e809c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ExtinguishmentOfDebtLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfExtinguishmentOfDebtTable_9cd8596f-6c4d-4a59-8f8f-c7608e154d9c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfExtinguishmentOfDebtTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ExtinguishmentOfDebtLineItems_4dc62bba-c9ec-4fc1-8a96-03f37a3e809c" xlink:to="loc_us-gaap_ScheduleOfExtinguishmentOfDebtTable_9cd8596f-6c4d-4a59-8f8f-c7608e154d9c" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_b7450d6b-d979-43de-9e68-0575b8f74542" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfExtinguishmentOfDebtTable_9cd8596f-6c4d-4a59-8f8f-c7608e154d9c" xlink:to="loc_us-gaap_CreditFacilityAxis_b7450d6b-d979-43de-9e68-0575b8f74542" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_b7450d6b-d979-43de-9e68-0575b8f74542_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CreditFacilityAxis_b7450d6b-d979-43de-9e68-0575b8f74542" xlink:to="loc_us-gaap_CreditFacilityDomain_b7450d6b-d979-43de-9e68-0575b8f74542_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_6e195f57-330c-491b-819f-cc2f3f8dc7a7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CreditFacilityAxis_b7450d6b-d979-43de-9e68-0575b8f74542" xlink:to="loc_us-gaap_CreditFacilityDomain_6e195f57-330c-491b-819f-cc2f3f8dc7a7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_016d88e7-b443-4821-acde-5da2822fd766" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CreditFacilityDomain_6e195f57-330c-491b-819f-cc2f3f8dc7a7" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_016d88e7-b443-4821-acde-5da2822fd766" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_31ddfbbf-f34d-4f99-8a99-8b4dd93369fe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfExtinguishmentOfDebtTable_9cd8596f-6c4d-4a59-8f8f-c7608e154d9c" xlink:to="loc_us-gaap_DebtInstrumentAxis_31ddfbbf-f34d-4f99-8a99-8b4dd93369fe" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_31ddfbbf-f34d-4f99-8a99-8b4dd93369fe_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_31ddfbbf-f34d-4f99-8a99-8b4dd93369fe" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_31ddfbbf-f34d-4f99-8a99-8b4dd93369fe_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_609fa5f5-5560-4240-a34f-e36dfb18bf05" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_31ddfbbf-f34d-4f99-8a99-8b4dd93369fe" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_609fa5f5-5560-4240-a34f-e36dfb18bf05" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SeniorCreditAgreementMember_da48807d-89a4-4288-8d52-839a88ac76b0" xlink:href="rock-20231231.xsd#rock_SeniorCreditAgreementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_609fa5f5-5560-4240-a34f-e36dfb18bf05" xlink:to="loc_rock_SeniorCreditAgreementMember_da48807d-89a4-4288-8d52-839a88ac76b0" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt_de6761b4-5dda-438e-bd78-eede68b1b52f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ExtinguishmentOfDebtLineItems_4dc62bba-c9ec-4fc1-8a96-03f37a3e809c" xlink:to="loc_us-gaap_LongTermDebt_de6761b4-5dda-438e-bd78-eede68b1b52f" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#DiscontinuedOperationsNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_1024dc97-0372-4083-aeb2-0a298ddc434e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_54dcab87-580a-473b-abc4-2777a9cc00e3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_1024dc97-0372-4083-aeb2-0a298ddc434e" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_54dcab87-580a-473b-abc4-2777a9cc00e3" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis_2112dbcc-8370-439a-8899-a5152ff63b67" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupClassificationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_54dcab87-580a-473b-abc4-2777a9cc00e3" xlink:to="loc_us-gaap_DisposalGroupClassificationAxis_2112dbcc-8370-439a-8899-a5152ff63b67" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_2112dbcc-8370-439a-8899-a5152ff63b67_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupClassificationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_2112dbcc-8370-439a-8899-a5152ff63b67" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_2112dbcc-8370-439a-8899-a5152ff63b67_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_ce31f966-1bde-44ee-b1be-fdae915368e1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupClassificationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_2112dbcc-8370-439a-8899-a5152ff63b67" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_ce31f966-1bde-44ee-b1be-fdae915368e1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_da21b248-fce8-4e7a-9c94-de4e6e29e547" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_ce31f966-1bde-44ee-b1be-fdae915368e1" xlink:to="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_da21b248-fce8-4e7a-9c94-de4e6e29e547" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupDisposedOfBySaleNotDiscontinuedOperationsMember_c7d197f6-67ae-4f88-aa38-d598007fb726" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupDisposedOfBySaleNotDiscontinuedOperationsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_ce31f966-1bde-44ee-b1be-fdae915368e1" xlink:to="loc_us-gaap_DisposalGroupDisposedOfBySaleNotDiscontinuedOperationsMember_c7d197f6-67ae-4f88-aa38-d598007fb726" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_b1c78825-03a5-4a89-a19b-e39edce9f94d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_54dcab87-580a-473b-abc4-2777a9cc00e3" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_b1c78825-03a5-4a89-a19b-e39edce9f94d" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_b1c78825-03a5-4a89-a19b-e39edce9f94d_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_b1c78825-03a5-4a89-a19b-e39edce9f94d" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_b1c78825-03a5-4a89-a19b-e39edce9f94d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_d5272add-b46a-4e81-be56-d91daeea3a0b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_b1c78825-03a5-4a89-a19b-e39edce9f94d" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_d5272add-b46a-4e81-be56-d91daeea3a0b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_IndustrialBusinessSegmentMember_b3b09df8-cbc4-4846-8ae8-4b9dcefcccf2" xlink:href="rock-20231231.xsd#rock_IndustrialBusinessSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_d5272add-b46a-4e81-be56-d91daeea3a0b" xlink:to="loc_rock_IndustrialBusinessSegmentMember_b3b09df8-cbc4-4846-8ae8-4b9dcefcccf2" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_JapanBasedSolarRackingBusinessMember_e10dbfe5-aab5-4cd2-994e-37eaa21b000b" xlink:href="rock-20231231.xsd#rock_JapanBasedSolarRackingBusinessMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_d5272add-b46a-4e81-be56-d91daeea3a0b" xlink:to="loc_rock_JapanBasedSolarRackingBusinessMember_e10dbfe5-aab5-4cd2-994e-37eaa21b000b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_4d6eb6bc-7fd8-4333-9966-b9cbac1df49b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_1024dc97-0372-4083-aeb2-0a298ddc434e" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_4d6eb6bc-7fd8-4333-9966-b9cbac1df49b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1_34084df2-16ce-47a8-9909-a9b5799dd1c5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_1024dc97-0372-4083-aeb2-0a298ddc434e" xlink:to="loc_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1_34084df2-16ce-47a8-9909-a9b5799dd1c5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_ace04ff4-4a3a-4594-8fcd-c274c8f3a50e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_1024dc97-0372-4083-aeb2-0a298ddc434e" xlink:to="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_ace04ff4-4a3a-4594-8fcd-c274c8f3a50e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfBusiness_6d810ac6-a41e-4953-b627-e2f5ed9a809a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfBusiness"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_1024dc97-0372-4083-aeb2-0a298ddc434e" xlink:to="loc_us-gaap_GainLossOnSaleOfBusiness_6d810ac6-a41e-4953-b627-e2f5ed9a809a" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_1cfcd7cc-9ada-46cf-9d80-8450e160219f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_1024dc97-0372-4083-aeb2-0a298ddc434e" xlink:to="loc_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_1cfcd7cc-9ada-46cf-9d80-8450e160219f" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue_49f139ea-acfd-4b23-9f97-f99015e87837" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_1024dc97-0372-4083-aeb2-0a298ddc434e" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue_49f139ea-acfd-4b23-9f97-f99015e87837" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationOperatingExpense_14e65fd1-462a-4943-a2e1-545e9700681b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationOperatingExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_1024dc97-0372-4083-aeb2-0a298ddc434e" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationOperatingExpense_14e65fd1-462a-4943-a2e1-545e9700681b" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax_632a49ae-00bd-4055-8410-fed36ba7c9af" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_1024dc97-0372-4083-aeb2-0a298ddc434e" xlink:to="loc_us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax_632a49ae-00bd-4055-8410-fed36ba7c9af" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries_a2bdcb71-6ffd-48b4-8133-70f3db6a320a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_1024dc97-0372-4083-aeb2-0a298ddc434e" xlink:to="loc_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries_a2bdcb71-6ffd-48b4-8133-70f3db6a320a" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag_8414ecdc-f4a3-4a15-a1db-79d54bd24d1b" xlink:href="rock-20231231.xsd#rock_DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_1024dc97-0372-4083-aeb2-0a298ddc434e" xlink:to="loc_rock_DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag_8414ecdc-f4a3-4a15-a1db-79d54bd24d1b" xlink:type="arc" order="9"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsScheduleOfAssetImpairmentChargesRelatedToRestructuringActivitiesDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#ExitActivityCostsandAssetImpairmentsScheduleOfAssetImpairmentChargesRelatedToRestructuringActivitiesDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsScheduleOfAssetImpairmentChargesRelatedToRestructuringActivitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems_1caf2502-9552-43e8-b92a-e1be99fc8654" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCostAndReserveLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_4e64e738-d60f-4199-888e-43a53571e016" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_1caf2502-9552-43e8-b92a-e1be99fc8654" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_4e64e738-d60f-4199-888e-43a53571e016" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_5c377ca3-0641-4047-b088-c9c32fda711f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_4e64e738-d60f-4199-888e-43a53571e016" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_5c377ca3-0641-4047-b088-c9c32fda711f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_5c377ca3-0641-4047-b088-c9c32fda711f_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_5c377ca3-0641-4047-b088-c9c32fda711f" xlink:to="loc_us-gaap_SegmentDomain_5c377ca3-0641-4047-b088-c9c32fda711f_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_5dbfdb46-fc2e-4210-a73a-520ecbb1a00a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_5c377ca3-0641-4047-b088-c9c32fda711f" xlink:to="loc_us-gaap_SegmentDomain_5dbfdb46-fc2e-4210-a73a-520ecbb1a00a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewablesMember_accaca7a-2c40-4c8c-afab-93bed73696bf" xlink:href="rock-20231231.xsd#rock_RenewablesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_5dbfdb46-fc2e-4210-a73a-520ecbb1a00a" xlink:to="loc_rock_RenewablesMember_accaca7a-2c40-4c8c-afab-93bed73696bf" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialMember_2c0e905b-9b39-4d97-aa9b-eaf3f4fd058e" xlink:href="rock-20231231.xsd#rock_ResidentialMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_5dbfdb46-fc2e-4210-a73a-520ecbb1a00a" xlink:to="loc_rock_ResidentialMember_2c0e905b-9b39-4d97-aa9b-eaf3f4fd058e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember_6030b759-e115-4dde-8af3-05d0d7ed0acd" xlink:href="rock-20231231.xsd#rock_InfrastructureMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_5dbfdb46-fc2e-4210-a73a-520ecbb1a00a" xlink:to="loc_rock_InfrastructureMember_6030b759-e115-4dde-8af3-05d0d7ed0acd" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AgtechMember_0308c06a-97ae-4f5a-b8a7-5fef76115ea7" xlink:href="rock-20231231.xsd#rock_AgtechMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_5dbfdb46-fc2e-4210-a73a-520ecbb1a00a" xlink:to="loc_rock_AgtechMember_0308c06a-97ae-4f5a-b8a7-5fef76115ea7" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_1495858a-affe-42a8-9316-09e14d5b0fb5" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_4e64e738-d60f-4199-888e-43a53571e016" xlink:to="loc_srt_ConsolidationItemsAxis_1495858a-affe-42a8-9316-09e14d5b0fb5" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_1495858a-affe-42a8-9316-09e14d5b0fb5_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ConsolidationItemsAxis_1495858a-affe-42a8-9316-09e14d5b0fb5" xlink:to="loc_srt_ConsolidationItemsDomain_1495858a-affe-42a8-9316-09e14d5b0fb5_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_1c26d66e-abb4-4d62-8806-c962d3de4e52" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ConsolidationItemsAxis_1495858a-affe-42a8-9316-09e14d5b0fb5" xlink:to="loc_srt_ConsolidationItemsDomain_1c26d66e-abb4-4d62-8806-c962d3de4e52" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_4d936b9e-343a-4c9b-944e-dc181afdd1d0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_1c26d66e-abb4-4d62-8806-c962d3de4e52" xlink:to="loc_us-gaap_OperatingSegmentsMember_4d936b9e-343a-4c9b-944e-dc181afdd1d0" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember_e14e914e-5b80-412d-9921-0db40d14682c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_1c26d66e-abb4-4d62-8806-c962d3de4e52" xlink:to="loc_us-gaap_CorporateNonSegmentMember_e14e914e-5b80-412d-9921-0db40d14682c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessExitCosts1_a5a08985-b15d-4fb5-b8c7-04e30deb2e9d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessExitCosts1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_1caf2502-9552-43e8-b92a-e1be99fc8654" xlink:to="loc_us-gaap_BusinessExitCosts1_a5a08985-b15d-4fb5-b8c7-04e30deb2e9d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringSettlementAndImpairmentProvisions_a57023f4-02b2-417d-bd5f-ec5d3bebc8c1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringSettlementAndImpairmentProvisions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_1caf2502-9552-43e8-b92a-e1be99fc8654" xlink:to="loc_us-gaap_RestructuringSettlementAndImpairmentProvisions_a57023f4-02b2-417d-bd5f-ec5d3bebc8c1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCharges_fe29091a-6309-4515-ab93-6eb7bb85e87f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCharges"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_1caf2502-9552-43e8-b92a-e1be99fc8654" xlink:to="loc_us-gaap_RestructuringCharges_fe29091a-6309-4515-ab93-6eb7bb85e87f" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryOfExitActivityCostsAndAssetImpairmentsRecordedintheConsolidatedStatementsofOperationsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#ExitActivityCostsandAssetImpairmentsSummaryOfExitActivityCostsAndAssetImpairmentsRecordedintheConsolidatedStatementsofOperationsDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryOfExitActivityCostsAndAssetImpairmentsRecordedintheConsolidatedStatementsofOperationsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems_fc577a81-ec33-440b-973d-7d37957aef93" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCostAndReserveLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_24bb2500-a9a1-4d9e-8de7-ee815334d617" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_fc577a81-ec33-440b-973d-7d37957aef93" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_24bb2500-a9a1-4d9e-8de7-ee815334d617" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveAxis_e2145453-6033-40f2-8b7b-a3509f165b14" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCostAndReserveAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_24bb2500-a9a1-4d9e-8de7-ee815334d617" xlink:to="loc_us-gaap_RestructuringCostAndReserveAxis_e2145453-6033-40f2-8b7b-a3509f165b14" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain_e2145453-6033-40f2-8b7b-a3509f165b14_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfRestructuringDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RestructuringCostAndReserveAxis_e2145453-6033-40f2-8b7b-a3509f165b14" xlink:to="loc_us-gaap_TypeOfRestructuringDomain_e2145453-6033-40f2-8b7b-a3509f165b14_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain_0c94234f-c9ad-4c88-82f3-81fb0f0800e3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfRestructuringDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RestructuringCostAndReserveAxis_e2145453-6033-40f2-8b7b-a3509f165b14" xlink:to="loc_us-gaap_TypeOfRestructuringDomain_0c94234f-c9ad-4c88-82f3-81fb0f0800e3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_ccf390fa-dd06-41dc-9803-c7806e72978c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_0c94234f-c9ad-4c88-82f3-81fb0f0800e3" xlink:to="loc_us-gaap_CostOfSalesMember_ccf390fa-dd06-41dc-9803-c7806e72978c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SellingGeneralAndAdministrativeExpenseMember_7a41adfd-ac72-4a37-9144-da5112a340ff" xlink:href="rock-20231231.xsd#rock_SellingGeneralAndAdministrativeExpenseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_0c94234f-c9ad-4c88-82f3-81fb0f0800e3" xlink:to="loc_rock_SellingGeneralAndAdministrativeExpenseMember_7a41adfd-ac72-4a37-9144-da5112a340ff" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCharges_71ec9402-7c1f-4b1b-add6-b86489742414" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCharges"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_fc577a81-ec33-440b-973d-7d37957aef93" xlink:to="loc_us-gaap_RestructuringCharges_71ec9402-7c1f-4b1b-add6-b86489742414" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#IncomeTaxesBenefitofProvisionforIncomeTaxesDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxContingencyLineItems_18cd1697-cd6a-4b42-8549-c4c6ea2d14fb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxContingencyTable_a7979e3f-e0a7-471d-8147-39d6281d6b6a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_18cd1697-cd6a-4b42-8549-c4c6ea2d14fb" xlink:to="loc_us-gaap_IncomeTaxContingencyTable_a7979e3f-e0a7-471d-8147-39d6281d6b6a" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOperatingActivitiesSegmentAxis_824c0d56-8929-4d14-9474-3c8a81a262a5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOperatingActivitiesSegmentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_a7979e3f-e0a7-471d-8147-39d6281d6b6a" xlink:to="loc_us-gaap_StatementOperatingActivitiesSegmentAxis_824c0d56-8929-4d14-9474-3c8a81a262a5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentOperatingActivitiesDomain_824c0d56-8929-4d14-9474-3c8a81a262a5_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentOperatingActivitiesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementOperatingActivitiesSegmentAxis_824c0d56-8929-4d14-9474-3c8a81a262a5" xlink:to="loc_us-gaap_SegmentOperatingActivitiesDomain_824c0d56-8929-4d14-9474-3c8a81a262a5_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentOperatingActivitiesDomain_98d32941-2485-4413-9eee-e366a7a5c1d9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentOperatingActivitiesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementOperatingActivitiesSegmentAxis_824c0d56-8929-4d14-9474-3c8a81a262a5" xlink:to="loc_us-gaap_SegmentOperatingActivitiesDomain_98d32941-2485-4413-9eee-e366a7a5c1d9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentContinuingOperationsMember_18350396-c0ef-469c-8126-c1c2d8c49ca7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentContinuingOperationsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentOperatingActivitiesDomain_98d32941-2485-4413-9eee-e366a7a5c1d9" xlink:to="loc_us-gaap_SegmentContinuingOperationsMember_18350396-c0ef-469c-8126-c1c2d8c49ca7" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_8adfd833-5fef-4f14-a655-d2bdcf900e68" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_18cd1697-cd6a-4b42-8549-c4c6ea2d14fb" xlink:to="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_8adfd833-5fef-4f14-a655-d2bdcf900e68" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentFederalTaxExpenseBenefit_3876fecc-7068-4198-9eb1-0fa8af7157f4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_8adfd833-5fef-4f14-a655-d2bdcf900e68" xlink:to="loc_us-gaap_CurrentFederalTaxExpenseBenefit_3876fecc-7068-4198-9eb1-0fa8af7157f4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_786355d0-2540-49ae-87e2-4baa9ae30109" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_8adfd833-5fef-4f14-a655-d2bdcf900e68" xlink:to="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_786355d0-2540-49ae-87e2-4baa9ae30109" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentForeignTaxExpenseBenefit_59b24311-35f8-4492-86f8-5e295724251a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentForeignTaxExpenseBenefit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_8adfd833-5fef-4f14-a655-d2bdcf900e68" xlink:to="loc_us-gaap_CurrentForeignTaxExpenseBenefit_59b24311-35f8-4492-86f8-5e295724251a" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_7a06b436-819c-4e24-8e94-222bcc24e9f8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_8adfd833-5fef-4f14-a655-d2bdcf900e68" xlink:to="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_7a06b436-819c-4e24-8e94-222bcc24e9f8" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_3d819d9a-9b40-4f30-93d5-a5eb6e061761" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_18cd1697-cd6a-4b42-8549-c4c6ea2d14fb" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_3d819d9a-9b40-4f30-93d5-a5eb6e061761" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_106bbb6d-abe3-465a-b9c8-89d6f9e6311f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_3d819d9a-9b40-4f30-93d5-a5eb6e061761" xlink:to="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_106bbb6d-abe3-465a-b9c8-89d6f9e6311f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_e383f86b-8688-4a76-a9db-6d827fb41123" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_3d819d9a-9b40-4f30-93d5-a5eb6e061761" xlink:to="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_e383f86b-8688-4a76-a9db-6d827fb41123" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_fb79ecff-2305-48d7-b048-01d6818fffd1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_3d819d9a-9b40-4f30-93d5-a5eb6e061761" xlink:to="loc_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_fb79ecff-2305-48d7-b048-01d6818fffd1" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_2e360ab1-d511-4e28-92cf-eba581399a6d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_3d819d9a-9b40-4f30-93d5-a5eb6e061761" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_2e360ab1-d511-4e28-92cf-eba581399a6d" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_340e2c40-de63-45ac-a577-c750f8b890be" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_18cd1697-cd6a-4b42-8549-c4c6ea2d14fb" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_340e2c40-de63-45ac-a577-c750f8b890be" xlink:type="arc" order="2"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#IncomeTaxesNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsLineItems_e640cd3a-e6f7-436f-ace9-20e03ee0df61" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsTable_f34829bf-a45f-4c03-b2d4-68381754c0cd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e640cd3a-e6f7-436f-ace9-20e03ee0df61" xlink:to="loc_us-gaap_OperatingLossCarryforwardsTable_f34829bf-a45f-4c03-b2d4-68381754c0cd" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_70253ee0-f797-4a80-882b-4ab789de1360" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable_f34829bf-a45f-4c03-b2d4-68381754c0cd" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_70253ee0-f797-4a80-882b-4ab789de1360" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_70253ee0-f797-4a80-882b-4ab789de1360_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_70253ee0-f797-4a80-882b-4ab789de1360" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_70253ee0-f797-4a80-882b-4ab789de1360_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_32afd428-0fd9-4790-a8ef-47233da739e2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_70253ee0-f797-4a80-882b-4ab789de1360" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_32afd428-0fd9-4790-a8ef-47233da739e2" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticCountryMember_c565d206-e5f2-4b90-a1b5-52eb438703f6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DomesticCountryMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_32afd428-0fd9-4790-a8ef-47233da739e2" xlink:to="loc_us-gaap_DomesticCountryMember_c565d206-e5f2-4b90-a1b5-52eb438703f6" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StateAndLocalJurisdictionMember_07eb2492-8674-4824-8d00-c234eb27ebea" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StateAndLocalJurisdictionMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_32afd428-0fd9-4790-a8ef-47233da739e2" xlink:to="loc_us-gaap_StateAndLocalJurisdictionMember_07eb2492-8674-4824-8d00-c234eb27ebea" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCountryMember_1086616d-02bc-4f20-b79c-f14530fe639a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCountryMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_32afd428-0fd9-4790-a8ef-47233da739e2" xlink:to="loc_us-gaap_ForeignCountryMember_1086616d-02bc-4f20-b79c-f14530fe639a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_a2c2ad63-7f91-4465-98e6-bfa751c0321c" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable_f34829bf-a45f-4c03-b2d4-68381754c0cd" xlink:to="loc_srt_RangeAxis_a2c2ad63-7f91-4465-98e6-bfa751c0321c" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_a2c2ad63-7f91-4465-98e6-bfa751c0321c_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_a2c2ad63-7f91-4465-98e6-bfa751c0321c" xlink:to="loc_srt_RangeMember_a2c2ad63-7f91-4465-98e6-bfa751c0321c_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_e1867144-82d9-4765-8c23-4255d4c87088" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_a2c2ad63-7f91-4465-98e6-bfa751c0321c" xlink:to="loc_srt_RangeMember_e1867144-82d9-4765-8c23-4255d4c87088" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_bd14872a-d1f9-465c-9ccb-cd69669626f5" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_e1867144-82d9-4765-8c23-4255d4c87088" xlink:to="loc_srt_MinimumMember_bd14872a-d1f9-465c-9ccb-cd69669626f5" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_5c619b60-d5c8-47a4-8850-ae9065ecc8a5" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_e1867144-82d9-4765-8c23-4255d4c87088" xlink:to="loc_srt_MaximumMember_5c619b60-d5c8-47a4-8850-ae9065ecc8a5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_e298d464-5c51-4e6c-bb70-63fdcd1150a8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e640cd3a-e6f7-436f-ace9-20e03ee0df61" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_e298d464-5c51-4e6c-bb70-63fdcd1150a8" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwards_6acd33c0-5502-4a76-8846-09c68a6840cf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e640cd3a-e6f7-436f-ace9-20e03ee0df61" xlink:to="loc_us-gaap_OperatingLossCarryforwards_6acd33c0-5502-4a76-8846-09c68a6840cf" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_72129f40-6172-427f-a7dd-1fa2f570ca74" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e640cd3a-e6f7-436f-ace9-20e03ee0df61" xlink:to="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_72129f40-6172-427f-a7dd-1fa2f570ca74" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesUndistributedForeignEarnings_d4e512ab-10fc-4579-acaf-e3ad0227b3d9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesUndistributedForeignEarnings"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e640cd3a-e6f7-436f-ace9-20e03ee0df61" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesUndistributedForeignEarnings_d4e512ab-10fc-4579-acaf-e3ad0227b3d9" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_IncomeTaxStatueOfLimitationsExpirationPeriod_139f8bd2-9ccd-4d05-bb88-1905fe15545a" xlink:href="rock-20231231.xsd#rock_IncomeTaxStatueOfLimitationsExpirationPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e640cd3a-e6f7-436f-ace9-20e03ee0df61" xlink:to="loc_rock_IncomeTaxStatueOfLimitationsExpirationPeriod_139f8bd2-9ccd-4d05-bb88-1905fe15545a" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_CapitalLossCarryforward_9de6c1c7-770b-4994-9c95-6c4b7e5d3646" xlink:href="rock-20231231.xsd#rock_CapitalLossCarryforward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e640cd3a-e6f7-436f-ace9-20e03ee0df61" xlink:to="loc_rock_CapitalLossCarryforward_9de6c1c7-770b-4994-9c95-6c4b7e5d3646" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_CapitalLossCarryforwardAmendedReturns_4bf4c400-98b3-4494-9381-87bab7e8f103" xlink:href="rock-20231231.xsd#rock_CapitalLossCarryforwardAmendedReturns"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e640cd3a-e6f7-436f-ace9-20e03ee0df61" xlink:to="loc_rock_CapitalLossCarryforwardAmendedReturns_4bf4c400-98b3-4494-9381-87bab7e8f103" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsCapitalLossCarryforwards_e4b88adb-a154-4e44-a39e-ea5bfc9f86f0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsCapitalLossCarryforwards"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e640cd3a-e6f7-436f-ace9-20e03ee0df61" xlink:to="loc_us-gaap_DeferredTaxAssetsCapitalLossCarryforwards_e4b88adb-a154-4e44-a39e-ea5bfc9f86f0" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_bdbf4744-e877-4003-88fc-a95dfdbc7bb9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e640cd3a-e6f7-436f-ace9-20e03ee0df61" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_bdbf4744-e877-4003-88fc-a95dfdbc7bb9" xlink:type="arc" order="8"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/IncomeTaxesSummaryofValuationAllowanceDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#IncomeTaxesSummaryofValuationAllowanceDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/IncomeTaxesSummaryofValuationAllowanceDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems_5b3f00e9-d06e-4a52-a016-858bbae30648" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_f39b1869-c198-4433-99de-4c803c502056" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems_5b3f00e9-d06e-4a52-a016-858bbae30648" xlink:to="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_f39b1869-c198-4433-99de-4c803c502056" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_f0265932-fd0c-4651-85ad-e2a2fe94119e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_f39b1869-c198-4433-99de-4c803c502056" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_f0265932-fd0c-4651-85ad-e2a2fe94119e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain_f0265932-fd0c-4651-85ad-e2a2fe94119e_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_f0265932-fd0c-4651-85ad-e2a2fe94119e" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDomain_f0265932-fd0c-4651-85ad-e2a2fe94119e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain_f90e8375-1042-4d71-87ed-7dd619e4f4c8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_f0265932-fd0c-4651-85ad-e2a2fe94119e" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDomain_f90e8375-1042-4d71-87ed-7dd619e4f4c8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_dc7569b2-71ff-4aed-a8d4-917c7fcc4145" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain_f90e8375-1042-4d71-87ed-7dd619e4f4c8" xlink:to="loc_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_dc7569b2-71ff-4aed-a8d4-917c7fcc4145" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_6ab16629-058f-48f0-bff7-646cdb6fd4be" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems_5b3f00e9-d06e-4a52-a016-858bbae30648" xlink:to="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_6ab16629-058f-48f0-bff7-646cdb6fd4be" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance_38e82b07-ad24-4c5e-89ea-31319e2bc58a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_6ab16629-058f-48f0-bff7-646cdb6fd4be" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesBalance_38e82b07-ad24-4c5e-89ea-31319e2bc58a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_52e9c5ae-1dd8-45ba-b447-818cbe26107a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_6ab16629-058f-48f0-bff7-646cdb6fd4be" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_52e9c5ae-1dd8-45ba-b447-818cbe26107a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDeductions_7f01b842-21b0-4dfd-bdb3-c3de072ba045" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDeductions"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_6ab16629-058f-48f0-bff7-646cdb6fd4be" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDeductions_7f01b842-21b0-4dfd-bdb3-c3de072ba045" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesAdjustments_ed2b4f98-53fb-4861-8322-7c51ad0d0ae3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesAdjustments"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_6ab16629-058f-48f0-bff7-646cdb6fd4be" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesAdjustments_ed2b4f98-53fb-4861-8322-7c51ad0d0ae3" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance_0e56cdca-1141-4d9f-9b7d-55b23a3a0c3c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EarningsperShareNarrativeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#EarningsperShareNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/EarningsperShareNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_bbdfe770-152d-4613-80d7-f9b4d8b0579f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_18a29659-f0e9-4c32-81ed-df91e9c59d70" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_bbdfe770-152d-4613-80d7-f9b4d8b0579f" xlink:to="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_18a29659-f0e9-4c32-81ed-df91e9c59d70" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_8fb2eafc-c13a-4556-adf3-c32a227dce66" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_18a29659-f0e9-4c32-81ed-df91e9c59d70" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_8fb2eafc-c13a-4556-adf3-c32a227dce66" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_8fb2eafc-c13a-4556-adf3-c32a227dce66_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_8fb2eafc-c13a-4556-adf3-c32a227dce66" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_8fb2eafc-c13a-4556-adf3-c32a227dce66_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_86e97376-ba3d-49c3-a07d-60dd90f88853" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_8fb2eafc-c13a-4556-adf3-c32a227dce66" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_86e97376-ba3d-49c3-a07d-60dd90f88853" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_f9c92218-10cc-44b8-b0be-01d9d82c4a15" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_86e97376-ba3d-49c3-a07d-60dd90f88853" xlink:to="loc_us-gaap_CommonStockMember_f9c92218-10cc-44b8-b0be-01d9d82c4a15" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_d31e282d-2191-4520-9cde-42ef9701e776" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_bbdfe770-152d-4613-80d7-f9b4d8b0579f" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_d31e282d-2191-4520-9cde-42ef9701e776" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/LeasesNarrativeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#LeasesNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/LeasesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionLineItems_ec5cdaee-40f9-4953-93ba-48f41f862f4a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionTable_8f281c19-883d-4008-a95e-f48142993d53" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_ec5cdaee-40f9-4953-93ba-48f41f862f4a" xlink:to="loc_us-gaap_LesseeLeaseDescriptionTable_8f281c19-883d-4008-a95e-f48142993d53" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_167923f9-8b54-4159-9b46-0c88cd0be967" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_8f281c19-883d-4008-a95e-f48142993d53" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_167923f9-8b54-4159-9b46-0c88cd0be967" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_167923f9-8b54-4159-9b46-0c88cd0be967_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_167923f9-8b54-4159-9b46-0c88cd0be967" xlink:to="loc_us-gaap_EquityComponentDomain_167923f9-8b54-4159-9b46-0c88cd0be967_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_f4c04e2b-e19e-43b4-9a7c-632c5efebe24" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_167923f9-8b54-4159-9b46-0c88cd0be967" xlink:to="loc_us-gaap_EquityComponentDomain_f4c04e2b-e19e-43b4-9a7c-632c5efebe24" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_234b749d-11ea-4a56-906c-9fd6008a7156" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_f4c04e2b-e19e-43b4-9a7c-632c5efebe24" xlink:to="loc_us-gaap_RetainedEarningsMember_234b749d-11ea-4a56-906c-9fd6008a7156" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_4e2250ce-81dc-4143-9ac5-24071235e810" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_8f281c19-883d-4008-a95e-f48142993d53" xlink:to="loc_srt_RangeAxis_4e2250ce-81dc-4143-9ac5-24071235e810" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_4e2250ce-81dc-4143-9ac5-24071235e810_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_4e2250ce-81dc-4143-9ac5-24071235e810" xlink:to="loc_srt_RangeMember_4e2250ce-81dc-4143-9ac5-24071235e810_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_62ed0917-93e4-49a5-ab79-58ddb02c7d78" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_4e2250ce-81dc-4143-9ac5-24071235e810" xlink:to="loc_srt_RangeMember_62ed0917-93e4-49a5-ab79-58ddb02c7d78" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_9cd0208f-6fb0-4080-b263-d53804714718" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_62ed0917-93e4-49a5-ab79-58ddb02c7d78" xlink:to="loc_srt_MinimumMember_9cd0208f-6fb0-4080-b263-d53804714718" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_ccb1837d-0400-4a51-96fa-04acf974efc9" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_62ed0917-93e4-49a5-ab79-58ddb02c7d78" xlink:to="loc_srt_MaximumMember_ccb1837d-0400-4a51-96fa-04acf974efc9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseRenewalTerm_c2cfed22-7f38-4a95-82bc-520163b4efec" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseRenewalTerm"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_ec5cdaee-40f9-4953-93ba-48f41f862f4a" xlink:to="loc_us-gaap_LesseeOperatingLeaseRenewalTerm_c2cfed22-7f38-4a95-82bc-520163b4efec" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_4e85e0c8-be8b-400c-a13c-32a844788db3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_ec5cdaee-40f9-4953-93ba-48f41f862f4a" xlink:to="loc_us-gaap_StockholdersEquity_4e85e0c8-be8b-400c-a13c-32a844788db3" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_fda66247-2de6-4dbd-832b-3e6e48682f75" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable_5ef6203e-2b44-4585-839c-e4c88a14d41a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_fda66247-2de6-4dbd-832b-3e6e48682f75" xlink:to="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable_5ef6203e-2b44-4585-839c-e4c88a14d41a" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_9412af7e-dbd0-41ee-b2fe-4f0bdd90baf4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable_5ef6203e-2b44-4585-839c-e4c88a14d41a" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_9412af7e-dbd0-41ee-b2fe-4f0bdd90baf4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_9412af7e-dbd0-41ee-b2fe-4f0bdd90baf4_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_9412af7e-dbd0-41ee-b2fe-4f0bdd90baf4" xlink:to="loc_us-gaap_SegmentDomain_9412af7e-dbd0-41ee-b2fe-4f0bdd90baf4_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_5688c879-dbb6-4ead-8e5c-d14a200a96e0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_9412af7e-dbd0-41ee-b2fe-4f0bdd90baf4" xlink:to="loc_us-gaap_SegmentDomain_5688c879-dbb6-4ead-8e5c-d14a200a96e0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewablesMember_4fb82b1f-67ac-4ce6-8008-4915f09a64d8" xlink:href="rock-20231231.xsd#rock_RenewablesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_5688c879-dbb6-4ead-8e5c-d14a200a96e0" xlink:to="loc_rock_RenewablesMember_4fb82b1f-67ac-4ce6-8008-4915f09a64d8" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialMember_c55798f8-2d46-4cc7-a5ff-45bf0f10a70d" xlink:href="rock-20231231.xsd#rock_ResidentialMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_5688c879-dbb6-4ead-8e5c-d14a200a96e0" xlink:to="loc_rock_ResidentialMember_c55798f8-2d46-4cc7-a5ff-45bf0f10a70d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AgtechMember_119b36fd-61dc-4cf3-a6db-524520002dcb" xlink:href="rock-20231231.xsd#rock_AgtechMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_5688c879-dbb6-4ead-8e5c-d14a200a96e0" xlink:to="loc_rock_AgtechMember_119b36fd-61dc-4cf3-a6db-524520002dcb" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember_7fcda087-52ef-43d5-b24d-48340dae12fe" xlink:href="rock-20231231.xsd#rock_InfrastructureMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_5688c879-dbb6-4ead-8e5c-d14a200a96e0" xlink:to="loc_rock_InfrastructureMember_7fcda087-52ef-43d5-b24d-48340dae12fe" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_0210c990-b017-485f-bcf0-363e6d31dfc7" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable_5ef6203e-2b44-4585-839c-e4c88a14d41a" xlink:to="loc_srt_ConsolidationItemsAxis_0210c990-b017-485f-bcf0-363e6d31dfc7" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_0210c990-b017-485f-bcf0-363e6d31dfc7_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ConsolidationItemsAxis_0210c990-b017-485f-bcf0-363e6d31dfc7" xlink:to="loc_srt_ConsolidationItemsDomain_0210c990-b017-485f-bcf0-363e6d31dfc7_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_ec4ef487-b9cf-4ac0-94df-61f23666f238" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ConsolidationItemsAxis_0210c990-b017-485f-bcf0-363e6d31dfc7" xlink:to="loc_srt_ConsolidationItemsDomain_ec4ef487-b9cf-4ac0-94df-61f23666f238" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_beb5def5-7787-472e-b503-b40917d09a14" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_ec4ef487-b9cf-4ac0-94df-61f23666f238" xlink:to="loc_us-gaap_OperatingSegmentsMember_beb5def5-7787-472e-b503-b40917d09a14" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember_bbb7ec3f-98db-4374-9ddf-267df5f00375" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_ec4ef487-b9cf-4ac0-94df-61f23666f238" xlink:to="loc_us-gaap_CorporateNonSegmentMember_bbb7ec3f-98db-4374-9ddf-267df5f00375" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_1e2f3c7b-7a02-4dff-adc6-fccd5b8ac4dc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_fda66247-2de6-4dbd-832b-3e6e48682f75" xlink:to="loc_us-gaap_Revenues_1e2f3c7b-7a02-4dff-adc6-fccd5b8ac4dc" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_40fc3fc8-7454-43fa-a89d-f35a4eaf0b74" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_fda66247-2de6-4dbd-832b-3e6e48682f75" xlink:to="loc_us-gaap_OperatingIncomeLoss_40fc3fc8-7454-43fa-a89d-f35a4eaf0b74" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization_31219350-b735-480e-86f9-c8be106db493" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_fda66247-2de6-4dbd-832b-3e6e48682f75" xlink:to="loc_us-gaap_DepreciationDepletionAndAmortization_31219350-b735-480e-86f9-c8be106db493" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_25ac6119-15fb-4aa5-ac9c-14dc8bf3e816" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_fda66247-2de6-4dbd-832b-3e6e48682f75" xlink:to="loc_us-gaap_Assets_25ac6119-15fb-4aa5-ac9c-14dc8bf3e816" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_1fb76588-2f39-4bf0-a5e5-0a863230ec3b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_fda66247-2de6-4dbd-832b-3e6e48682f75" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_1fb76588-2f39-4bf0-a5e5-0a863230ec3b" xlink:type="arc" order="4"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/SegmentInformationNetSalesbyContractTypeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#SegmentInformationNetSalesbyContractTypeDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/SegmentInformationNetSalesbyContractTypeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_361b969e-d7c8-47b5-a5be-75ff020060e2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_c31b3bac-7a5f-48d8-b2f2-04544fc19178" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_361b969e-d7c8-47b5-a5be-75ff020060e2" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_c31b3bac-7a5f-48d8-b2f2-04544fc19178" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_9648d05e-54d4-4aa0-a4a3-21be6bae3f81" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_c31b3bac-7a5f-48d8-b2f2-04544fc19178" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_9648d05e-54d4-4aa0-a4a3-21be6bae3f81" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_9648d05e-54d4-4aa0-a4a3-21be6bae3f81_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_9648d05e-54d4-4aa0-a4a3-21be6bae3f81" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_9648d05e-54d4-4aa0-a4a3-21be6bae3f81_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_dad33429-acec-4602-ab46-a05fec1b2e39" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_9648d05e-54d4-4aa0-a4a3-21be6bae3f81" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_dad33429-acec-4602-ab46-a05fec1b2e39" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredAtPointInTimeMember_1c7cfdea-abc8-458f-a8f1-de8bcfdaf9e3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransferredAtPointInTimeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_dad33429-acec-4602-ab46-a05fec1b2e39" xlink:to="loc_us-gaap_TransferredAtPointInTimeMember_1c7cfdea-abc8-458f-a8f1-de8bcfdaf9e3" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredOverTimeMember_ec06e96b-cab7-4fbb-861a-f1b825c7a191" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransferredOverTimeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_dad33429-acec-4602-ab46-a05fec1b2e39" xlink:to="loc_us-gaap_TransferredOverTimeMember_ec06e96b-cab7-4fbb-861a-f1b825c7a191" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_e9b0f20e-b1e3-417f-8be5-15afce40f9fe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_c31b3bac-7a5f-48d8-b2f2-04544fc19178" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_e9b0f20e-b1e3-417f-8be5-15afce40f9fe" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_e9b0f20e-b1e3-417f-8be5-15afce40f9fe_default" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_e9b0f20e-b1e3-417f-8be5-15afce40f9fe" xlink:to="loc_us-gaap_SegmentDomain_e9b0f20e-b1e3-417f-8be5-15afce40f9fe_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_5570c403-8b06-4b24-993b-b639a1a74227" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_e9b0f20e-b1e3-417f-8be5-15afce40f9fe" xlink:to="loc_us-gaap_SegmentDomain_5570c403-8b06-4b24-993b-b639a1a74227" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewablesMember_95230315-299e-4eef-816b-a884a28b8355" xlink:href="rock-20231231.xsd#rock_RenewablesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_5570c403-8b06-4b24-993b-b639a1a74227" xlink:to="loc_rock_RenewablesMember_95230315-299e-4eef-816b-a884a28b8355" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialMember_02f04258-bba7-4cc6-a3a0-2d7392560f5b" xlink:href="rock-20231231.xsd#rock_ResidentialMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_5570c403-8b06-4b24-993b-b639a1a74227" xlink:to="loc_rock_ResidentialMember_02f04258-bba7-4cc6-a3a0-2d7392560f5b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AgtechMember_90c40635-8745-474c-9ad2-7dd6bf925bd0" xlink:href="rock-20231231.xsd#rock_AgtechMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_5570c403-8b06-4b24-993b-b639a1a74227" xlink:to="loc_rock_AgtechMember_90c40635-8745-474c-9ad2-7dd6bf925bd0" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember_0a1426d8-2542-4187-91a2-66e7896431e5" xlink:href="rock-20231231.xsd#rock_InfrastructureMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_5570c403-8b06-4b24-993b-b639a1a74227" xlink:to="loc_rock_InfrastructureMember_0a1426d8-2542-4187-91a2-66e7896431e5" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_3118be5e-8fb5-4a25-8fc3-7cf64dcaf53b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_361b969e-d7c8-47b5-a5be-75ff020060e2" xlink:to="loc_us-gaap_Revenues_3118be5e-8fb5-4a25-8fc3-7cf64dcaf53b" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/SegmentInformationNetSalesbyRegionorOriginandLongLivedAssetsbyRegionofDomicileDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#SegmentInformationNetSalesbyRegionorOriginandLongLivedAssetsbyRegionofDomicileDetails"/>
  <link:definitionLink xlink:role="http://www.gibraltar1.com/role/SegmentInformationNetSalesbyRegionorOriginandLongLivedAssetsbyRegionofDomicileDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_7bc2a35e-828c-414c-8c2d-f926ac3faef9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_110fa7cf-b9d6-4526-8d31-743dbf77847e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_7bc2a35e-828c-414c-8c2d-f926ac3faef9" xlink:to="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_110fa7cf-b9d6-4526-8d31-743dbf77847e" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis_ff0d9a13-2ccb-4773-97fa-7088a7620a76" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_110fa7cf-b9d6-4526-8d31-743dbf77847e" xlink:to="loc_srt_StatementGeographicalAxis_ff0d9a13-2ccb-4773-97fa-7088a7620a76" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_ff0d9a13-2ccb-4773-97fa-7088a7620a76_default" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_StatementGeographicalAxis_ff0d9a13-2ccb-4773-97fa-7088a7620a76" xlink:to="loc_srt_SegmentGeographicalDomain_ff0d9a13-2ccb-4773-97fa-7088a7620a76_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_a524d041-0e9e-4f0b-ac5a-d7a0dcce8c66" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_StatementGeographicalAxis_ff0d9a13-2ccb-4773-97fa-7088a7620a76" xlink:to="loc_srt_SegmentGeographicalDomain_a524d041-0e9e-4f0b-ac5a-d7a0dcce8c66" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NorthAmericaMember_5ec072b6-094e-420b-a824-06f6d4f6d69f" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NorthAmericaMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_a524d041-0e9e-4f0b-ac5a-d7a0dcce8c66" xlink:to="loc_srt_NorthAmericaMember_5ec072b6-094e-420b-a824-06f6d4f6d69f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_AsiaMember_b521fbc3-6f4a-4712-a518-ca5d4309d2d4" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_AsiaMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_a524d041-0e9e-4f0b-ac5a-d7a0dcce8c66" xlink:to="loc_srt_AsiaMember_b521fbc3-6f4a-4712-a518-ca5d4309d2d4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_ee65ef59-f397-4016-b8aa-e02c8cfcb13f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_7bc2a35e-828c-414c-8c2d-f926ac3faef9" xlink:to="loc_us-gaap_Revenues_ee65ef59-f397-4016-b8aa-e02c8cfcb13f" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncurrentAssets_1d5b9f31-99a6-4c6d-9d30-7c95bd667532" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncurrentAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_7bc2a35e-828c-414c-8c2d-f926ac3faef9" xlink:to="loc_us-gaap_NoncurrentAssets_1d5b9f31-99a6-4c6d-9d30-7c95bd667532" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" xlink:type="simple" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd#eedm"/>
  <link:definitionLink xlink:role="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetImpairment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetImpairment"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementAbstract" xlink:to="loc_us-gaap_GoodwillAndIntangibleAssetImpairment" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:type="arc" order="1"/>
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>12
<FILENAME>rock-20231231_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2024 Workiva-->
<!--r:f978b62b-0b5d-4525-9c9a-353eb8961492,g:e9e8e764-a5ea-4370-854e-7ce6a9aa54a1-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel"/>
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <link:label id="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved_26e33d04-943b-482c-a3bd-33d304121aa5_terseLabel_en-US" xlink:label="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares for which performance condition was not achieved (in shares)</link:label>
    <link:label id="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved_label_en-US" xlink:label="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Adjustments in Period, Performance Conditions Not Achieved</link:label>
    <link:label id="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved_documentation_en-US" xlink:label="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Adjustments in Period, Performance Conditions Not Achieved</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved" xlink:href="rock-20231231.xsd#rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved" xlink:to="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VariableRateDomain_006d9c34-ff06-4fde-b336-e08360b6f7b3_terseLabel_en-US" xlink:label="lab_us-gaap_VariableRateDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate [Domain]</link:label>
    <link:label id="lab_us-gaap_VariableRateDomain_label_en-US" xlink:label="lab_us-gaap_VariableRateDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VariableRateDomain" xlink:to="lab_us-gaap_VariableRateDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredChargesPolicyTextBlock_face3171-5a64-40aa-aa7d-59cd4b9202ea_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredChargesPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred charges</link:label>
    <link:label id="lab_us-gaap_DeferredChargesPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_DeferredChargesPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Charges, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredChargesPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredChargesPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredChargesPolicyTextBlock" xlink:to="lab_us-gaap_DeferredChargesPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityVoluntaryFilers_58e09f50-0283-40a4-927a-b2cb10cac451_terseLabel_en-US" xlink:label="lab_dei_EntityVoluntaryFilers" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Voluntary Filers</link:label>
    <link:label id="lab_dei_EntityVoluntaryFilers_label_en-US" xlink:label="lab_dei_EntityVoluntaryFilers" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Voluntary Filers</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityVoluntaryFilers" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityVoluntaryFilers" xlink:to="lab_dei_EntityVoluntaryFilers" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_57ccc738-5b64-43dd-9926-b9bb12b73597_verboseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Expenses</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Accrued Liabilities [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_e9a18c2e-0043-431e-9ef4-24881dedf3ec_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued expenses</link:label>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:to="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare_194bb843-bf69-40af-9ede-369449c88ee4_verboseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income from discontinued operations (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Discontinued Operations and Disposal of Discontinued Operations, Net of Tax, Per Diluted Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare" xlink:to="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RangeMember_f95eb8e7-ae89-46fb-8435-5033b634e0b3_terseLabel_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:label id="lab_srt_RangeMember_label_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeMember" xlink:to="lab_srt_RangeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryValuationReserves_c3a8707a-e0b9-437a-b70d-e7ae2333d92c_periodStartLabel_en-US" xlink:label="lab_us-gaap_InventoryValuationReserves" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_us-gaap_InventoryValuationReserves_786f4640-abde-488b-a957-5134f1412879_periodEndLabel_en-US" xlink:label="lab_us-gaap_InventoryValuationReserves" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance</link:label>
    <link:label id="lab_us-gaap_InventoryValuationReserves_label_en-US" xlink:label="lab_us-gaap_InventoryValuationReserves" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Valuation Reserves</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryValuationReserves" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryValuationReserves"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryValuationReserves" xlink:to="lab_us-gaap_InventoryValuationReserves" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_ca885a7d-4fb9-4268-9649-1afb26f9ae19_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum borrowing capacity under the revolving credit facility</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Maximum Borrowing Capacity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_6436c9ad-0f00-48ce-b66f-29de5803e094_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Changes in operating assets and liabilities net of effects from acquisitions:</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Operating Capital [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_9680d2f2-d52c-46a8-88fa-9331fac68695_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InterestIncomeOther_28bdf1b3-4a37-42d8-b44a-e5805b80656f_terseLabel_en-US" xlink:label="lab_us-gaap_InterestIncomeOther" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest income</link:label>
    <link:label id="lab_us-gaap_InterestIncomeOther_label_en-US" xlink:label="lab_us-gaap_InterestIncomeOther" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Income, Other</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeOther" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeOther"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestIncomeOther" xlink:to="lab_us-gaap_InterestIncomeOther" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638c328c-0bdf-4ecd-8430-676b4aa1103c_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_IndustrialBusinessSegmentMember_d791d657-131c-43bb-b8dd-20ade8c8cecd_terseLabel_en-US" xlink:label="lab_rock_IndustrialBusinessSegmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Industrial Business Segment</link:label>
    <link:label id="lab_rock_IndustrialBusinessSegmentMember_label_en-US" xlink:label="lab_rock_IndustrialBusinessSegmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Industrial Business Segment [Member]</link:label>
    <link:label id="lab_rock_IndustrialBusinessSegmentMember_documentation_en-US" xlink:label="lab_rock_IndustrialBusinessSegmentMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Industrial Business Segment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_IndustrialBusinessSegmentMember" xlink:href="rock-20231231.xsd#rock_IndustrialBusinessSegmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_IndustrialBusinessSegmentMember" xlink:to="lab_rock_IndustrialBusinessSegmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_86a6fcd4-9af0-4423-8df1-9351ce0072f5_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Remaining performance obligation expected timing of satisfaction</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_f79b441a-952e-471c-a64d-b13dca902696_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance stock units outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_cfddd9b2-285b-4d7a-8725-c16594b7dc85_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance at beginning of period (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_a4c8770b-5cbb-4082-9b99-50ca304f4aef_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance at end of period (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_InventoryValuationScrappedInventoryAndOtherAdjustments_49a929b9-8416-4921-8f7a-a1be0fe7da0d_terseLabel_en-US" xlink:label="lab_rock_InventoryValuationScrappedInventoryAndOtherAdjustments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Scrapped inventory and other adjustments</link:label>
    <link:label id="lab_rock_InventoryValuationScrappedInventoryAndOtherAdjustments_label_en-US" xlink:label="lab_rock_InventoryValuationScrappedInventoryAndOtherAdjustments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Valuation Scrapped Inventory And Other Adjustments</link:label>
    <link:label id="lab_rock_InventoryValuationScrappedInventoryAndOtherAdjustments_documentation_en-US" xlink:label="lab_rock_InventoryValuationScrappedInventoryAndOtherAdjustments" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory valuation scrapped inventory and other adjustments.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InventoryValuationScrappedInventoryAndOtherAdjustments" xlink:href="rock-20231231.xsd#rock_InventoryValuationScrappedInventoryAndOtherAdjustments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_InventoryValuationScrappedInventoryAndOtherAdjustments" xlink:to="lab_rock_InventoryValuationScrappedInventoryAndOtherAdjustments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_97d29f7a-568b-4c76-ab27-77eabaa597b9_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevolvingCreditFacilityMember_95c89e72-c3a5-4fe6-813a-369b4de4cab6_terseLabel_en-US" xlink:label="lab_us-gaap_RevolvingCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revolving Credit Facility</link:label>
    <link:label id="lab_us-gaap_RevolvingCreditFacilityMember_label_en-US" xlink:label="lab_us-gaap_RevolvingCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revolving Credit Facility [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevolvingCreditFacilityMember" xlink:to="lab_us-gaap_RevolvingCreditFacilityMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfNetFundedStatusTableTextBlock_937bed56-0057-4044-a284-2f09ac73bea0_verboseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfNetFundedStatusTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Changes in the Accumulated Postretirement Benefit Obligation</link:label>
    <link:label id="lab_us-gaap_ScheduleOfNetFundedStatusTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfNetFundedStatusTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Net Funded Status [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfNetFundedStatusTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfNetFundedStatusTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfNetFundedStatusTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfNetFundedStatusTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_ef83ca54-2c4f-44cc-9a14-a0da7c89754d_terseLabel_en-US" xlink:label="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effect of exchange rate changes on cash</link:label>
    <link:label id="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_label_en-US" xlink:label="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_A401kPlanMember_c58c2ae5-4294-46d9-b32d-8808d63ab905_terseLabel_en-US" xlink:label="lab_rock_A401kPlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">401(k) plan</link:label>
    <link:label id="lab_rock_A401kPlanMember_label_en-US" xlink:label="lab_rock_A401kPlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">401(k) Plan [Member]</link:label>
    <link:label id="lab_rock_A401kPlanMember_documentation_en-US" xlink:label="lab_rock_A401kPlanMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">401(k) Plan [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A401kPlanMember" xlink:href="rock-20231231.xsd#rock_A401kPlanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_A401kPlanMember" xlink:to="lab_rock_A401kPlanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_361ea912-7ddc-494c-9433-def87b4ec29e_verboseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred income taxes</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Tax Liabilities, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PerformanceSharesMember_d7fb6554-3ea2-4339-bcb7-d3a5f087fb70_terseLabel_en-US" xlink:label="lab_us-gaap_PerformanceSharesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance stock units (1)</link:label>
    <link:label id="lab_us-gaap_PerformanceSharesMember_label_en-US" xlink:label="lab_us-gaap_PerformanceSharesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Shares [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PerformanceSharesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PerformanceSharesMember" xlink:to="lab_us-gaap_PerformanceSharesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingAbstract_a906e1b1-0514-4770-a002-83c4e752a315_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting [Abstract]</link:label>
    <link:label id="lab_us-gaap_SegmentReportingAbstract_label_en-US" xlink:label="lab_us-gaap_SegmentReportingAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingAbstract" xlink:to="lab_us-gaap_SegmentReportingAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_565b1c04-3ef0-41c4-a3f7-3e2cefe8b5a5_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Payable, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableCurrent" xlink:to="lab_us-gaap_AccountsPayableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_label_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Discontinued Operations and Disposal Groups [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract" xlink:to="lab_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_8d539c54-ebc6-4384-880e-fc4a96f23733_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statutory rate</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_c568bc48-084c-47ae-b500-86a31d55a8dc_netLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statutory tax rate, percentage</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock_bc63f2fd-6928-48fd-a42b-34f4b5c2c92b_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary Of Activity Recorded Within The Allowance For Doubtful Accounts</link:label>
    <link:label id="lab_us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable, Current, Allowance for Credit Loss [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill_b46695d3-09ae-4c28-8210-c05f07fb4d02_terseLabel_en-US" xlink:label="lab_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment of indefinite-lived intangibles</link:label>
    <link:label id="lab_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill_label_en-US" xlink:label="lab_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment of Intangible Assets, Indefinite-Lived (Excluding Goodwill)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" xlink:to="lab_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_a8ca9650-cd71-46c8-9a60-451eb865866d_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options Exercisable</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConstructionInProgressGross_c883c509-4a24-4c9b-b361-1116e8ce58a9_verboseLabel_en-US" xlink:label="lab_us-gaap_ConstructionInProgressGross" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Construction in progress</link:label>
    <link:label id="lab_us-gaap_ConstructionInProgressGross_label_en-US" xlink:label="lab_us-gaap_ConstructionInProgressGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Construction in Progress, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConstructionInProgressGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConstructionInProgressGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConstructionInProgressGross" xlink:to="lab_us-gaap_ConstructionInProgressGross" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_InterestAdjustment_42b7eff1-878a-47bc-8ba0-a99bcf2d4de2_terseLabel_en-US" xlink:label="lab_rock_InterestAdjustment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other adjustments</link:label>
    <link:label id="lab_rock_InterestAdjustment_label_en-US" xlink:label="lab_rock_InterestAdjustment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Adjustment</link:label>
    <link:label id="lab_rock_InterestAdjustment_documentation_en-US" xlink:label="lab_rock_InterestAdjustment" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Adjustment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InterestAdjustment" xlink:href="rock-20231231.xsd#rock_InterestAdjustment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_InterestAdjustment" xlink:to="lab_rock_InterestAdjustment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueLineItems_5d8546a7-f3ae-4612-84c8-bfc324f59e68_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Line Items]</link:label>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueLineItems_label_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems" xlink:to="lab_us-gaap_DisaggregationOfRevenueLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_68c1773a-0e56-4b5e-81d5-d1cd1e8d0307_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2028</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_3ef9a079-94d7-4b0c-a9f6-f64e4b643e2a_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Sales by Region or Origin and Long-Lived Assets by Region of Domicile</link:label>
    <link:label id="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfCommonStock_7d54186d-c829-4a33-b98b-410016c55b71_verboseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net proceeds from issuance of common stock</link:label>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfCommonStock_label_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Issuance of Common Stock</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:to="lab_us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTable_1b70e7c2-90ac-4018-be82-038f3af0739f_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Goodwill [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Goodwill [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfGoodwillTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable" xlink:to="lab_us-gaap_ScheduleOfGoodwillTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrentAbstract_47476382-4686-412d-987e-00cac119bb68_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Liabilities, Current [Abstract]</link:label>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Liabilities, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract" xlink:to="lab_us-gaap_AccruedLiabilitiesCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_StatementGeographicalAxis_488081b8-d6f8-4f47-9dca-faae2a64cea3_terseLabel_en-US" xlink:label="lab_srt_StatementGeographicalAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:label id="lab_srt_StatementGeographicalAxis_label_en-US" xlink:label="lab_srt_StatementGeographicalAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_StatementGeographicalAxis" xlink:to="lab_srt_StatementGeographicalAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_IndefiniteLivedAccumulatedAmortization_e59d309e-9bd7-4f6e-b2ce-424b59843326_terseLabel_en-US" xlink:label="lab_rock_IndefiniteLivedAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Amortization, Indefinite-lived intangible assets</link:label>
    <link:label id="lab_rock_IndefiniteLivedAccumulatedAmortization_label_en-US" xlink:label="lab_rock_IndefiniteLivedAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Indefinite Lived Accumulated Amortization</link:label>
    <link:label id="lab_rock_IndefiniteLivedAccumulatedAmortization_documentation_en-US" xlink:label="lab_rock_IndefiniteLivedAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Indefinite-lived accumulated amortization.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_IndefiniteLivedAccumulatedAmortization" xlink:href="rock-20231231.xsd#rock_IndefiniteLivedAccumulatedAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_IndefiniteLivedAccumulatedAmortization" xlink:to="lab_rock_IndefiniteLivedAccumulatedAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_b9f67c3c-bc21-474a-a350-beca9865b391_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive_6455fc33-d46d-4d37-b77c-a53ad439b5b0_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2028</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Expected Future Benefit Payment, Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive" xlink:to="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_A2015PlanMember_6e06b9e1-182a-4e4f-85f8-cf9dd04c15f6_terseLabel_en-US" xlink:label="lab_rock_A2015PlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2015 Plan</link:label>
    <link:label id="lab_rock_A2015PlanMember_label_en-US" xlink:label="lab_rock_A2015PlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2015 Plan [Member]</link:label>
    <link:label id="lab_rock_A2015PlanMember_documentation_en-US" xlink:label="lab_rock_A2015PlanMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2015 Plan [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2015PlanMember" xlink:href="rock-20231231.xsd#rock_A2015PlanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_A2015PlanMember" xlink:to="lab_rock_A2015PlanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ImpairmentOfIntangibleAssetIndefiniteLivedExcludingGoodwillStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration_b3ff0839-8fd0-495d-af54-bce18d01465c_terseLabel_en-US" xlink:label="lab_us-gaap_ImpairmentOfIntangibleAssetIndefiniteLivedExcludingGoodwillStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment, Intangible Asset, Indefinite-Lived (Excluding Goodwill), Statement of Income or Comprehensive Income [Extensible Enumeration]</link:label>
    <link:label id="lab_us-gaap_ImpairmentOfIntangibleAssetIndefiniteLivedExcludingGoodwillStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration_label_en-US" xlink:label="lab_us-gaap_ImpairmentOfIntangibleAssetIndefiniteLivedExcludingGoodwillStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment, Intangible Asset, Indefinite-Lived (Excluding Goodwill), Statement of Income or Comprehensive Income [Extensible Enumeration]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentOfIntangibleAssetIndefiniteLivedExcludingGoodwillStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOfIntangibleAssetIndefiniteLivedExcludingGoodwillStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ImpairmentOfIntangibleAssetIndefiniteLivedExcludingGoodwillStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration" xlink:to="lab_us-gaap_ImpairmentOfIntangibleAssetIndefiniteLivedExcludingGoodwillStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeLeasesPolicyTextBlock_23c301e9-132f-4b93-80ad-f31ddbe9a9cc_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeLeasesPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases</link:label>
    <link:label id="lab_us-gaap_LesseeLeasesPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeLeasesPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Leases [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeasesPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeasesPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeLeasesPolicyTextBlock" xlink:to="lab_us-gaap_LesseeLeasesPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_86d393ef-bbef-47d9-a75f-4c2bf0414996_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, plant, and equipment</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MajorCustomersAxis_bad67c74-e15c-4a87-b817-3bcef57c44ea_terseLabel_en-US" xlink:label="lab_srt_MajorCustomersAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer [Axis]</link:label>
    <link:label id="lab_srt_MajorCustomersAxis_label_en-US" xlink:label="lab_srt_MajorCustomersAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MajorCustomersAxis" xlink:to="lab_srt_MajorCustomersAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations_503df9e9-1845-47bb-a3dd-513cffe41e12_terseLabel_en-US" xlink:label="lab_us-gaap_CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash used in investing activities of discontinued operations</link:label>
    <link:label id="lab_us-gaap_CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations_label_en-US" xlink:label="lab_us-gaap_CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash Provided by (Used in) Investing Activities, Discontinued Operations</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations" xlink:to="lab_us-gaap_CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_21a692fe-629c-45a4-8523-e3e599b5ea6f_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current liabilities:</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:to="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_59692ddd-b45f-496e-b76c-3a999b21b151_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">U.S. Federal</link:label>
    <link:label id="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Federal Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock_6fec0ac3-97b7-4c0f-b4d6-d5cfd7aeb05f_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Acquired Intangible Assets</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets Acquired as Part of Business Combination [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" xlink:to="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillImpairedAccumulatedImpairmentLoss_2c782adc-202f-43d0-9015-5f2d6a26f113_verboseLabel_en-US" xlink:label="lab_us-gaap_GoodwillImpairedAccumulatedImpairmentLoss" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated impairment losses</link:label>
    <link:label id="lab_us-gaap_GoodwillImpairedAccumulatedImpairmentLoss_label_en-US" xlink:label="lab_us-gaap_GoodwillImpairedAccumulatedImpairmentLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, Impaired, Accumulated Impairment Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillImpairedAccumulatedImpairmentLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillImpairedAccumulatedImpairmentLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillImpairedAccumulatedImpairmentLoss" xlink:to="lab_us-gaap_GoodwillImpairedAccumulatedImpairmentLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockParOrStatedValuePerShare_c2bcfa9a-1ca3-4c69-a62b-629ad54095ca_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, par value (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_PreferredStockParOrStatedValuePerShare_label_en-US" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockValue_a376e5df-d433-44ef-a4aa-d94933a54d3f_verboseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockValue" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, $0.01 par value; authorized 10,000 shares; none outstanding</link:label>
    <link:label id="lab_us-gaap_PreferredStockValue_label_en-US" xlink:label="lab_us-gaap_PreferredStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Value, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockValue" xlink:to="lab_us-gaap_PreferredStockValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionLineItems_c119c8ad-9883-4766-b371-655b1d3f0cb9_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition [Line Items]</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionLineItems_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems" xlink:to="lab_us-gaap_BusinessAcquisitionLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_9e959f52-2a51-402a-ad01-ba7296a5a836_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Grant Date Fair Value (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_da863720-76a2-4dae-a35f-0f247890a249_totalLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareDiluted" xlink:to="lab_us-gaap_EarningsPerShareDiluted" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TreasuryStockValue_0f235bd8-28d9-463a-b24c-4f20debe565e_negatedLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockValue" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of 3,778 and 3,199 common shares held in treasury in 2023 and 2022</link:label>
    <link:label id="lab_us-gaap_TreasuryStockValue_label_en-US" xlink:label="lab_us-gaap_TreasuryStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock, Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockValue" xlink:to="lab_us-gaap_TreasuryStockValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_7543a8d4-2f8d-4aae-b5bd-7809bbbda33c_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable, net of allowance of $5,572 and $3,746, respectively</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_1bd8faa8-057a-4333-b61c-92644b3eedf3_totalLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, after Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent" xlink:to="lab_us-gaap_AccountsReceivableNetCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillRollForward_b480e864-cede-4010-8436-f0179c8d2e10_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_GoodwillRollForward_label_en-US" xlink:label="lab_us-gaap_GoodwillRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillRollForward" xlink:to="lab_us-gaap_GoodwillRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TreasuryStockCommonShares_e648b9e2-f42b-452e-9eea-59dd8ed07e7c_terseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockCommonShares" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury stock, shares (in shares)</link:label>
    <link:label id="lab_us-gaap_TreasuryStockCommonShares_label_en-US" xlink:label="lab_us-gaap_TreasuryStockCommonShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock, Common, Shares</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonShares" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockCommonShares" xlink:to="lab_us-gaap_TreasuryStockCommonShares" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths_0aab61f7-4a13-431b-880e-32e6e9623d3d_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Expected Future Benefit Payment, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths" xlink:to="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditMember_e5ea54b9-1bc3-4745-af3a-d48979e879a3_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revolving Credit Facility</link:label>
    <link:label id="lab_us-gaap_LineOfCreditMember_label_en-US" xlink:label="lab_us-gaap_LineOfCreditMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditMember" xlink:to="lab_us-gaap_LineOfCreditMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_d5e9c823-8c72-4522-96f2-3650eb9b6fd4_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options Outstanding</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_6c0d72d7-64cd-4558-a79b-c619dd6d4a6e_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_5dd6e3da-1053-48d3-997b-931540c1bdea_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock_1ca654bb-035a-4350-a2f7-5510fe3cf76a_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Net Periodic Pension and Other Post-Retirement Benefit Costs</link:label>
    <link:label id="lab_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Net Benefit Costs [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfNetBenefitCostsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_FairValueMeasurementPeriod_46a43ef0-135b-406a-a44a-0d7935745f4f_terseLabel_en-US" xlink:label="lab_rock_FairValueMeasurementPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Measurement Period</link:label>
    <link:label id="lab_rock_FairValueMeasurementPeriod_label_en-US" xlink:label="lab_rock_FairValueMeasurementPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Measurement Period</link:label>
    <link:label id="lab_rock_FairValueMeasurementPeriod_documentation_en-US" xlink:label="lab_rock_FairValueMeasurementPeriod" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value, Measurement Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_FairValueMeasurementPeriod" xlink:href="rock-20231231.xsd#rock_FairValueMeasurementPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_FairValueMeasurementPeriod" xlink:to="lab_rock_FairValueMeasurementPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_b7f57b1d-fbb4-4691-894a-f2db087cf589_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock repurchased under stock repurchase program</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Stock Options Exercised</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_TradingSymbol_d6910c84-64ad-4120-8d63-7a6b25202705_terseLabel_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:label id="lab_dei_TradingSymbol_label_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_TradingSymbol" xlink:to="lab_dei_TradingSymbol" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetPortionGranted_d477fdb7-ba4d-4479-a41f-b6423fa1863e_terseLabel_en-US" xlink:label="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetPortionGranted" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Target portion granted</link:label>
    <link:label id="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetPortionGranted_label_en-US" xlink:label="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetPortionGranted" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement By Share-based Payment Award, Equity Instruments Other Than Options, Target Portion Granted</link:label>
    <link:label id="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetPortionGranted_documentation_en-US" xlink:label="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetPortionGranted" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Target Portion Granted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetPortionGranted" xlink:href="rock-20231231.xsd#rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetPortionGranted"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetPortionGranted" xlink:to="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetPortionGranted" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NoncompeteAgreementsMember_46dee399-efb2-4c17-9f12-7211e0d8f1b4_terseLabel_en-US" xlink:label="lab_us-gaap_NoncompeteAgreementsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-compete agreements</link:label>
    <link:label id="lab_us-gaap_NoncompeteAgreementsMember_label_en-US" xlink:label="lab_us-gaap_NoncompeteAgreementsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Noncompete Agreements [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncompeteAgreementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncompeteAgreementsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NoncompeteAgreementsMember" xlink:to="lab_us-gaap_NoncompeteAgreementsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_CapitalLossCarryforward_d6c35ecc-2c0c-446f-808c-d262b912f2fc_terseLabel_en-US" xlink:label="lab_rock_CapitalLossCarryforward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capital loss carryforward</link:label>
    <link:label id="lab_rock_CapitalLossCarryforward_label_en-US" xlink:label="lab_rock_CapitalLossCarryforward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capital Loss Carryforward</link:label>
    <link:label id="lab_rock_CapitalLossCarryforward_documentation_en-US" xlink:label="lab_rock_CapitalLossCarryforward" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capital Loss Carryforward</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_CapitalLossCarryforward" xlink:href="rock-20231231.xsd#rock_CapitalLossCarryforward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_CapitalLossCarryforward" xlink:to="lab_rock_CapitalLossCarryforward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_78856185-e14b-4367-bc27-4eeb497a6377_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent [Abstract]</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_InventoryValuationExcessObsoleteAndSlowMovingInventory_147464f6-46ca-4cc6-9da4-446cafadfca2_terseLabel_en-US" xlink:label="lab_rock_InventoryValuationExcessObsoleteAndSlowMovingInventory" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Excess, obsolete and slow moving inventory expense</link:label>
    <link:label id="lab_rock_InventoryValuationExcessObsoleteAndSlowMovingInventory_label_en-US" xlink:label="lab_rock_InventoryValuationExcessObsoleteAndSlowMovingInventory" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Valuation, Excess Obsolete And Slow Moving Inventory</link:label>
    <link:label id="lab_rock_InventoryValuationExcessObsoleteAndSlowMovingInventory_documentation_en-US" xlink:label="lab_rock_InventoryValuationExcessObsoleteAndSlowMovingInventory" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory valuation excess, obsolete, and slow-moving inventory</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InventoryValuationExcessObsoleteAndSlowMovingInventory" xlink:href="rock-20231231.xsd#rock_InventoryValuationExcessObsoleteAndSlowMovingInventory"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_InventoryValuationExcessObsoleteAndSlowMovingInventory" xlink:to="lab_rock_InventoryValuationExcessObsoleteAndSlowMovingInventory" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossTax_f670a927-8a26-42fa-bdf9-f0be8955bac2_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax Benefit (Expense)</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetIncomeLoss_dd73197c-d118-469d-8276-777eb290a120_totalLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_3b75aa17-fbe4-4467-a2ff-23999cc04303_verboseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_047868f0-3168-4b06-a416-67a9119f6de7_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_label_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Income (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLoss" xlink:to="lab_us-gaap_NetIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_8cd2ba23-36ae-4e29-a213-0711ec8068d1_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current liabilities</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrent" xlink:to="lab_us-gaap_LiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueDisclosuresAbstract_e2e928ee-8e3a-4369-8bf4-f4a9d7b4dc9c_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Disclosures [Abstract]</link:label>
    <link:label id="lab_us-gaap_FairValueDisclosuresAbstract_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Disclosures [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract" xlink:to="lab_us-gaap_FairValueDisclosuresAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod_55a6c0d3-bdfc-49e3-8020-8c446b904472_terseLabel_en-US" xlink:label="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments (in shares)</link:label>
    <link:label id="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod_label_en-US" xlink:label="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Adjustments in Period</link:label>
    <link:label id="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod_documentation_en-US" xlink:label="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Adjustments in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod" xlink:href="rock-20231231.xsd#rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod" xlink:to="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_4689430d-d0fe-4a33-a705-1f57ae0d019b_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign currency transactions and translation</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Currency Transactions and Translations Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_b10624c5-76e1-4487-b722-706cb1e565a4_terseLabel_en-US" xlink:label="lab_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Indefinite-lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:label id="lab_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_label_en-US" xlink:label="lab_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Indefinite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="lab_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MachineryAndEquipmentMember_d83c0362-98d8-4205-99f2-717b935613f3_terseLabel_en-US" xlink:label="lab_us-gaap_MachineryAndEquipmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Machinery and Equipment</link:label>
    <link:label id="lab_us-gaap_MachineryAndEquipmentMember_label_en-US" xlink:label="lab_us-gaap_MachineryAndEquipmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Machinery and Equipment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MachineryAndEquipmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MachineryAndEquipmentMember" xlink:to="lab_us-gaap_MachineryAndEquipmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_630af142-08f0-4b14-b22f-ace454925c7b_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Leases [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharesIssued_6741975b-44a6-4e69-beb7-5d96cf4cc420_periodStartLabel_en-US" xlink:label="lab_us-gaap_SharesIssued" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance, shares</link:label>
    <link:label id="lab_us-gaap_SharesIssued_a1217e4e-37e9-4073-8fb0-0523a0e68449_periodEndLabel_en-US" xlink:label="lab_us-gaap_SharesIssued" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance, shares</link:label>
    <link:label id="lab_us-gaap_SharesIssued_label_en-US" xlink:label="lab_us-gaap_SharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharesIssued" xlink:to="lab_us-gaap_SharesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_effdfdb0-04e3-4a0f-a906-d9b67866c940_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Stockholders&#8217; Equity</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_3f6d3385-1640-4baf-b9d3-c6efb7e902ad_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_CashPaidToSettleLiabilityAwardsTableTextBlock_93588d95-29d1-41f6-a91b-58c80c14b254_terseLabel_en-US" xlink:label="lab_rock_CashPaidToSettleLiabilityAwardsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash Paid to Settle Liability Awards</link:label>
    <link:label id="lab_rock_CashPaidToSettleLiabilityAwardsTableTextBlock_label_en-US" xlink:label="lab_rock_CashPaidToSettleLiabilityAwardsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash Paid To Settle Liability Awards [Table Text Block]</link:label>
    <link:label id="lab_rock_CashPaidToSettleLiabilityAwardsTableTextBlock_documentation_en-US" xlink:label="lab_rock_CashPaidToSettleLiabilityAwardsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash Paid To Settle Liability Awards [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_CashPaidToSettleLiabilityAwardsTableTextBlock" xlink:href="rock-20231231.xsd#rock_CashPaidToSettleLiabilityAwardsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_CashPaidToSettleLiabilityAwardsTableTextBlock" xlink:to="lab_rock_CashPaidToSettleLiabilityAwardsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodValue_94746721-6c39-4acb-bb26-e45a1ab9caa6_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodValue" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock repurchased under stock repurchase program</link:label>
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodValue_label_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchased During Period, Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodValue" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_50f7a04f-8459-4919-9f24-c8fa36f6dcd3_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders&#8217; equity:</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity, Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityAbstract" xlink:to="lab_us-gaap_StockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskBenchmarkDomain_6483f8cb-dd82-42c1-886b-54e081cd3a6e_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Benchmark [Domain]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskBenchmarkDomain_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Benchmark [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="lab_us-gaap_ConcentrationRiskBenchmarkDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiability_200ea949-ff36-45de-b4c7-4d510dc8aa6e_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unearned revenue</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiability_1b7868a2-f149-42f6-848b-afcdbb593a65_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with customer liability</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiability_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiability" xlink:to="lab_us-gaap_ContractWithCustomerLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_c602a298-0905-466e-b045-4682a4c464a2_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock options exercised, shares</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_c6725bcb-0719-475c-9c9d-b971d515221e_negatedLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercised (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_d2a8414f-43ea-4e0e-832e-343f35468731_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Domestic</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Domestic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryGross_da47e2a3-6b42-4e39-8ee0-9be2feaee0cc_totalLabel_en-US" xlink:label="lab_us-gaap_InventoryGross" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross inventory</link:label>
    <link:label id="lab_us-gaap_InventoryGross_label_en-US" xlink:label="lab_us-gaap_InventoryGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryGross" xlink:to="lab_us-gaap_InventoryGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_eb4c4679-c505-4fee-aa24-3c3a1e9f1098_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Computation of Basic and Diluted Earnings per Share</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxContingencyTable_e0abfb2f-6b55-4f93-9ae8-ee73901c3abb_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxContingencyTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Contingency [Table]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxContingencyTable_label_en-US" xlink:label="lab_us-gaap_IncomeTaxContingencyTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Contingency [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxContingencyTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxContingencyTable" xlink:to="lab_us-gaap_IncomeTaxContingencyTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet_474d6553-2599-4240-945a-bd298e7604c2_totalLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net amount recognized</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet_f7744bea-b2e7-4f65-bab9-9c179b223017_negatedTotalLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net amount recognized</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Amounts for Asset (Liability) Recognized in Statement of Financial Position</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet" xlink:to="lab_us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_6567c025-1cdb-4820-9174-54ff27cb898f_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Typical vesting period, in years</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_SecuredOvernightFinancingRateSOFRMember_9df72015-91da-432d-b934-cef18ff8657e_terseLabel_en-US" xlink:label="lab_rock_SecuredOvernightFinancingRateSOFRMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Secured Overnight Financing Rate (SOFR)</link:label>
    <link:label id="lab_rock_SecuredOvernightFinancingRateSOFRMember_label_en-US" xlink:label="lab_rock_SecuredOvernightFinancingRateSOFRMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Secured Overnight Financing Rate (SOFR) [Member]</link:label>
    <link:label id="lab_rock_SecuredOvernightFinancingRateSOFRMember_documentation_en-US" xlink:label="lab_rock_SecuredOvernightFinancingRateSOFRMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Secured Overnight Financing Rate (SOFR)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SecuredOvernightFinancingRateSOFRMember" xlink:href="rock-20231231.xsd#rock_SecuredOvernightFinancingRateSOFRMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_SecuredOvernightFinancingRateSOFRMember" xlink:to="lab_rock_SecuredOvernightFinancingRateSOFRMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_d8d5e37e-71aa-4629-b31f-74508c1af32c_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise Price Range [Domain]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise Price Range [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:to="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_1774cd59-8245-4da5-8e53-9f0cf506f8c9_terseLabel_en-US" xlink:label="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted-Average Amortization Period</link:label>
    <link:label id="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_label_en-US" xlink:label="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:to="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock_e289e5fe-0daa-47cf-89b4-20e33a874e2b_terseLabel_en-US" xlink:label="lab_us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Compensation Expense Connection with Awards</link:label>
    <link:label id="lab_us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock_label_en-US" xlink:label="lab_us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disclosure of Share-Based Compensation Arrangements by Share-Based Payment Award [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" xlink:to="lab_us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_RestructuringandRelatedCostNumberofFacilitiestobeClosed_46b0f90e-7ba0-46eb-8b72-27f068085aae_terseLabel_en-US" xlink:label="lab_rock_RestructuringandRelatedCostNumberofFacilitiestobeClosed" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of consolidated facilities to be closed</link:label>
    <link:label id="lab_rock_RestructuringandRelatedCostNumberofFacilitiestobeClosed_label_en-US" xlink:label="lab_rock_RestructuringandRelatedCostNumberofFacilitiestobeClosed" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring and Related Cost, Number of Facilities to be Closed</link:label>
    <link:label id="lab_rock_RestructuringandRelatedCostNumberofFacilitiestobeClosed_documentation_en-US" xlink:label="lab_rock_RestructuringandRelatedCostNumberofFacilitiestobeClosed" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring and Related Cost, Number of Facilities to be Closed</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RestructuringandRelatedCostNumberofFacilitiestobeClosed" xlink:href="rock-20231231.xsd#rock_RestructuringandRelatedCostNumberofFacilitiestobeClosed"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_RestructuringandRelatedCostNumberofFacilitiestobeClosed" xlink:to="lab_rock_RestructuringandRelatedCostNumberofFacilitiestobeClosed" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_e3d74fe0-10b2-4ddd-a639-f2b8566a3e87_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units / Restricted Stock (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax_c79ee96a-405f-42a6-b22c-38d68e13bfd2_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unamortized prior service cost</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Accumulated Other Comprehensive (Income) Loss, Prior Service Cost (Credit), before Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax" xlink:to="lab_us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SignificantAccountingPoliciesTextBlock_41e405e8-6428-4597-aa25-252dce9fbfe8_terseLabel_en-US" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary Of Significant Accounting Policies</link:label>
    <link:label id="lab_us-gaap_SignificantAccountingPoliciesTextBlock_label_en-US" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Significant Accounting Policies [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_7c97391c-8394-4134-8fb3-a8542ea6c591_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Exercise Price</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_1feae13b-644f-43cd-9980-2ae91241e1ee_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercised (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsNet_3927d983-0255-4c63-8c37-663b9e7c76e5_negatedTotalLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsNet" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred tax assets, net of valuation allowances</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsNet_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Net of Valuation Allowance</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsNet" xlink:to="lab_us-gaap_DeferredTaxAssetsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_c7658a53-8fc2-42fd-a1fa-38bc20917cab_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current borrowing capacity</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Current Borrowing Capacity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:to="lab_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Goodwill_38c70f4e-7fc6-4da3-832c-f72d87b99a10_terseLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill</link:label>
    <link:label id="lab_us-gaap_Goodwill_f3e2b9d4-ab8d-423e-af30-fa43aa62c6ce_periodStartLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance at</link:label>
    <link:label id="lab_us-gaap_Goodwill_024a76f4-8fdb-4125-b8f9-5cdd6fcb3191_periodEndLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance at</link:label>
    <link:label id="lab_us-gaap_Goodwill_label_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Goodwill" xlink:to="lab_us-gaap_Goodwill" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_f9d10bc8-d86a-4b9e-8468-40ce1a072c3c_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_d54c8002-4840-49c6-8958-11c4f64148b3_verboseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Components of Property, Plant, and Equipment</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_e6e80bb2-ad40-4755-9f63-28521aa73d46_terseLabel_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_label_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementEquityComponentsAxis" xlink:to="lab_us-gaap_StatementEquityComponentsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_ResidentialMember_4caae59e-6100-42e8-93ad-2066354c3072_terseLabel_en-US" xlink:label="lab_rock_ResidentialMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Residential</link:label>
    <link:label id="lab_rock_ResidentialMember_label_en-US" xlink:label="lab_rock_ResidentialMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Residential [Member]</link:label>
    <link:label id="lab_rock_ResidentialMember_documentation_en-US" xlink:label="lab_rock_ResidentialMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Residential</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialMember" xlink:href="rock-20231231.xsd#rock_ResidentialMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ResidentialMember" xlink:to="lab_rock_ResidentialMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue_a255840c-78a1-4b51-b377-5063f5c77aa2_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net sales</link:label>
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue_label_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Revenue</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue" xlink:to="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BuildingsAndImprovementsGross_c2ce72fc-66b6-4f0f-a215-5a5d71b9b6dd_verboseLabel_en-US" xlink:label="lab_us-gaap_BuildingsAndImprovementsGross" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Building and improvements</link:label>
    <link:label id="lab_us-gaap_BuildingsAndImprovementsGross_label_en-US" xlink:label="lab_us-gaap_BuildingsAndImprovementsGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Buildings and Improvements, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BuildingsAndImprovementsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingsAndImprovementsGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BuildingsAndImprovementsGross" xlink:to="lab_us-gaap_BuildingsAndImprovementsGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_406abaf7-8866-46b3-851c-f06f40ab53b1_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of shares available for issuance under the Plan</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionTable_b162abf2-027f-4d23-a0f2-fcd8f46f87c2_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Table]</link:label>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionTable_label_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable" xlink:to="lab_us-gaap_LesseeLeaseDescriptionTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_3a85a744-59b8-4214-885d-7871e1789a27_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntitySmallBusiness_2e07185b-2e3b-4b6b-b0ce-569f699adbbe_terseLabel_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Small Business</link:label>
    <link:label id="lab_dei_EntitySmallBusiness_label_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Small Business</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntitySmallBusiness" xlink:to="lab_dei_EntitySmallBusiness" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_eeed7972-6b30-4538-98a1-910e6e45ea68_verboseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2027</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNoteTextBlock_9e78cbee-fbd4-4bca-b07e-e870e2aa4bac_verboseLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss)</link:label>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNoteTextBlock_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Comprehensive Income (Loss) Note [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNoteTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:to="lab_us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_LocalPhoneNumber_e0fc8ff0-34ee-438a-8b4e-a4606f4b4709_terseLabel_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:label id="lab_dei_LocalPhoneNumber_label_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_LocalPhoneNumber" xlink:to="lab_dei_LocalPhoneNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_0cc90062-de99-4c96-80fc-eed08c248add_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember_d18ff97b-f622-4f90-9787-507003789ba1_terseLabel_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SG&amp;A</link:label>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember_93f7c9cd-ce10-4c8e-b5ea-34544a95b984_verboseLabel_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, general and administrative costs</link:label>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember_label_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, General and Administrative Expenses [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:to="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableMember_564e8c1a-2e6a-414a-82e3-a32079c37ead_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableMember_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableMember" xlink:to="lab_us-gaap_AccountsReceivableMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_5e905d1e-20f8-495e-9674-aaabd6136ee9_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Excess tax benefit on stock based compensation</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-Based Payment Arrangement, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TransferredAtPointInTimeMember_fc599f96-66e3-4b64-aa6f-259bd3a67e29_terseLabel_en-US" xlink:label="lab_us-gaap_TransferredAtPointInTimeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Point in Time</link:label>
    <link:label id="lab_us-gaap_TransferredAtPointInTimeMember_label_en-US" xlink:label="lab_us-gaap_TransferredAtPointInTimeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Transferred at Point in Time [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredAtPointInTimeMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransferredAtPointInTimeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TransferredAtPointInTimeMember" xlink:to="lab_us-gaap_TransferredAtPointInTimeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_6286c314-d743-4ae2-8c73-367a6892c966_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-current operating lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetirementPlanTypeDomain_7fa29e19-2b8c-457b-88c1-72a950c1377c_terseLabel_en-US" xlink:label="lab_us-gaap_RetirementPlanTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Plan Type [Domain]</link:label>
    <link:label id="lab_us-gaap_RetirementPlanTypeDomain_label_en-US" xlink:label="lab_us-gaap_RetirementPlanTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Plan Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetirementPlanTypeDomain" xlink:to="lab_us-gaap_RetirementPlanTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedStockUnitsRSUMember_f168ea57-02a1-44c6-baeb-3a7a6abbf998_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted stock units</link:label>
    <link:label id="lab_us-gaap_RestrictedStockUnitsRSUMember_label_en-US" xlink:label="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock Units (RSUs) [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedStockUnitsRSUMember" xlink:to="lab_us-gaap_RestrictedStockUnitsRSUMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_2713f63e-db10-4779-bc38-561099f7c03b_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Information About Restricted Stock Units and Weighted Average Grant Date Fair Value</link:label>
    <link:label id="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentNameDomain_0571fb28-d563-4c22-bce0-c7ba458f6d4f_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Name [Domain]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentNameDomain_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentNameDomain" xlink:to="lab_us-gaap_DebtInstrumentNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Depreciation_8ee05455-c77d-4509-ad2b-293c0c5e55cb_terseLabel_en-US" xlink:label="lab_us-gaap_Depreciation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation expense</link:label>
    <link:label id="lab_us-gaap_Depreciation_label_en-US" xlink:label="lab_us-gaap_Depreciation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Depreciation" xlink:to="lab_us-gaap_Depreciation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesUndistributedForeignEarnings_6fbde02b-daab-49f8-a6b1-e9e733ee6fe4_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesUndistributedForeignEarnings" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Undistributed earnings of foreign subsidiaries</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesUndistributedForeignEarnings_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesUndistributedForeignEarnings" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Undistributed Foreign Earnings</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesUndistributedForeignEarnings" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesUndistributedForeignEarnings"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesUndistributedForeignEarnings" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesUndistributedForeignEarnings" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TrademarksMember_2921925a-8e60-408c-b596-2b61d5009143_terseLabel_en-US" xlink:label="lab_us-gaap_TrademarksMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trademarks</link:label>
    <link:label id="lab_us-gaap_TrademarksMember_label_en-US" xlink:label="lab_us-gaap_TrademarksMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trademarks [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TrademarksMember" xlink:to="lab_us-gaap_TrademarksMember" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_AuditInformationAbstract_label_en-US" xlink:label="lab_rock_AuditInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Audit Information [Abstract]</link:label>
    <link:label id="lab_rock_AuditInformationAbstract_documentation_en-US" xlink:label="lab_rock_AuditInformationAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Audit Information [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AuditInformationAbstract" xlink:href="rock-20231231.xsd#rock_AuditInformationAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_AuditInformationAbstract" xlink:to="lab_rock_AuditInformationAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_A2017Member_e85bb9af-db1e-4d23-a936-9e69c35f9bab_terseLabel_en-US" xlink:label="lab_rock_A2017Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2017</link:label>
    <link:label id="lab_rock_A2017Member_label_en-US" xlink:label="lab_rock_A2017Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2017 [Member]</link:label>
    <link:label id="lab_rock_A2017Member_documentation_en-US" xlink:label="lab_rock_A2017Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2017 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2017Member" xlink:href="rock-20231231.xsd#rock_A2017Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_A2017Member" xlink:to="lab_rock_A2017Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PostemploymentBenefitsPeriodExpense_552ee62e-e2b4-4e5c-9738-69bb1cc611ee_terseLabel_en-US" xlink:label="lab_us-gaap_PostemploymentBenefitsPeriodExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total retirement plan expense</link:label>
    <link:label id="lab_us-gaap_PostemploymentBenefitsPeriodExpense_label_en-US" xlink:label="lab_us-gaap_PostemploymentBenefitsPeriodExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Postemployment Benefits, Period Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PostemploymentBenefitsPeriodExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PostemploymentBenefitsPeriodExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PostemploymentBenefitsPeriodExpense" xlink:to="lab_us-gaap_PostemploymentBenefitsPeriodExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1_4da97558-d5d0-49b3-b343-893e05b2346c_periodStartLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance at beginning of period</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1_6f05475a-ac81-46b8-882d-52e6d6a823bb_periodEndLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance at end of period</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">AOCI Including Portion Attributable to Noncontrolling Interest, before Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringSettlementAndImpairmentProvisions_5f3aaee1-34f6-4e64-b59a-c64599a3293e_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringSettlementAndImpairmentProvisions" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset Impairment</link:label>
    <link:label id="lab_us-gaap_RestructuringSettlementAndImpairmentProvisions_label_en-US" xlink:label="lab_us-gaap_RestructuringSettlementAndImpairmentProvisions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring, Settlement and Impairment Provisions</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringSettlementAndImpairmentProvisions" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringSettlementAndImpairmentProvisions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringSettlementAndImpairmentProvisions" xlink:to="lab_us-gaap_RestructuringSettlementAndImpairmentProvisions" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod_d4a45b41-70bf-4efb-9ac2-c17a4de57091_terseLabel_en-US" xlink:label="lab_rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement By Share-based Payment Award, Average Company Stock Price, Measurement Period</link:label>
    <link:label id="lab_rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod_label_en-US" xlink:label="lab_rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement By Share-based Payment Award, Average Company Stock Price, Measurement Period</link:label>
    <link:label id="lab_rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod_documentation_en-US" xlink:label="lab_rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement By Share-based Payment Award, Average Company Stock Price, Measurement Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod" xlink:href="rock-20231231.xsd#rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod" xlink:to="lab_rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_DeferredTaxAssetOperatingLeases_c1ed6aaa-fe2d-4f15-83d5-d5f63250a6fa_negatedTerseLabel_en-US" xlink:label="lab_rock_DeferredTaxAssetOperatingLeases" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating leases</link:label>
    <link:label id="lab_rock_DeferredTaxAssetOperatingLeases_label_en-US" xlink:label="lab_rock_DeferredTaxAssetOperatingLeases" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Asset, Operating Leases</link:label>
    <link:label id="lab_rock_DeferredTaxAssetOperatingLeases_documentation_en-US" xlink:label="lab_rock_DeferredTaxAssetOperatingLeases" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Asset, Operating Leases</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DeferredTaxAssetOperatingLeases" xlink:href="rock-20231231.xsd#rock_DeferredTaxAssetOperatingLeases"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_DeferredTaxAssetOperatingLeases" xlink:to="lab_rock_DeferredTaxAssetOperatingLeases" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_1d14288b-40aa-4afc-8a72-0c9e7316027e_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationAxis" xlink:to="lab_us-gaap_IncomeStatementLocationAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_19083c62-e1a0-4c9f-a07c-897c6e5fa21e_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [Line Items]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_label_en-US" xlink:label="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:to="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember_3b596d45-fd9a-4f71-b1f1-4af5995740c5_terseLabel_en-US" xlink:label="lab_rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Return On Invested Capital</link:label>
    <link:label id="lab_rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember_label_en-US" xlink:label="lab_rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Measurement, Return On Invested Capital [Member]</link:label>
    <link:label id="lab_rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember_documentation_en-US" xlink:label="lab_rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Measurement, Return On Invested Capital [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember" xlink:href="rock-20231231.xsd#rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember" xlink:to="lab_rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent_733e020f-1b7b-4fa3-bb0c-054da832712d_terseLabel_en-US" xlink:label="lab_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued post retirement liability: Long term portion</link:label>
    <link:label id="lab_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent_label_en-US" xlink:label="lab_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liability, Defined Benefit Plan, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent" xlink:to="lab_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryAdjustments_605c03bb-b46d-409a-92a9-04d1655b4d2c_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_InventoryAdjustments" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less reserves</link:label>
    <link:label id="lab_us-gaap_InventoryAdjustments_label_en-US" xlink:label="lab_us-gaap_InventoryAdjustments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Adjustments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryAdjustments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryAdjustments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryAdjustments" xlink:to="lab_us-gaap_InventoryAdjustments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationAbstract_f6dae5d3-ad60-4366-9eac-b28948104d04_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Noncash Expense [Abstract]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationAbstract_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Noncash Expense [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract" xlink:to="lab_us-gaap_ShareBasedCompensationAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_69bf2e40-52b3-4f93-81e8-1424dc169acc_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Maturity</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanChangeInBenefitObligationRollForward_95e56fe6-50b4-4100-b3c7-f5d69bf423b9_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanChangeInBenefitObligationRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Change in Benefit Obligation [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanChangeInBenefitObligationRollForward_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanChangeInBenefitObligationRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Change in Benefit Obligation [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanChangeInBenefitObligationRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanChangeInBenefitObligationRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanChangeInBenefitObligationRollForward" xlink:to="lab_us-gaap_DefinedBenefitPlanChangeInBenefitObligationRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_d41cf54a-252d-4c54-9be3-ad29a6247758_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Allocation of the Purchase Price Consideration of the Fair Value of Assets Acquired and Liabilities Assumed</link:label>
    <link:label id="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Business Acquisitions, by Acquisition [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:to="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfExtinguishmentOfDebtTable_a4904d75-76ad-4211-973b-96e9da6ccfb2_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfExtinguishmentOfDebtTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Extinguishment of Debt [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfExtinguishmentOfDebtTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfExtinguishmentOfDebtTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Extinguishment of Debt [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfExtinguishmentOfDebtTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfExtinguishmentOfDebtTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfExtinguishmentOfDebtTable" xlink:to="lab_us-gaap_ScheduleOfExtinguishmentOfDebtTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock_9e27d658-2726-4dc4-b865-4da3209a5e9f_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:to="lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedIncomeTaxesCurrent_4c77260c-ec50-4834-8ebe-3f5e36b1bb68_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedIncomeTaxesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest and taxes</link:label>
    <link:label id="lab_us-gaap_AccruedIncomeTaxesCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedIncomeTaxesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Income Taxes, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedIncomeTaxesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedIncomeTaxesCurrent" xlink:to="lab_us-gaap_AccruedIncomeTaxesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Revenues_0e4d3fdb-afe6-4230-a669-c85c94e0cbac_terseLabel_en-US" xlink:label="lab_us-gaap_Revenues" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net sales:</link:label>
    <link:label id="lab_us-gaap_Revenues_label_en-US" xlink:label="lab_us-gaap_Revenues" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenues</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Revenues" xlink:to="lab_us-gaap_Revenues" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_AccruedCustomerRebatesCurrent_c5553f82-b385-40f6-ad77-a17aca0f3106_verboseLabel_en-US" xlink:label="lab_rock_AccruedCustomerRebatesCurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer rebates</link:label>
    <link:label id="lab_rock_AccruedCustomerRebatesCurrent_label_en-US" xlink:label="lab_rock_AccruedCustomerRebatesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Customer Rebates, Current</link:label>
    <link:label id="lab_rock_AccruedCustomerRebatesCurrent_documentation_en-US" xlink:label="lab_rock_AccruedCustomerRebatesCurrent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued customer rebates, current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AccruedCustomerRebatesCurrent" xlink:href="rock-20231231.xsd#rock_AccruedCustomerRebatesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_AccruedCustomerRebatesCurrent" xlink:to="lab_rock_AccruedCustomerRebatesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_54ea0283-b0b1-4cf3-869f-dac662b9eefa_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:to="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesOther_721f6c51-5dee-4b09-b10b-8fca4b9fc702_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesOther" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of restricted stock, shares</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesOther_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesOther" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, Other</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesOther" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesOther"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesOther" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesOther" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_QualityAluminumProductsMember_025d1c1f-6d99-41eb-af74-05f492c8e5dc_terseLabel_en-US" xlink:label="lab_rock_QualityAluminumProductsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Quality Aluminum Products</link:label>
    <link:label id="lab_rock_QualityAluminumProductsMember_label_en-US" xlink:label="lab_rock_QualityAluminumProductsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Quality Aluminum Products [Member]</link:label>
    <link:label id="lab_rock_QualityAluminumProductsMember_documentation_en-US" xlink:label="lab_rock_QualityAluminumProductsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Quality Aluminum Products</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_QualityAluminumProductsMember" xlink:href="rock-20231231.xsd#rock_QualityAluminumProductsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_QualityAluminumProductsMember" xlink:to="lab_rock_QualityAluminumProductsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseCostTableTextBlock_5f53f5a9-08f4-4a04-a74d-0ae0d0449e98_terseLabel_en-US" xlink:label="lab_us-gaap_LeaseCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease, Cost</link:label>
    <link:label id="lab_us-gaap_LeaseCostTableTextBlock_label_en-US" xlink:label="lab_us-gaap_LeaseCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease, Cost [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCostTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCostTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseCostTableTextBlock" xlink:to="lab_us-gaap_LeaseCostTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInInventories_850c4cbe-5835-4292-a5ce-3ee5d0fd5a3b_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInInventories_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Inventories</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInInventories" xlink:to="lab_us-gaap_IncreaseDecreaseInInventories" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StandbyLettersOfCreditMember_6242fa39-e185-45ff-865d-adf8c2ad8a77_terseLabel_en-US" xlink:label="lab_us-gaap_StandbyLettersOfCreditMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standby Letters of Credit</link:label>
    <link:label id="lab_us-gaap_StandbyLettersOfCreditMember_label_en-US" xlink:label="lab_us-gaap_StandbyLettersOfCreditMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Standby Letters of Credit [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandbyLettersOfCreditMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StandbyLettersOfCreditMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandbyLettersOfCreditMember" xlink:to="lab_us-gaap_StandbyLettersOfCreditMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_2b0f1725-079a-4b83-b30b-c1280007a865_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash Flows from Investing Activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringReserve_37dfdfa3-c39c-479a-bf6f-8ff58a8a4fe0_periodStartLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserve" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance as of</link:label>
    <link:label id="lab_us-gaap_RestructuringReserve_2b7303fd-d1e6-4180-809d-550e3a90f79b_periodEndLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserve" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance as of</link:label>
    <link:label id="lab_us-gaap_RestructuringReserve_label_en-US" xlink:label="lab_us-gaap_RestructuringReserve" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Reserve</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringReserve"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringReserve" xlink:to="lab_us-gaap_RestructuringReserve" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationAcquisitionRelatedCosts_9f1a0c3d-dd64-4a55-a9a8-af6bd76d5163_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total acquisition related costs</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationAcquisitionRelatedCosts_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Acquisition Related Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:to="lab_us-gaap_BusinessCombinationAcquisitionRelatedCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_1950f76d-1eff-4823-87e8-2ee657055d15_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Anti-dilutive number of shares</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AwardTypeAxis_d699344f-3f34-46d0-ac90-2c2812f585d9_terseLabel_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:label id="lab_us-gaap_AwardTypeAxis_label_en-US" xlink:label="lab_us-gaap_AwardTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AwardTypeAxis" xlink:to="lab_us-gaap_AwardTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_3fcca6a6-b6a8-4833-b0d5-0387f3d1235a_netLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares awarded (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_bc4dccc7-74bc-4585-b391-f0a8323cb318_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number&#160;of Awards (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_5874ef4c-426d-47e5-b434-973bd3eb7d3d_verboseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PlanNameDomain_fc0e054d-60ef-4f2b-ac63-df4ba901697e_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:label id="lab_us-gaap_PlanNameDomain_label_en-US" xlink:label="lab_us-gaap_PlanNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameDomain" xlink:to="lab_us-gaap_PlanNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_ContractWithCustomerContractPaymentTerms_67efc549-331b-4a6c-a1f5-3b92699ec1bc_terseLabel_en-US" xlink:label="lab_rock_ContractWithCustomerContractPaymentTerms" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract payment terms</link:label>
    <link:label id="lab_rock_ContractWithCustomerContractPaymentTerms_label_en-US" xlink:label="lab_rock_ContractWithCustomerContractPaymentTerms" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract With Customer, Contract Payment Terms</link:label>
    <link:label id="lab_rock_ContractWithCustomerContractPaymentTerms_documentation_en-US" xlink:label="lab_rock_ContractWithCustomerContractPaymentTerms" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract With Customer, Contract Payment Terms</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ContractWithCustomerContractPaymentTerms" xlink:href="rock-20231231.xsd#rock_ContractWithCustomerContractPaymentTerms"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ContractWithCustomerContractPaymentTerms" xlink:to="lab_rock_ContractWithCustomerContractPaymentTerms" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_IcfrAuditorAttestationFlag_79189fd4-e08b-4dc6-822e-763b08c3da32_terseLabel_en-US" xlink:label="lab_dei_IcfrAuditorAttestationFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ICFR Auditor Attestation Flag</link:label>
    <link:label id="lab_dei_IcfrAuditorAttestationFlag_label_en-US" xlink:label="lab_dei_IcfrAuditorAttestationFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ICFR Auditor Attestation Flag</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_IcfrAuditorAttestationFlag" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_IcfrAuditorAttestationFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_IcfrAuditorAttestationFlag" xlink:to="lab_dei_IcfrAuditorAttestationFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_f3c456c4-4873-4be1-a0b9-47290c90790a_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of shares authorized</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillLineItems_0fe7b38e-a1cb-457f-a004-69147f8e4f8b_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill [Line Items]</link:label>
    <link:label id="lab_us-gaap_GoodwillLineItems_label_en-US" xlink:label="lab_us-gaap_GoodwillLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillLineItems" xlink:to="lab_us-gaap_GoodwillLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinitelivedIntangibleAssetsAcquired1_9f35253e-0dcd-4b71-ba52-7beb0ecf52e0_terseLabel_en-US" xlink:label="lab_us-gaap_FinitelivedIntangibleAssetsAcquired1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-lived intangible assets acquired</link:label>
    <link:label id="lab_us-gaap_FinitelivedIntangibleAssetsAcquired1_label_en-US" xlink:label="lab_us-gaap_FinitelivedIntangibleAssetsAcquired1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets Acquired</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinitelivedIntangibleAssetsAcquired1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinitelivedIntangibleAssetsAcquired1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinitelivedIntangibleAssetsAcquired1" xlink:to="lab_us-gaap_FinitelivedIntangibleAssetsAcquired1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentGross_113de736-9a76-49e3-a200-8f114a41d00c_totalLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentGross" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, plant, and equipment, gross</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentGross_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_ae703d69-2683-4b40-8cdb-a2a149a09b31_terseLabel_en-US" xlink:label="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Right-of-use assets obtained in exchange for new lease liabilities</link:label>
    <link:label id="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_label_en-US" xlink:label="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Right-of-Use Asset Obtained in Exchange for Operating Lease Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_74f42a92-9295-42fa-b4d6-ab838bc4cf93_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Remaining Contractual Life (in&#160;years)</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_2449f667-172e-4234-a6f3-2f2ba2f0cec9_terseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_label_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLossCarryforwardsTable_3cd60f0b-0feb-4e66-9d0a-f2adf4701976_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwardsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards [Table]</link:label>
    <link:label id="lab_us-gaap_OperatingLossCarryforwardsTable_label_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwardsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable" xlink:to="lab_us-gaap_OperatingLossCarryforwardsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_5d966e27-af68-4eb9-93bc-8b8c18b49e42_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: present value discount</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UseOfEstimates_eae1fe95-f520-4bd2-8296-84aab203fc47_terseLabel_en-US" xlink:label="lab_us-gaap_UseOfEstimates" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Use of estimates</link:label>
    <link:label id="lab_us-gaap_UseOfEstimates_label_en-US" xlink:label="lab_us-gaap_UseOfEstimates" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Use of Estimates, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UseOfEstimates" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UseOfEstimates" xlink:to="lab_us-gaap_UseOfEstimates" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TimingOfTransferOfGoodOrServiceAxis_ed9fcfb8-0e2b-42e6-ad09-9fc7c13d5ac5_terseLabel_en-US" xlink:label="lab_us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Timing of Transfer of Good or Service [Axis]</link:label>
    <link:label id="lab_us-gaap_TimingOfTransferOfGoodOrServiceAxis_label_en-US" xlink:label="lab_us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Timing of Transfer of Good or Service [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:to="lab_us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_2db8e491-1def-4d09-9578-adfdad34ef75_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Provision for Income Taxes for Continuing Operations</link:label>
    <link:label id="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongtermDebtTypeDomain_52303281-c837-4390-babe-33a2ae396a1f_terseLabel_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Type [Domain]</link:label>
    <link:label id="lab_us-gaap_LongtermDebtTypeDomain_label_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongtermDebtTypeDomain" xlink:to="lab_us-gaap_LongtermDebtTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFileNumber_6c027be9-45a7-4892-b6ac-04f6dd5d7705_terseLabel_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:label id="lab_dei_EntityFileNumber_label_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFileNumber" xlink:to="lab_dei_EntityFileNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_5280f705-7593-4161-90fe-eed46b7b3a7e_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="lab_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLossCarryforwardsLineItems_3e0f4149-f6ff-443f-b96f-f3464210c71d_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwardsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards [Line Items]</link:label>
    <link:label id="lab_us-gaap_OperatingLossCarryforwardsLineItems_label_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwardsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems" xlink:to="lab_us-gaap_OperatingLossCarryforwardsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock_8e899162-635a-4a04-af7d-9727264291df_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Number of Awards and Weighted Average Grant Date Fair Value</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_0fa7e554-2d14-4561-b529-b12cd6f86d56_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">After 2028</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, after Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_f02ca35f-1fce-4bea-968d-e7c08daba2ae_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current operating lease liability</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductWarrantyAccrualClassifiedCurrent_a1714d7a-e584-4503-9496-a5779c15ed91_terseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product warranties</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyAccrualClassifiedCurrent_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product Warranty Accrual, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:to="lab_us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_AccruedEquityBasedCompensation_c61a40cf-79e5-4027-bab7-eac86ec4a495_terseLabel_en-US" xlink:label="lab_rock_AccruedEquityBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued equity based compensation</link:label>
    <link:label id="lab_rock_AccruedEquityBasedCompensation_label_en-US" xlink:label="lab_rock_AccruedEquityBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Equity Based Compensation</link:label>
    <link:label id="lab_rock_AccruedEquityBasedCompensation_documentation_en-US" xlink:label="lab_rock_AccruedEquityBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Equity Based Compensation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AccruedEquityBasedCompensation" xlink:href="rock-20231231.xsd#rock_AccruedEquityBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_AccruedEquityBasedCompensation" xlink:to="lab_rock_AccruedEquityBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AuditorFirmId_6f13c69e-abf1-4b8b-9246-634e8d4059b4_terseLabel_en-US" xlink:label="lab_dei_AuditorFirmId" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Firm ID</link:label>
    <link:label id="lab_dei_AuditorFirmId_label_en-US" xlink:label="lab_dei_AuditorFirmId" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Firm ID</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorFirmId" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorFirmId"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AuditorFirmId" xlink:to="lab_dei_AuditorFirmId" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_91db3c35-db3e-4a43-86d0-dca49f975ef2_terseLabel_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of Intangible Assets</link:label>
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_label_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AmortizationOfIntangibleAssets" xlink:to="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityShellCompany_6104d865-cc24-494b-b9a2-ca1b1223d908_terseLabel_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Shell Company</link:label>
    <link:label id="lab_dei_EntityShellCompany_label_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Shell Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityShellCompany" xlink:to="lab_dei_EntityShellCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_fc423a00-d8c5-4ec4-b074-c06fb54cf17e_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2026</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionAcquireeDomain_a5e98326-8c1f-424c-bfe5-203bd2fe3515_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition, Acquiree [Domain]</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionAcquireeDomain_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition, Acquiree [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="lab_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_853608b0-7ae5-4cdb-8740-8116701bd5cf_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Recent accounting pronouncements</link:label>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">New Accounting Pronouncements, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_2e2561bd-d485-492a-aa41-729b0b17fefb_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Valuation Allowance</link:label>
    <link:label id="lab_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_label_en-US" xlink:label="lab_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowance, Deferred Tax Asset [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:to="lab_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsCapitalLossCarryforwards_63f79f07-3e0a-42c6-bf13-1fc6efd2245a_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsCapitalLossCarryforwards" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capital loss carryforward</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsCapitalLossCarryforwards_5c79d75a-40bc-4c36-8841-b501fe1c4f27_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsCapitalLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred tax assets, capital loss carryforwards</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsCapitalLossCarryforwards_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsCapitalLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Capital Loss Carryforwards</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsCapitalLossCarryforwards" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsCapitalLossCarryforwards"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsCapitalLossCarryforwards" xlink:to="lab_us-gaap_DeferredTaxAssetsCapitalLossCarryforwards" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AwardDateDomain_e7e18e19-47c0-4c5d-861f-56ec72836f26_terseLabel_en-US" xlink:label="lab_us-gaap_AwardDateDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Date [Domain]</link:label>
    <link:label id="lab_us-gaap_AwardDateDomain_label_en-US" xlink:label="lab_us-gaap_AwardDateDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Date [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardDateDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardDateDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AwardDateDomain" xlink:to="lab_us-gaap_AwardDateDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_IncomeTaxStatueOfLimitationsExpirationPeriod_20072649-cc18-4c2a-a252-fdf8f86dfa41_terseLabel_en-US" xlink:label="lab_rock_IncomeTaxStatueOfLimitationsExpirationPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statute of limitations expiration period, in years</link:label>
    <link:label id="lab_rock_IncomeTaxStatueOfLimitationsExpirationPeriod_label_en-US" xlink:label="lab_rock_IncomeTaxStatueOfLimitationsExpirationPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Statue Of Limitations Expiration Period</link:label>
    <link:label id="lab_rock_IncomeTaxStatueOfLimitationsExpirationPeriod_documentation_en-US" xlink:label="lab_rock_IncomeTaxStatueOfLimitationsExpirationPeriod" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Statue Of Limitations Expiration Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_IncomeTaxStatueOfLimitationsExpirationPeriod" xlink:href="rock-20231231.xsd#rock_IncomeTaxStatueOfLimitationsExpirationPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_IncomeTaxStatueOfLimitationsExpirationPeriod" xlink:to="lab_rock_IncomeTaxStatueOfLimitationsExpirationPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetIncomeLossAttributableToReportingEntityAbstract_03cca502-3abb-4ade-98de-2e441a152412_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLossAttributableToReportingEntityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Discontinued operations:</link:label>
    <link:label id="lab_us-gaap_NetIncomeLossAttributableToReportingEntityAbstract_label_en-US" xlink:label="lab_us-gaap_NetIncomeLossAttributableToReportingEntityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Income (Loss), Including Portion Attributable to Noncontrolling Interest [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAttributableToReportingEntityAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAttributableToReportingEntityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLossAttributableToReportingEntityAbstract" xlink:to="lab_us-gaap_NetIncomeLossAttributableToReportingEntityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_c72680f6-c632-49ce-a667-60762a9f06a4_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Restructuring and Related Costs [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Restructuring and Related Costs [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:to="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_a3cf9885-c1c9-448c-94a0-6f7dd8a8c8fd_periodStartLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and cash equivalents at beginning of year</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_c8f38cd9-c457-41b8-96ae-3c844653956e_periodEndLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and cash equivalents at end of year</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_af65a7c8-90f5-46eb-8842-0a3be604bcd4_verboseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Amortization, Finite-lived intangible assets</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_c5566d8e-81db-4e83-a448-9e1f520c85db_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2025</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_8fce9157-17d1-47ae-b174-9e8236c69c57_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Components of Income (Loss) Before Taxes from Continuing Operations</link:label>
    <link:label id="lab_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_8e80827a-89ed-469a-a46f-cb3782f5a9dd_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Foreign</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_A2019SeniorCreditAgreementMember_42117efc-601d-4f3c-833b-c59b05a63e52_terseLabel_en-US" xlink:label="lab_rock_A2019SeniorCreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2019 Senior Credit Agreement</link:label>
    <link:label id="lab_rock_A2019SeniorCreditAgreementMember_label_en-US" xlink:label="lab_rock_A2019SeniorCreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2019 Senior Credit Agreement [Member]</link:label>
    <link:label id="lab_rock_A2019SeniorCreditAgreementMember_documentation_en-US" xlink:label="lab_rock_A2019SeniorCreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2019 Senior Credit Agreement [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2019SeniorCreditAgreementMember" xlink:href="rock-20231231.xsd#rock_A2019SeniorCreditAgreementMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_A2019SeniorCreditAgreementMember" xlink:to="lab_rock_A2019SeniorCreditAgreementMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseCost_b614f889-fd30-46ee-82da-d41f50c0f9b4_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease cost</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseCost_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseCost" xlink:to="lab_us-gaap_OperatingLeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_1152a68b-3f3e-424c-aceb-f12bcfe8f4f1_terseLabel_en-US" xlink:label="lab_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment of long-lived assets</link:label>
    <link:label id="lab_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="lab_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_9becac94-8ee3-4677-9a4c-0d6d3403201c_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares issued (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued" xlink:to="lab_us-gaap_CommonStockSharesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_a5bda77d-9e72-41a3-b861-442e2a65548b_negatedLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax_3f4b9f28-a6c5-4552-8637-462be1da1969_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized actuarial gain</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Accumulated Other Comprehensive Income (Loss), Gain (Loss), before Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax" xlink:to="lab_us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationConsiderationTransferred1_49a3ee1e-6c1c-4584-b744-6ee467e142e3_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationConsiderationTransferred1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquisition purchase price</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationConsiderationTransferred1_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationConsiderationTransferred1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Consideration Transferred</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferred1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationConsiderationTransferred1" xlink:to="lab_us-gaap_BusinessCombinationConsiderationTransferred1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GrossProfit_a8347588-9a2d-4470-8565-6c4600e55375_totalLabel_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross profit</link:label>
    <link:label id="lab_us-gaap_GrossProfit_label_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Profit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GrossProfit" xlink:to="lab_us-gaap_GrossProfit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityCommitmentFeePercentage_1df37bfd-e6dd-4bda-b057-ded7a2d095b6_verboseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityCommitmentFeePercentage" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Annual commitment fee</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityCommitmentFeePercentage_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityCommitmentFeePercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Commitment Fee Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityCommitmentFeePercentage" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityCommitmentFeePercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityCommitmentFeePercentage" xlink:to="lab_us-gaap_LineOfCreditFacilityCommitmentFeePercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCurrent_fce741d6-59fb-41d3-bf11-6419793710f7_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Billings in excess of costs</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_SecurityExchangeName_c2dce5b9-7ede-467e-b7c5-7ac7a089920b_terseLabel_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:label id="lab_dei_SecurityExchangeName_label_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_SecurityExchangeName" xlink:to="lab_dei_SecurityExchangeName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermDebt_5fea6bac-a79d-4be8-8e45-3884ae819475_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Carrying value of outstanding debt</link:label>
    <link:label id="lab_us-gaap_LongTermDebt_label_en-US" xlink:label="lab_us-gaap_LongTermDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebt" xlink:to="lab_us-gaap_LongTermDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_9e7a4b20-d8f3-4485-9356-df10f75e22d8_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity-based compensation</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_NonEmployeeDirectorsPlanMember_39ecaef9-ae00-4221-886c-3eaf3fd4d7d5_terseLabel_en-US" xlink:label="lab_rock_NonEmployeeDirectorsPlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-Employee Directors Plan</link:label>
    <link:label id="lab_rock_NonEmployeeDirectorsPlanMember_label_en-US" xlink:label="lab_rock_NonEmployeeDirectorsPlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-Employee Directors Plan [Member]</link:label>
    <link:label id="lab_rock_NonEmployeeDirectorsPlanMember_documentation_en-US" xlink:label="lab_rock_NonEmployeeDirectorsPlanMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-Employee Directors Plan [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_NonEmployeeDirectorsPlanMember" xlink:href="rock-20231231.xsd#rock_NonEmployeeDirectorsPlanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_NonEmployeeDirectorsPlanMember" xlink:to="lab_rock_NonEmployeeDirectorsPlanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpense_a20e2a3a-8120-469b-9e44-32a85441856d_terseLabel_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, general, and administrative expense</link:label>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpense_label_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, General and Administrative Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_c2af10d2-1444-4be0-a3ef-bcc68b53c684_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated other comprehensive loss</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_76611695-aacd-447e-a054-e1e67c3db45b_periodStartLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance at beginning of period</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_01445629-da49-45b9-8fc3-c7a4ddb681bb_periodEndLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance at end of period</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Net of Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock_84215433-384c-4c5c-809e-6cc202e3d029_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Ranges of Outstanding and Exercisable Options</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding and Exercisable [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedTranslationAdjustmentMember_49e296a2-f14f-4666-886f-161af23592fe_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedTranslationAdjustmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Currency Translation Adjustment</link:label>
    <link:label id="lab_us-gaap_AccumulatedTranslationAdjustmentMember_label_en-US" xlink:label="lab_us-gaap_AccumulatedTranslationAdjustmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Foreign Currency Adjustment Attributable to Parent [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedTranslationAdjustmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedTranslationAdjustmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedTranslationAdjustmentMember" xlink:to="lab_us-gaap_AccumulatedTranslationAdjustmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock_923bac43-3f17-4987-8c33-0d9ec271a97b_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Intangible Assets Amortization Expense</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets Amortization Expense [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesBalance_ec9100d3-9676-4dad-aaba-dd7e57fdd16e_periodStartLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesBalance" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance as of January&#160;1</link:label>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesBalance_dadad679-5195-44d7-8c81-c620e7f78268_periodEndLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesBalance" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance as of December&#160;31</link:label>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesBalance_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesBalance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesBalance" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesBalance" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_34debd6a-dd46-444d-80e0-10e21cc5e054_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average cost recognition period, in years</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MaximumMember_44dc143f-7b5d-4b8d-8f6f-7131fdbf42c2_terseLabel_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum</link:label>
    <link:label id="lab_srt_MaximumMember_label_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MaximumMember" xlink:to="lab_srt_MaximumMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_6352b503-5b6d-4fc5-80bc-1027b35449f6_totalLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total comprehensive income</link:label>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock_20082345-91f7-49b1-81e2-1ee1041b38e8_verboseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Exit Activity Costs and Asset Impairments Recorded in the Consolidated Statements of Operations</link:label>
    <link:label id="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring and Related Costs [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" xlink:to="lab_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_a90dc878-f58f-4f85-bea9-d2902288e8d8_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized compensation cost</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentType_ab5da1a2-56b2-4afb-9678-2e43aec6c41b_terseLabel_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:label id="lab_dei_DocumentType_label_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentType" xlink:to="lab_dei_DocumentType" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock_b23efe6e-ec26-4536-be8b-ffee62a27bee_verboseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Expected Benefit Payments from the Plan</link:label>
    <link:label id="lab_us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Expected Benefit Payments [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillAcquiredDuringPeriod_5fb0a8d0-04d5-45f5-a45e-3ffb9982b521_verboseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAcquiredDuringPeriod" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquired goodwill</link:label>
    <link:label id="lab_us-gaap_GoodwillAcquiredDuringPeriod_label_en-US" xlink:label="lab_us-gaap_GoodwillAcquiredDuringPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, Acquired During Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAcquiredDuringPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAcquiredDuringPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAcquiredDuringPeriod" xlink:to="lab_us-gaap_GoodwillAcquiredDuringPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanFundedStatusOfPlan_f77b5c5a-3648-4b94-b85d-3b7973680318_totalLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanFundedStatusOfPlan" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Under funded status</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanFundedStatusOfPlan_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanFundedStatusOfPlan" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Funded (Unfunded) Status of Plan</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanFundedStatusOfPlan" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanFundedStatusOfPlan"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanFundedStatusOfPlan" xlink:to="lab_us-gaap_DefinedBenefitPlanFundedStatusOfPlan" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_a1d783f4-7433-4cbb-865b-1bd28c98f7f9_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted stock units balance, vested and unvested (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Outstanding, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShortTermLeaseCost_2d4a09a2-88f5-4434-9122-5f25f3c52957_terseLabel_en-US" xlink:label="lab_us-gaap_ShortTermLeaseCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-term lease cost</link:label>
    <link:label id="lab_us-gaap_ShortTermLeaseCost_label_en-US" xlink:label="lab_us-gaap_ShortTermLeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-Term Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermLeaseCost" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermLeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShortTermLeaseCost" xlink:to="lab_us-gaap_ShortTermLeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DomesticCountryMember_64e794bb-35ef-4b7b-96ce-49569f2dbc9d_terseLabel_en-US" xlink:label="lab_us-gaap_DomesticCountryMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Federal</link:label>
    <link:label id="lab_us-gaap_DomesticCountryMember_label_en-US" xlink:label="lab_us-gaap_DomesticCountryMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Domestic Tax Authority [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticCountryMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DomesticCountryMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DomesticCountryMember" xlink:to="lab_us-gaap_DomesticCountryMember" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits_ce9ab79c-1970-4033-8bea-74ab29ff0140_terseLabel_en-US" xlink:label="lab_rock_ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Carrying amount in excess of fair value, number of reporting units</link:label>
    <link:label id="lab_rock_ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits_label_en-US" xlink:label="lab_rock_ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reporting Unit, Carrying Amount in Excess of Fair Value, Number of Reporting Units</link:label>
    <link:label id="lab_rock_ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits_documentation_en-US" xlink:label="lab_rock_ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reporting Unit, Carrying Amount in Excess of Fair Value, Number of Reporting Units</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits" xlink:href="rock-20231231.xsd#rock_ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits" xlink:to="lab_rock_ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare_b049165c-f0d5-4ea6-aa31-a7ac7a37d9a3_verboseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income from discontinued operations (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Discontinued Operations and Disposal of Discontinued Operations, Net of Tax, Per Basic Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare" xlink:to="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressAddressLine1_53b4ef0c-e770-40b5-be05-dc82dc2a9905_terseLabel_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:label id="lab_dei_EntityAddressAddressLine1_label_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressAddressLine1" xlink:to="lab_dei_EntityAddressAddressLine1" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressAddressLine2_27468a3b-b1ab-4869-9edc-ecf9a43d3128_terseLabel_en-US" xlink:label="lab_dei_EntityAddressAddressLine2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line Two</link:label>
    <link:label id="lab_dei_EntityAddressAddressLine2_label_en-US" xlink:label="lab_dei_EntityAddressAddressLine2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine2" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine2"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressAddressLine2" xlink:to="lab_dei_EntityAddressAddressLine2" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryPolicyTextBlock_481a68ad-f1c3-43b3-965f-d29442652336_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_InventoryPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_InventoryPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryPolicyTextBlock" xlink:to="lab_us-gaap_InventoryPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts_887a7547-dc0d-438c-af28-77eea47a9d99_terseLabel_en-US" xlink:label="lab_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Annual rate of increase in the per capita cost of: Prescription drug costs</link:label>
    <link:label id="lab_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts_label_en-US" xlink:label="lab_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Health Care Cost Trend Rate Assumed for Next Fiscal Year, Prescription Drug Costs</link:label>
    <link:label id="lab_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts_documentation_en-US" xlink:label="lab_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Health Care Cost Trend Rate Assumed for Next Fiscal Year, Prescription Drug Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts" xlink:href="rock-20231231.xsd#rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts" xlink:to="lab_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesNameDomain_96e0a118-9168-4b4d-bb50-225c504583dc_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities, Name [Domain]</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesNameDomain_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities, Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="lab_us-gaap_AntidilutiveSecuritiesNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract_098c6de7-1de2-4b5c-802e-594044fd0a01_terseLabel_en-US" xlink:label="lab_rock_ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asset recognized related to incremental costs of obtaining a contract</link:label>
    <link:label id="lab_rock_ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract_label_en-US" xlink:label="lab_rock_ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Asset, Obtained through Incremental Cost of Obtaining Contract</link:label>
    <link:label id="lab_rock_ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract_documentation_en-US" xlink:label="lab_rock_ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Asset, Obtained through Incremental Cost of Obtaining Contract</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract" xlink:href="rock-20231231.xsd#rock_ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract" xlink:to="lab_rock_ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_021c284a-88be-4046-b7c1-92f9433aa137_terseLabel_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity-Based Compensation</link:label>
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_label_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CurrentFederalTaxExpenseBenefit_1d91ebd1-30fe-4977-9f08-f7b46c3483a3_terseLabel_en-US" xlink:label="lab_us-gaap_CurrentFederalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">U.S. Federal</link:label>
    <link:label id="lab_us-gaap_CurrentFederalTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_CurrentFederalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Federal Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentFederalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentFederalTaxExpenseBenefit" xlink:to="lab_us-gaap_CurrentFederalTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_DebtInstrumentApplicableRatePeriodDomain_7dd2f3f1-1e36-4399-995a-a6b01f2723f9_terseLabel_en-US" xlink:label="lab_rock_DebtInstrumentApplicableRatePeriodDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Applicable Rate Period [Domain]</link:label>
    <link:label id="lab_rock_DebtInstrumentApplicableRatePeriodDomain_label_en-US" xlink:label="lab_rock_DebtInstrumentApplicableRatePeriodDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Applicable Rate Period [Domain]</link:label>
    <link:label id="lab_rock_DebtInstrumentApplicableRatePeriodDomain_documentation_en-US" xlink:label="lab_rock_DebtInstrumentApplicableRatePeriodDomain" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Applicable Rate Period [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DebtInstrumentApplicableRatePeriodDomain" xlink:href="rock-20231231.xsd#rock_DebtInstrumentApplicableRatePeriodDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_DebtInstrumentApplicableRatePeriodDomain" xlink:to="lab_rock_DebtInstrumentApplicableRatePeriodDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherNoncashIncomeExpense_f675bd41-e40b-4af7-b2d0-ed6d96cf930c_negatedLabel_en-US" xlink:label="lab_us-gaap_OtherNoncashIncomeExpense" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other, net</link:label>
    <link:label id="lab_us-gaap_OtherNoncashIncomeExpense_label_en-US" xlink:label="lab_us-gaap_OtherNoncashIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Noncash Income (Expense)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNoncashIncomeExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNoncashIncomeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherNoncashIncomeExpense" xlink:to="lab_us-gaap_OtherNoncashIncomeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_9c979a95-be8d-4e5b-845f-c3971098c999_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Exercise Price (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionAxis_aa905da6-2faf-47b8-b776-796f4e8ff9b4_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition [Axis]</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionAxis_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionAxis" xlink:to="lab_us-gaap_BusinessAcquisitionAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock_ad585795-0ec4-42f6-891c-e1e86fdc2d38_terseLabel_en-US" xlink:label="lab_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurements Used by Management to Assess Performance of Segments</link:label>
    <link:label id="lab_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock_label_en-US" xlink:label="lab_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment, Reconciliation of Other Items from Segments to Consolidated [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock" xlink:to="lab_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_f01c02d7-4e35-41d0-a3ad-2dd49a8a14ee_terseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Allowance for credit loss</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_0ed3339b-05c1-4c03-a8c2-e8c02a989c6f_periodStartLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_a76b15e5-496f-4b81-92ab-bef6278a27d4_periodEndLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_76e6989c-9e70-4f2b-a76b-587692110add_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less allowance for doubtful accounts</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_label_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLossCarryforwards_cb1a1f87-24ff-4b46-88c0-1320843493cf_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred tax assets, net of operating losses</link:label>
    <link:label id="lab_us-gaap_OperatingLossCarryforwards_label_en-US" xlink:label="lab_us-gaap_OperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Loss Carryforwards</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwards" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLossCarryforwards" xlink:to="lab_us-gaap_OperatingLossCarryforwards" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CustomerConcentrationRiskMember_b888a3dc-ccda-4c97-8392-a982048bff46_terseLabel_en-US" xlink:label="lab_us-gaap_CustomerConcentrationRiskMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer Concentration Risk</link:label>
    <link:label id="lab_us-gaap_CustomerConcentrationRiskMember_label_en-US" xlink:label="lab_us-gaap_CustomerConcentrationRiskMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer Concentration Risk [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerConcentrationRiskMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CustomerConcentrationRiskMember" xlink:to="lab_us-gaap_CustomerConcentrationRiskMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_607b235a-5231-44f6-8362-91c483771800_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State</link:label>
    <link:label id="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred State and Local Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_MarketPriceOfCommonStockPerShare_85d0fa44-1738-4f75-a1af-e41e3c8e87dc_terseLabel_en-US" xlink:label="lab_rock_MarketPriceOfCommonStockPerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Market price of common stock, per share</link:label>
    <link:label id="lab_rock_MarketPriceOfCommonStockPerShare_label_en-US" xlink:label="lab_rock_MarketPriceOfCommonStockPerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Market Price Of Common Stock Per Share</link:label>
    <link:label id="lab_rock_MarketPriceOfCommonStockPerShare_documentation_en-US" xlink:label="lab_rock_MarketPriceOfCommonStockPerShare" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Market price of common stock per share.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_MarketPriceOfCommonStockPerShare" xlink:href="rock-20231231.xsd#rock_MarketPriceOfCommonStockPerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_MarketPriceOfCommonStockPerShare" xlink:to="lab_rock_MarketPriceOfCommonStockPerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VariableRateAxis_74b628f7-b6eb-4022-9b3d-aa9d0a964290_terseLabel_en-US" xlink:label="lab_us-gaap_VariableRateAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate [Axis]</link:label>
    <link:label id="lab_us-gaap_VariableRateAxis_label_en-US" xlink:label="lab_us-gaap_VariableRateAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VariableRateAxis" xlink:to="lab_us-gaap_VariableRateAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementAbstract_22384e14-645f-44c5-9eb7-3ef28eeff5ea_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementAbstract" xlink:to="lab_us-gaap_IncomeStatementAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_8a71f997-475f-405f-9ff2-ec23331ddee7_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting, Other Significant Reconciling Item [Line Items]</link:label>
    <link:label id="lab_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_label_en-US" xlink:label="lab_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment, Reconciliation of Other Items from Segments to Consolidated [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems" xlink:to="lab_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_3d550298-20ba-4035-81a2-19989c755609_negatedLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forfeited (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_Security12bTitle_b93bda01-0388-4cf7-8766-d08e6025ebf1_terseLabel_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:label id="lab_dei_Security12bTitle_label_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_Security12bTitle" xlink:to="lab_dei_Security12bTitle" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringCostAndReserveLineItems_441675d2-c47d-438c-bb9c-5faa0f190465_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringCostAndReserveLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Cost and Reserve [Line Items]</link:label>
    <link:label id="lab_us-gaap_RestructuringCostAndReserveLineItems_label_en-US" xlink:label="lab_us-gaap_RestructuringCostAndReserveLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Cost and Reserve [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCostAndReserveLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems" xlink:to="lab_us-gaap_RestructuringCostAndReserveLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther_13b0d84a-2c9b-4a6f-b661-e809d02b09de_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other liabilities</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Noncurrent Liabilities, Other</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_37784c20-5ae8-4583-919d-1eb565b2e00f_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reconciliation of Liability for Exit Activity Costs Relating to Facility Consolidation Efforts</link:label>
    <link:label id="lab_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Restructuring Reserve by Type of Cost [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:to="lab_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanActuarialGainLoss_051fa3be-14cc-473f-be80-589bf2054ad0_negatedNetLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanActuarialGainLoss" xlink:role="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Actuarial losses (gains)</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanActuarialGainLoss_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanActuarialGainLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Benefit Obligation, Actuarial Gain (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanActuarialGainLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanActuarialGainLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanActuarialGainLoss" xlink:to="lab_us-gaap_DefinedBenefitPlanActuarialGainLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationDisclosureTextBlock_d9859f54-b269-4a63-b674-20f71e55b430_verboseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquisitions</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:to="lab_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_de836fd7-665f-4889-b024-e66c60382d87_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plans and Other Postretirement Benefit Plans Table Text Block [Line Items]</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plans and Other Postretirement Benefit Plans Table Text Block [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems" xlink:to="lab_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_43981348-c76f-4de3-a8e2-0ed92b890024_verboseLabel_en-US" xlink:label="lab_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Carrying Amount, Indefinite-lived intangible assets</link:label>
    <link:label id="lab_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_label_en-US" xlink:label="lab_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Indefinite-Lived Intangible Assets (Excluding Goodwill)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:to="lab_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingSegmentsMember_fa14e244-3baf-45c9-b090-116f58c706be_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingSegmentsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Segments</link:label>
    <link:label id="lab_us-gaap_OperatingSegmentsMember_label_en-US" xlink:label="lab_us-gaap_OperatingSegmentsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Segments [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingSegmentsMember" xlink:to="lab_us-gaap_OperatingSegmentsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_6b096750-abc7-4119-8a8f-776e6dfa001f_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance at beginning of period (in USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_361473b9-196c-4ef9-8d80-377351b5bcee_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance at end of period (in USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAssetsCurrent_dd8fbd6a-79f8-48ad-98d8-e51ef402526e_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label id="lab_us-gaap_OtherAssetsCurrent_label_en-US" xlink:label="lab_us-gaap_OtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsCurrent" xlink:to="lab_us-gaap_OtherAssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_8ecdace5-09bb-44f6-a8dd-0ab8aed6dbf6_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:to="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_e4ebc20b-bb73-41b8-8c75-76d36aff4119_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statutory rate</link:label>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_label_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:to="lab_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_69f6c4f5-62e0-4000-8fde-bac42a811cbd_verboseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPostretirementHealthCoverageMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Postretirement Benefits</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_bab261ac-8370-420a-a59f-bfe16e2ed06c_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPostretirementHealthCoverageMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unamortized Post-Retirement Health Care Costs</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPostretirementHealthCoverageMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Postretirement Health Coverage [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPostretirementHealthCoverageMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPostretirementHealthCoverageMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPostretirementHealthCoverageMember" xlink:to="lab_us-gaap_DefinedBenefitPostretirementHealthCoverageMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_b2e4dd12-5372-4a69-8b1d-86d215d55655_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Accounts Receivable</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:to="lab_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareDilutedAbstract_8196d920-9cbe-4863-a862-5c2e4afd73e9_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDilutedAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net earnings per share &#8211; Diluted:</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareDilutedAbstract_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareDilutedAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Diluted [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDilutedAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDilutedAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareDilutedAbstract" xlink:to="lab_us-gaap_EarningsPerShareDilutedAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_f362d419-503d-45fc-9810-bf232b345ffb_terseLabel_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_label_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityTaxIdentificationNumber" xlink:to="lab_dei_EntityTaxIdentificationNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossTaxAbstract_9c725185-1d25-4a05-a50e-4c1045cf4677_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossTaxAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax Benefit (Expense)</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossTaxAbstract_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossTaxAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Tax [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossTaxAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossTaxAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossTaxAbstract" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossTaxAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_6a07a5b2-3eef-4e6a-a520-681b1cd05362_verboseLabel_en-US" xlink:label="lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign currency translation</link:label>
    <link:label id="lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_label_en-US" xlink:label="lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, Foreign Currency Translation Gain (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:to="lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryNet_f7058b7e-397d-47e9-a1a2-03c481ce6190_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories, net</link:label>
    <link:label id="lab_us-gaap_InventoryNet_4889d7b2-83ad-4bf8-b360-bb4f6cebbcc0_totalLabel_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total inventories</link:label>
    <link:label id="lab_us-gaap_InventoryNet_label_en-US" xlink:label="lab_us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryNet" xlink:to="lab_us-gaap_InventoryNet" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_ContractsReceivableGrossCurrent_58669dcb-a256-4e07-a9b0-bbb4926bd6de_totalLabel_en-US" xlink:label="lab_rock_ContractsReceivableGrossCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total contract receivables</link:label>
    <link:label id="lab_rock_ContractsReceivableGrossCurrent_label_en-US" xlink:label="lab_rock_ContractsReceivableGrossCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contracts Receivable, Gross, Current</link:label>
    <link:label id="lab_rock_ContractsReceivableGrossCurrent_documentation_en-US" xlink:label="lab_rock_ContractsReceivableGrossCurrent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contracts Receivable, Gross, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ContractsReceivableGrossCurrent" xlink:href="rock-20231231.xsd#rock_ContractsReceivableGrossCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ContractsReceivableGrossCurrent" xlink:to="lab_rock_ContractsReceivableGrossCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseCost_208bd47a-d80f-4862-82f7-7c5b02a18765_terseLabel_en-US" xlink:label="lab_us-gaap_LeaseCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total lease cost</link:label>
    <link:label id="lab_us-gaap_LeaseCost_label_en-US" xlink:label="lab_us-gaap_LeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCost" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseCost" xlink:to="lab_us-gaap_LeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationOperatingExpense_1ffb6dde-861c-4d76-9369-d2368f42faa4_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationOperatingExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating expenses</link:label>
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationOperatingExpense_label_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationOperatingExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Operating Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationOperatingExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationOperatingExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationOperatingExpense" xlink:to="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationOperatingExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RangeAxis_e9101ce7-b309-49fb-bf70-ef89b6a7bd95_terseLabel_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:label id="lab_srt_RangeAxis_label_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeAxis" xlink:to="lab_srt_RangeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BalanceSheetLocationDomain_2cfb572f-1041-4043-9d05-fdd618aaf9b0_terseLabel_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance Sheet Location [Domain]</link:label>
    <link:label id="lab_us-gaap_BalanceSheetLocationDomain_label_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance Sheet Location [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BalanceSheetLocationDomain" xlink:to="lab_us-gaap_BalanceSheetLocationDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock_3374bca5-9b4e-41dc-a9a6-bc4225910807_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">DISCONTINUED OPERATIONS</link:label>
    <link:label id="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Groups, Including Discontinued Operations, Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock" xlink:to="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentOperatingActivitiesDomain_24ac9674-dc10-4e61-a7ed-18f46a3aa488_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentOperatingActivitiesDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Activities [Domain]</link:label>
    <link:label id="lab_us-gaap_SegmentOperatingActivitiesDomain_label_en-US" xlink:label="lab_us-gaap_SegmentOperatingActivitiesDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Activities [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentOperatingActivitiesDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentOperatingActivitiesDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentOperatingActivitiesDomain" xlink:to="lab_us-gaap_SegmentOperatingActivitiesDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_e3d908dd-9d6f-47e1-bfec-f7d1c0289330_terseLabel_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_label_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityInteractiveDataCurrent" xlink:to="lab_dei_EntityInteractiveDataCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTable_92c744b5-d6ae-426f-8bd9-b689d6895b1e_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Table]</link:label>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTable_label_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable" xlink:to="lab_us-gaap_DisaggregationOfRevenueTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermDebtTextBlock_6d4cf090-5eee-4d01-b901-50884fd6bb74_verboseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt</link:label>
    <link:label id="lab_us-gaap_LongTermDebtTextBlock_label_en-US" xlink:label="lab_us-gaap_LongTermDebtTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebtTextBlock" xlink:to="lab_us-gaap_LongTermDebtTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdvertisingCostsPolicyTextBlock_94b52b95-7c30-43f4-8aef-71d34a9d7147_terseLabel_en-US" xlink:label="lab_us-gaap_AdvertisingCostsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Advertising</link:label>
    <link:label id="lab_us-gaap_AdvertisingCostsPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_AdvertisingCostsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Advertising Cost [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdvertisingCostsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingCostsPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdvertisingCostsPolicyTextBlock" xlink:to="lab_us-gaap_AdvertisingCostsPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_11cd8cd6-bc6c-4463-97d7-f3805cefdd70_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase of common stock at market prices</link:label>
    <link:label id="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_label_en-US" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments for Repurchase of Common Stock</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_d7d7635f-8aa1-499b-aa0f-b29e68e73085_terseLabel_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_label_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCommonStockSharesOutstanding" xlink:to="lab_dei_EntityCommonStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_3db643fe-582d-4d53-8834-4e3c5a0144e6_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and other intangible assets</link:label>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityWellKnownSeasonedIssuer_c5511906-aa52-4f90-bf6b-becba41ed56c_terseLabel_en-US" xlink:label="lab_dei_EntityWellKnownSeasonedIssuer" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
    <link:label id="lab_dei_EntityWellKnownSeasonedIssuer_label_en-US" xlink:label="lab_dei_EntityWellKnownSeasonedIssuer" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityWellKnownSeasonedIssuer" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityWellKnownSeasonedIssuer" xlink:to="lab_dei_EntityWellKnownSeasonedIssuer" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_bcbe3a1b-3533-4c3c-a8d6-0643c8be8bb1_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign</link:label>
    <link:label id="lab_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Foreign Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryDisclosureAbstract_84c0ddb7-5578-4c14-a6f1-f6d97360ee3e_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_InventoryDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_InventoryDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureAbstract" xlink:to="lab_us-gaap_InventoryDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentDomain_56826339-5c29-40e3-8396-d9cfc11d9753_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segments [Domain]</link:label>
    <link:label id="lab_us-gaap_SegmentDomain_label_en-US" xlink:label="lab_us-gaap_SegmentDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segments [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentDomain" xlink:to="lab_us-gaap_SegmentDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_74b86e91-e9ca-4d42-824b-b6393c47a2fa_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ConsolidationItemsDomain_b1bd83ca-ed4d-4f74-b58a-c6f5ca99755c_terseLabel_en-US" xlink:label="lab_srt_ConsolidationItemsDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consolidation Items [Domain]</link:label>
    <link:label id="lab_srt_ConsolidationItemsDomain_label_en-US" xlink:label="lab_srt_ConsolidationItemsDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consolidation Items [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ConsolidationItemsDomain" xlink:to="lab_srt_ConsolidationItemsDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_33f044fd-daea-44a8-ab9a-7209726b80e4_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained earnings</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_7dfafc93-e4fd-4e60-b9a7-14b915f74b46_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_20519ed1-5ba0-4949-9f61-c2351f5c19f8_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue recognition</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_f95e5081-4b61-4905-9b16-055a073b92f8_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise Price Range [Axis]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise Price Range [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:to="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_RestructuringAndRelatedCostNumberOfFacilitiesRelocated_4d682951-6dda-4490-a862-8d753de2c0fc_terseLabel_en-US" xlink:label="lab_rock_RestructuringAndRelatedCostNumberOfFacilitiesRelocated" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of facilities relocated</link:label>
    <link:label id="lab_rock_RestructuringAndRelatedCostNumberOfFacilitiesRelocated_label_en-US" xlink:label="lab_rock_RestructuringAndRelatedCostNumberOfFacilitiesRelocated" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring And Related Cost, Number Of Facilities Relocated</link:label>
    <link:label id="lab_rock_RestructuringAndRelatedCostNumberOfFacilitiesRelocated_documentation_en-US" xlink:label="lab_rock_RestructuringAndRelatedCostNumberOfFacilitiesRelocated" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring And Related Cost, Number Of Facilities Relocated</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RestructuringAndRelatedCostNumberOfFacilitiesRelocated" xlink:href="rock-20231231.xsd#rock_RestructuringAndRelatedCostNumberOfFacilitiesRelocated"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_RestructuringAndRelatedCostNumberOfFacilitiesRelocated" xlink:to="lab_rock_RestructuringAndRelatedCostNumberOfFacilitiesRelocated" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentFaceAmount_e2b5e868-247a-4987-87c4-23315f16c192_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentFaceAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Term loan (up to)</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentFaceAmount_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentFaceAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Face Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentFaceAmount" xlink:to="lab_us-gaap_DebtInstrumentFaceAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_0711f2b1-3609-4898-abd2-8cb0bb30370d_terseLabel_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_label_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityIncorporationStateCountryCode" xlink:to="lab_dei_EntityIncorporationStateCountryCode" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_TwoThousandEighteenEquityIncentivePlanMember_7b31027b-9d4b-44e4-87ad-bec765f4f741_terseLabel_en-US" xlink:label="lab_rock_TwoThousandEighteenEquityIncentivePlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2015 Equity Incentive Plan</link:label>
    <link:label id="lab_rock_TwoThousandEighteenEquityIncentivePlanMember_label_en-US" xlink:label="lab_rock_TwoThousandEighteenEquityIncentivePlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Two Thousand Eighteen Equity Incentive Plan [Member]</link:label>
    <link:label id="lab_rock_TwoThousandEighteenEquityIncentivePlanMember_documentation_en-US" xlink:label="lab_rock_TwoThousandEighteenEquityIncentivePlanMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Two Thousand Eighteen Equity Incentive Plan [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TwoThousandEighteenEquityIncentivePlanMember" xlink:href="rock-20231231.xsd#rock_TwoThousandEighteenEquityIncentivePlanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_TwoThousandEighteenEquityIncentivePlanMember" xlink:to="lab_rock_TwoThousandEighteenEquityIncentivePlanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1_8587185a-6c64-4b79-9613-42219a934285_terseLabel_en-US" xlink:label="lab_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Seller note principal amount</link:label>
    <link:label id="lab_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1_label_en-US" xlink:label="lab_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Noncash or Part Noncash Divestiture, Amount of Consideration Received</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1" xlink:to="lab_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_578aae20-0a7e-4cb1-a8d0-d0897a686da7_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current assets:</link:label>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrentAbstract" xlink:to="lab_us-gaap_AssetsCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableGrossCurrent_10189ebc-6cd8-44f9-9205-62f6133eb859_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableGrossCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trade accounts receivable</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableGrossCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableGrossCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, before Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableGrossCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableGrossCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableGrossCurrent" xlink:to="lab_us-gaap_AccountsReceivableGrossCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeasesAbstract_874613d9-d462-4884-be82-3a905655c2d8_terseLabel_en-US" xlink:label="lab_us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases [Abstract]</link:label>
    <link:label id="lab_us-gaap_LeasesAbstract_label_en-US" xlink:label="lab_us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeasesAbstract" xlink:to="lab_us-gaap_LeasesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdvertisingExpense_40c77698-e51b-4fa2-b79a-c5f59fbd7da9_terseLabel_en-US" xlink:label="lab_us-gaap_AdvertisingExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Advertising costs</link:label>
    <link:label id="lab_us-gaap_AdvertisingExpense_label_en-US" xlink:label="lab_us-gaap_AdvertisingExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Advertising Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdvertisingExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdvertisingExpense" xlink:to="lab_us-gaap_AdvertisingExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_BillingsinExcessofCostMember_6eb4e34f-b196-49da-b54d-7804e8c42360_terseLabel_en-US" xlink:label="lab_rock_BillingsinExcessofCostMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Billings in excess of costs</link:label>
    <link:label id="lab_rock_BillingsinExcessofCostMember_label_en-US" xlink:label="lab_rock_BillingsinExcessofCostMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Billings in Excess of Cost [Member]</link:label>
    <link:label id="lab_rock_BillingsinExcessofCostMember_documentation_en-US" xlink:label="lab_rock_BillingsinExcessofCostMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Billings in Excess of Cost [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_BillingsinExcessofCostMember" xlink:href="rock-20231231.xsd#rock_BillingsinExcessofCostMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_BillingsinExcessofCostMember" xlink:to="lab_rock_BillingsinExcessofCostMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_0c85758b-2cf8-430e-a4ea-0b45d0ab5c32_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities (Assets)</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressStateOrProvince_1bccc758-f768-4acb-b725-dc2a44c4c305_terseLabel_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:label id="lab_dei_EntityAddressStateOrProvince_label_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressStateOrProvince" xlink:to="lab_dei_EntityAddressStateOrProvince" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill_481d8f07-7865-4607-bd93-e37df68b8d1c_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Goodwill</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_b6f6f7ae-b648-411c-89b7-21a85c27a621_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Revenues from External Customers and Long-Lived Assets [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Revenues from External Customers and Long-Lived Assets [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_e14feef4-1cee-43a1-845d-ee32e9d8e1d2_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash Flows from Operating Activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_08f4dfe6-229e-4229-a041-f9661d429682_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_5432f6b6-daa2-420c-9fbd-0d51a443ee3d_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income from continuing operations (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations, Per Basic Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsPerBasicShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_56ffda97-0908-464c-92d6-623c7066c5d4_verboseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeasePayments_5ed411c6-2d8a-41f9-82d7-0596d1b618f3_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash paid for amounts included in the measurement of operating liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeasePayments_label_en-US" xlink:label="lab_us-gaap_OperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Payments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeasePayments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasePayments" xlink:to="lab_us-gaap_OperatingLeasePayments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_5a040197-5e08-48b0-a1b8-737cdaf2bc83_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesOutstanding" xlink:to="lab_us-gaap_CommonStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_7c7081b1-5541-4adb-86d7-9d469f00dfb6_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group Name [Domain]</link:label>
    <link:label id="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_label_en-US" xlink:label="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:to="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanInterestCost_ae246986-87fd-4070-9c13-058beac1cee2_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanInterestCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest cost</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanInterestCost_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanInterestCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Interest Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanInterestCost" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanInterestCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanInterestCost" xlink:to="lab_us-gaap_DefinedBenefitPlanInterestCost" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AuditorLocation_9ddeb925-4adc-4ba1-9463-f38633205828_terseLabel_en-US" xlink:label="lab_dei_AuditorLocation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Location</link:label>
    <link:label id="lab_dei_AuditorLocation_label_en-US" xlink:label="lab_dei_AuditorLocation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Location</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorLocation" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorLocation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AuditorLocation" xlink:to="lab_dei_AuditorLocation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanDisclosureLineItems_b5f45008-095e-49cc-b4b6-751869ce36c6_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan Disclosure [Line Items]</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanDisclosureLineItems_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan Disclosure [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="lab_us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ManagementMember_85a06d53-7269-41f4-bf2b-4ce57775b9e3_terseLabel_en-US" xlink:label="lab_srt_ManagementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Management</link:label>
    <link:label id="lab_srt_ManagementMember_label_en-US" xlink:label="lab_srt_ManagementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Management [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ManagementMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ManagementMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ManagementMember" xlink:to="lab_srt_ManagementMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_603f51cf-ecdb-4873-940a-31ce5a0f9662_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Line Items]</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_bbc13fcb-4213-4db9-8e59-e4f800d4ce4c_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State taxes, less federal effect</link:label>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_label_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:to="lab_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_01584b3a-1c73-4a09-9c3c-131458735d71_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, par value (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_label_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_908fdde4-73ba-4edb-a739-7dbaf3d9f8d7_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Other Adjustments, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital_fa60a9bd-b946-4dac-b81d-7d1a4559ac41_terseLabel_en-US" xlink:label="lab_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Working capital</link:label>
    <link:label id="lab_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital_label_en-US" xlink:label="lab_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Working Capital</link:label>
    <link:label id="lab_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital_documentation_en-US" xlink:label="lab_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Working Capital</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital" xlink:href="rock-20231231.xsd#rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital" xlink:to="lab_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_675c3dbb-c5a3-4214-bef8-0f68f7e55883_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash (used in) provided by investing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_Amended2018PlanMember_ed72dc20-023f-4236-987d-b6e1abf78624_terseLabel_en-US" xlink:label="lab_rock_Amended2018PlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amended 2018 Plan</link:label>
    <link:label id="lab_rock_Amended2018PlanMember_label_en-US" xlink:label="lab_rock_Amended2018PlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amended 2018 Plan [Member]</link:label>
    <link:label id="lab_rock_Amended2018PlanMember_documentation_en-US" xlink:label="lab_rock_Amended2018PlanMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amended 2018 Plan</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_Amended2018PlanMember" xlink:href="rock-20231231.xsd#rock_Amended2018PlanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_Amended2018PlanMember" xlink:to="lab_rock_Amended2018PlanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_NameOfMajorCustomerDomain_b078e338-5959-4f80-86e1-6319262ea9e9_terseLabel_en-US" xlink:label="lab_srt_NameOfMajorCustomerDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer [Domain]</link:label>
    <link:label id="lab_srt_NameOfMajorCustomerDomain_label_en-US" xlink:label="lab_srt_NameOfMajorCustomerDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_NameOfMajorCustomerDomain" xlink:to="lab_srt_NameOfMajorCustomerDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_0082b45a-8c4d-4967-b3ff-c037de0d80ea_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Inventories</link:label>
    <link:label id="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Inventory, Current [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_157733f7-1162-42ed-8a01-c653868e315f_terseLabel_en-US" xlink:label="lab_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenues from External Customers and Long-Lived Assets [Line Items]</link:label>
    <link:label id="lab_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_label_en-US" xlink:label="lab_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenues from External Customers and Long-Lived Assets [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="lab_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_7302ec71-8a3b-44dc-9f69-ae6db718afac_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Options (in shares):</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_AccruedExpensesCurrentMember_700aa57a-3e89-455d-92c8-f119070b308b_terseLabel_en-US" xlink:label="lab_rock_AccruedExpensesCurrentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Expenses, Current</link:label>
    <link:label id="lab_rock_AccruedExpensesCurrentMember_label_en-US" xlink:label="lab_rock_AccruedExpensesCurrentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Expenses, Current [Member]</link:label>
    <link:label id="lab_rock_AccruedExpensesCurrentMember_documentation_en-US" xlink:label="lab_rock_AccruedExpensesCurrentMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Expenses, Current [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AccruedExpensesCurrentMember" xlink:href="rock-20231231.xsd#rock_AccruedExpensesCurrentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_AccruedExpensesCurrentMember" xlink:to="lab_rock_AccruedExpensesCurrentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_InventoryRollForward_4da945cb-d92b-4ed7-9a58-c16b6ae08884_terseLabel_en-US" xlink:label="lab_rock_InventoryRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory [Roll Forward]</link:label>
    <link:label id="lab_rock_InventoryRollForward_label_en-US" xlink:label="lab_rock_InventoryRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory [Roll Forward]</link:label>
    <link:label id="lab_rock_InventoryRollForward_documentation_en-US" xlink:label="lab_rock_InventoryRollForward" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InventoryRollForward" xlink:href="rock-20231231.xsd#rock_InventoryRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_InventoryRollForward" xlink:to="lab_rock_InventoryRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentAxis_3ee86092-b593-4468-8425-a594c076d113_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Axis]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentAxis_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentAxis" xlink:to="lab_us-gaap_DebtInstrumentAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperations_f1629069-94b0-4653-980c-04ce42d8043a_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income from continuing operations</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperations_d58f31dd-2d82-45dd-9dad-f1e10532514b_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income from continuing operations</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperations_c86fdb4c-7263-46d4-bef2-9998fbe8ed90_verboseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income from continuing operations</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperations_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations, Net of Tax, Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperations" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_cfe46298-f55e-4b4c-b3e6-22eff261efd6_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective income tax rate, percentage</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_58f3f1eb-e167-451f-9577-210491da4541_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Present value of lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiability" xlink:to="lab_us-gaap_OperatingLeaseLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MeasurementInputTypeDomain_aff81b37-20db-45bf-8a6f-ba9e860fe7a9_terseLabel_en-US" xlink:label="lab_us-gaap_MeasurementInputTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Input Type [Domain]</link:label>
    <link:label id="lab_us-gaap_MeasurementInputTypeDomain_label_en-US" xlink:label="lab_us-gaap_MeasurementInputTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Input Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MeasurementInputTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MeasurementInputTypeDomain" xlink:to="lab_us-gaap_MeasurementInputTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CreditFacilityAxis_94866151-208a-44ca-b0a4-7d6da49da7ef_terseLabel_en-US" xlink:label="lab_us-gaap_CreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Axis]</link:label>
    <link:label id="lab_us-gaap_CreditFacilityAxis_label_en-US" xlink:label="lab_us-gaap_CreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditFacilityAxis" xlink:to="lab_us-gaap_CreditFacilityAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_JapanBasedSolarRackingBusinessMember_24a35e77-384a-418b-b855-41e466f7b41b_terseLabel_en-US" xlink:label="lab_rock_JapanBasedSolarRackingBusinessMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Japan-Based Solar Racking Business</link:label>
    <link:label id="lab_rock_JapanBasedSolarRackingBusinessMember_label_en-US" xlink:label="lab_rock_JapanBasedSolarRackingBusinessMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Japan-Based Solar Racking Business [Member]</link:label>
    <link:label id="lab_rock_JapanBasedSolarRackingBusinessMember_documentation_en-US" xlink:label="lab_rock_JapanBasedSolarRackingBusinessMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Japan-Based Solar Racking Business</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_JapanBasedSolarRackingBusinessMember" xlink:href="rock-20231231.xsd#rock_JapanBasedSolarRackingBusinessMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_JapanBasedSolarRackingBusinessMember" xlink:to="lab_rock_JapanBasedSolarRackingBusinessMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CurrentIncomeTaxExpenseBenefit_21fc2490-4d1d-41ed-90be-d53ee1770ac2_totalLabel_en-US" xlink:label="lab_us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current</link:label>
    <link:label id="lab_us-gaap_CurrentIncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_82521916-c99e-41c1-a3d4-21a4358117e4_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net proceeds of sale of business</link:label>
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_label_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Consideration</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration" xlink:to="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_RenewablesMember_98a4fed2-a713-45d5-b00a-d9ec2fe34790_terseLabel_en-US" xlink:label="lab_rock_RenewablesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Renewables</link:label>
    <link:label id="lab_rock_RenewablesMember_label_en-US" xlink:label="lab_rock_RenewablesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Renewables [Member]</link:label>
    <link:label id="lab_rock_RenewablesMember_documentation_en-US" xlink:label="lab_rock_RenewablesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Renewables</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewablesMember" xlink:href="rock-20231231.xsd#rock_RenewablesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_RenewablesMember" xlink:to="lab_rock_RenewablesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_7575e002-1095-4642-a27a-dd99646a025a_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive (Loss) Income</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">AOCI Attributable to Parent [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_ExercisePriceRangeOneMember_029d2506-5255-4770-9aaa-fa622c19d3b5_terseLabel_en-US" xlink:label="lab_rock_ExercisePriceRangeOneMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">$39.55</link:label>
    <link:label id="lab_rock_ExercisePriceRangeOneMember_label_en-US" xlink:label="lab_rock_ExercisePriceRangeOneMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise Price Range One [Member]</link:label>
    <link:label id="lab_rock_ExercisePriceRangeOneMember_documentation_en-US" xlink:label="lab_rock_ExercisePriceRangeOneMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise Price Range One [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ExercisePriceRangeOneMember" xlink:href="rock-20231231.xsd#rock_ExercisePriceRangeOneMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ExercisePriceRangeOneMember" xlink:to="lab_rock_ExercisePriceRangeOneMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_1b606f59-9a52-425a-a7ed-2ef4e43f2c39_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost charged to the tax provision</link:label>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves, Additions, Charge to Cost and Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_cd5ee457-8d34-43f5-83b4-5becf4f88fa6_verboseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant, and Equipment</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationOtherAdjustments_c2153f42-f6df-4491-bdbb-7fffe5ac9fa6_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other</link:label>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationOtherAdjustments_label_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Other Adjustments, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:to="lab_us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_TitleOfIndividualAxis_55b0e227-3c9d-44bf-9a8a-824fc438f267_terseLabel_en-US" xlink:label="lab_srt_TitleOfIndividualAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of Individual [Axis]</link:label>
    <link:label id="lab_srt_TitleOfIndividualAxis_label_en-US" xlink:label="lab_srt_TitleOfIndividualAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of Individual [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_TitleOfIndividualAxis" xlink:to="lab_srt_TitleOfIndividualAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_99c735cc-7e58-4580-abbe-e0de9410c619_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Table]</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_SeniorCreditAgreementMember_046fa671-0dcc-4e09-a340-1f80b8b8c19a_terseLabel_en-US" xlink:label="lab_rock_SeniorCreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Senior Credit Agreement</link:label>
    <link:label id="lab_rock_SeniorCreditAgreementMember_label_en-US" xlink:label="lab_rock_SeniorCreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Senior Credit Agreement [Member]</link:label>
    <link:label id="lab_rock_SeniorCreditAgreementMember_documentation_en-US" xlink:label="lab_rock_SeniorCreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Senior Credit Agreement [Member].</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SeniorCreditAgreementMember" xlink:href="rock-20231231.xsd#rock_SeniorCreditAgreementMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_SeniorCreditAgreementMember" xlink:to="lab_rock_SeniorCreditAgreementMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_dd5ac722-b9b0-4355-889f-3ccce2de220d_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Groups, Including Discontinued Operations [Table]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_label_en-US" xlink:label="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Groups, Including Discontinued Operations [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable" xlink:to="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOperatingActivitiesSegmentAxis_17ccd349-8e97-41f2-8a50-e4767f2728eb_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOperatingActivitiesSegmentAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Activities [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementOperatingActivitiesSegmentAxis_label_en-US" xlink:label="lab_us-gaap_StatementOperatingActivitiesSegmentAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Activities [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOperatingActivitiesSegmentAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOperatingActivitiesSegmentAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOperatingActivitiesSegmentAxis" xlink:to="lab_us-gaap_StatementOperatingActivitiesSegmentAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_8a5bd237-6da2-474d-8159-f0c10d7a692d_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Postretirement Benefit Plan Adjustments</link:label>
    <link:label id="lab_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_label_en-US" xlink:label="lab_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Defined Benefit Plans Adjustment Attributable to Parent [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember" xlink:to="lab_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_18cf8fc4-e5b0-4d87-bb49-ee4762c9e1a2_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized research and development costs</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, in Process Research and Development</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:to="lab_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PlanNameAxis_8c043127-39d0-4a4a-b4b3-df91da1b1b3f_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:label id="lab_us-gaap_PlanNameAxis_label_en-US" xlink:label="lab_us-gaap_PlanNameAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameAxis" xlink:to="lab_us-gaap_PlanNameAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_80a278b8-1b33-4530-9c95-4c98f8ee5561_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Expenses</link:label>
    <link:label id="lab_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Payable and Accrued Liabilities Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:to="lab_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_NorthAmericaMember_74aa39a8-64e0-41c9-b8aa-0310efa4186e_terseLabel_en-US" xlink:label="lab_srt_NorthAmericaMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">North America</link:label>
    <link:label id="lab_srt_NorthAmericaMember_label_en-US" xlink:label="lab_srt_NorthAmericaMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">North America [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NorthAmericaMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NorthAmericaMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_NorthAmericaMember" xlink:to="lab_srt_NorthAmericaMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain_bef7d0a9-93d2-4c74-b0f6-ef60e9cb0646_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Type [Domain]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Lived Tangible Asset [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisposalGroupDisposedOfBySaleNotDiscontinuedOperationsMember_b01d02be-fca0-4725-8233-c97d3c7cd44c_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupDisposedOfBySaleNotDiscontinuedOperationsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Disposed of by Sale, Not Discontinued Operations</link:label>
    <link:label id="lab_us-gaap_DisposalGroupDisposedOfBySaleNotDiscontinuedOperationsMember_label_en-US" xlink:label="lab_us-gaap_DisposalGroupDisposedOfBySaleNotDiscontinuedOperationsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group, Disposed of by Sale, Not Discontinued Operations [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupDisposedOfBySaleNotDiscontinuedOperationsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupDisposedOfBySaleNotDiscontinuedOperationsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupDisposedOfBySaleNotDiscontinuedOperationsMember" xlink:to="lab_us-gaap_DisposalGroupDisposedOfBySaleNotDiscontinuedOperationsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_4e11be61-71e0-4f4f-95f2-411e1752a1ac_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Tax benefits recognized related to stock compensation expense</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Expense, Tax Benefit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NumberOfReportableSegments_f815b3fb-3eb6-4354-b210-4e39e529241b_terseLabel_en-US" xlink:label="lab_us-gaap_NumberOfReportableSegments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of reportable segments</link:label>
    <link:label id="lab_us-gaap_NumberOfReportableSegments_label_en-US" xlink:label="lab_us-gaap_NumberOfReportableSegments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of Reportable Segments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportableSegments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportableSegments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NumberOfReportableSegments" xlink:to="lab_us-gaap_NumberOfReportableSegments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_67a43d1f-388f-464b-b66e-01ba4a192169_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net earnings per share &#8211; Basic:</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareAbstract" xlink:to="lab_us-gaap_EarningsPerShareAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo_3a4efccc-e2c7-4e1c-8fd7-0a3d586c1e47_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2025</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Expected Future Benefit Payment, Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo" xlink:to="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockValue_a3a55b84-8a7e-415e-a2db-dacc64112248_verboseLabel_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, $0.01 par value; authorized 100,000 shares; 34,219 and 34,060 shares issued and outstanding in 2023 and 2022</link:label>
    <link:label id="lab_us-gaap_CommonStockValue_label_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Value, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockValue" xlink:to="lab_us-gaap_CommonStockValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossBeforeTax_8f0db695-7d53-4857-9643-d8241506b1e3_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossBeforeTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), before Tax</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossBeforeTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossBeforeTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), before Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossBeforeTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossBeforeTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossBeforeTax" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65_eebbdebc-0fc5-49c2-900f-30c3bcb59785_terseLabel_en-US" xlink:label="lab_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Annual rate of increase in the per capita cost of: Medical costs before age 65</link:label>
    <link:label id="lab_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65_label_en-US" xlink:label="lab_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Health Care Cost Trend Rate Assumed for Next Fiscal Year, Medical Costs Before Age 65</link:label>
    <link:label id="lab_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65_documentation_en-US" xlink:label="lab_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Health Care Cost Trend Rate Assumed for Next Fiscal Year, Medical Costs Before Age 65</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65" xlink:href="rock-20231231.xsd#rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65" xlink:to="lab_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_2e84463f-af5c-4c2f-8472-c878075377d1_terseLabel_en-US" xlink:label="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State</link:label>
    <link:label id="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current State and Local Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:to="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingPolicyPolicyTextBlock_6efc13db-984f-4b68-bbcc-1c48dfda4c60_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment reporting</link:label>
    <link:label id="lab_us-gaap_SegmentReportingPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:to="lab_us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrent_e8ca79db-d62f-4c51-8ae3-1b0a4c4a9a81_totalLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current assets</link:label>
    <link:label id="lab_us-gaap_AssetsCurrent_label_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="lab_us-gaap_AssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_d1abbd71-37b7-44a3-8cc1-a09b71298689_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred:</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_38cc9531-2ceb-447c-a1a5-f757e430bc02_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Defined Benefit Plans Disclosures [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Defined Benefit Plans Disclosures [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="lab_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_16ec70c2-4b2d-4664-b7b7-597df19a7542_totalLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net periodic pension cost</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Net Periodic Benefit Cost (Credit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:to="lab_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerAbstract_e30451b3-a04d-4cf5-814e-d5f6f335b059_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Abstract]</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerAbstract_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFilerCategory_23198cf0-f88b-4a2e-9bbb-8b363ddb83cc_terseLabel_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Filer Category</link:label>
    <link:label id="lab_dei_EntityFilerCategory_label_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Filer Category</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFilerCategory" xlink:to="lab_dei_EntityFilerCategory" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringCostAndReserveAxis_48a4e742-95ce-4bb4-b5b6-340c585bae60_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringCostAndReserveAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Type [Axis]</link:label>
    <link:label id="lab_us-gaap_RestructuringCostAndReserveAxis_label_en-US" xlink:label="lab_us-gaap_RestructuringCostAndReserveAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCostAndReserveAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringCostAndReserveAxis" xlink:to="lab_us-gaap_RestructuringCostAndReserveAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementTable_58c2c222-b7d3-4a74-8d98-2a47857b2abb_terseLabel_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Table]</link:label>
    <link:label id="lab_us-gaap_StatementTable_label_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementTable" xlink:to="lab_us-gaap_StatementTable" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_3b34372f-894f-4265-be3e-99fa65c8dc03_terseLabel_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_label_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CurrentFiscalYearEndDate" xlink:to="lab_dei_CurrentFiscalYearEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerSharePolicyTextBlock_d2c9bf3c-a05a-44e7-b88f-5c0ae9b0c2a1_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings per share</link:label>
    <link:label id="lab_us-gaap_EarningsPerSharePolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerSharePolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerSharePolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="lab_us-gaap_EarningsPerSharePolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_c8019524-c6b4-4239-9d70-b4f8dd0d44fe_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Related Intangible Assets</link:label>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodShares_0e561bf7-6322-481e-9bdd-ddb23539c3e2_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodShares" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock repurchased under stock repurchase program (in shares)</link:label>
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodShares_label_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchased During Period, Shares</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodShares" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodShares" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable_498e6267-15fc-47c0-9754-b5a619169fcd_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue recognized which was in contract liabilities</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Asset, Reclassified to Receivable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetReclassifiedToReceivable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable" xlink:to="lab_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_e97b57f0-fd90-44c7-ba0d-e5a9449d42b1_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision for Income Taxes from Continuing Operations Differs from the Federal Statutory Rate</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityAxis_70fca410-6450-44a6-90ed-675820e3182f_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityAxis_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis" xlink:to="lab_us-gaap_IncomeTaxAuthorityAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount_7c22cd7e-bc8e-43de-8bd3-62627183a940_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Excess tax benefit on stock based compensation</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-Based Payment Arrangement, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskPercentage1_b4cec0b9-3ef4-4231-a70a-c446ae605755_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskPercentage1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentrations of credit risk</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskPercentage1_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskPercentage1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk, Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskPercentage1" xlink:to="lab_us-gaap_ConcentrationRiskPercentage1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_710bc161-ba26-4f75-a8c4-14dc4143f950_terseLabel_en-US" xlink:label="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current:</link:label>
    <link:label id="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_label_en-US" xlink:label="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Income Tax Expense (Benefit), Continuing Operations [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_4675862a-018d-476a-8e08-1c9c2c0a5168_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Components of Accumulated Other Comprehensive Income (Loss)</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesAuthorized_04f7cccd-e0af-4d14-afcc-c2a2bd6c8b92_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, shares authorized (in shares)</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesAuthorized" xlink:to="lab_us-gaap_PreferredStockSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable_88ded21d-74ea-41c4-9e9d-b19b0594e1ad_terseLabel_en-US" xlink:label="lab_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reconciliation of Other Significant Reconciling Items from Segments to Consolidated [Table]</link:label>
    <link:label id="lab_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable_label_en-US" xlink:label="lab_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment, Reconciliation of Other Items from Segments to Consolidated [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable" xlink:to="lab_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BaseRateMember_dc50d61b-fcef-43c6-89f2-b0b025058a2e_terseLabel_en-US" xlink:label="lab_us-gaap_BaseRateMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Base Rate</link:label>
    <link:label id="lab_us-gaap_BaseRateMember_label_en-US" xlink:label="lab_us-gaap_BaseRateMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Base Rate [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BaseRateMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BaseRateMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BaseRateMember" xlink:to="lab_us-gaap_BaseRateMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_1600d889-922b-4a9d-a152-d9fa1b34f203_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State taxes, less federal effect</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_6da4b30f-9eb5-41cb-9e5d-c9b8019b321c_netLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Grant&#160;Date Fair Value (in USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_c7538afd-456b-4ca2-a417-03bb8d85849e_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Granted (in USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" 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</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_30874d2e-61e4-445f-bc57-0f12e894a9b9_verboseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2028</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter_a3f4a6ec-ed7c-406c-a99f-ca49d8f70e51_verboseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Years 2029 - 2033</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Expected Future Benefit Payment, after Year Five for Next Five Years</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter" xlink:to="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTextBlock_61a81a96-2543-452a-85a0-a829a3784edf_verboseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Changes in Carrying Amount of Goodwill</link:label>
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Goodwill [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfGoodwillTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfGoodwillTextBlock" xlink:to="lab_us-gaap_ScheduleOfGoodwillTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesOutstanding_05aede73-2a49-4677-a5c4-7c48d8378dfe_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, shares outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesOutstanding" xlink:to="lab_us-gaap_PreferredStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy_c2505d3d-87d8-461d-bb97-36c35d8565ce_terseLabel_en-US" xlink:label="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable and allowance for doubtful accounts and contract assets</link:label>
    <link:label id="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy_label_en-US" xlink:label="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:to="lab_us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_0419e65f-e458-41d6-b46e-02861b2b0f6e_negatedLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity compensation</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-Based Compensation Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:to="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_1554da47-1d99-4c7a-8afc-5f305e0d943b_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash provided by operating activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesDeductions_ba33538f-6a13-4742-ba27-83154b8fd4f5_negatedNetLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesDeductions" xlink:role="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reductions</link:label>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesDeductions_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesDeductions" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves, Deduction</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDeductions" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDeductions"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDeductions" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesDeductions" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_56404726-b811-4d9f-992d-d22144bddc70_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Amortization Expense</link:label>
    <link:label id="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:to="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAccruedLiabilitiesCurrent_045a9a2f-fdad-498a-8d1d-fcfa4e445cf7_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other</link:label>
    <link:label id="lab_us-gaap_OtherAccruedLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Accrued Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:to="lab_us-gaap_OtherAccruedLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherIncome_9f4cd69e-eec3-4280-b1c1-16d47f919466_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_OtherIncome" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other (income) expense</link:label>
    <link:label id="lab_us-gaap_OtherIncome_label_en-US" xlink:label="lab_us-gaap_OtherIncome" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Income</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherIncome" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherIncome"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherIncome" xlink:to="lab_us-gaap_OtherIncome" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ValuationAndQualifyingAccountsDisclosureTable_d872c94b-47a0-4e56-9343-0f1347db5750_terseLabel_en-US" xlink:label="lab_srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Table]</link:label>
    <link:label id="lab_srt_ValuationAndQualifyingAccountsDisclosureTable_label_en-US" xlink:label="lab_srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:to="lab_srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CorporateNonSegmentMember_b0ac0063-85bd-4879-933d-d9e6294fb9f8_terseLabel_en-US" xlink:label="lab_us-gaap_CorporateNonSegmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate</link:label>
    <link:label id="lab_us-gaap_CorporateNonSegmentMember_a32cc1f3-f36b-45d3-bdb6-7442c27f2331_verboseLabel_en-US" xlink:label="lab_us-gaap_CorporateNonSegmentMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unallocated Corporate Expenses</link:label>
    <link:label id="lab_us-gaap_CorporateNonSegmentMember_label_en-US" xlink:label="lab_us-gaap_CorporateNonSegmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate, Non-Segment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CorporateNonSegmentMember" xlink:to="lab_us-gaap_CorporateNonSegmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_6a91fbec-2363-4171-9ca5-26e0c08a609a_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of unrecognized prior service cost</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Amortization of Prior Service Cost (Credit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" xlink:to="lab_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DepreciationDepletionAndAmortization_7bc4b30e-28de-436f-be5c-26d371776e5f_terseLabel_en-US" xlink:label="lab_us-gaap_DepreciationDepletionAndAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation and amortization</link:label>
    <link:label id="lab_us-gaap_DepreciationDepletionAndAmortization_label_en-US" xlink:label="lab_us-gaap_DepreciationDepletionAndAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation, Depletion and Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DepreciationDepletionAndAmortization" xlink:to="lab_us-gaap_DepreciationDepletionAndAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage_5aabf5c7-828d-4acf-aab7-a49278d19223_verboseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Initial applicable margin</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Interest Rate, Stated Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:to="lab_us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TransferredOverTimeMember_19c94b6f-a5e8-4bc7-8a35-6af1e6529524_terseLabel_en-US" xlink:label="lab_us-gaap_TransferredOverTimeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Over Time</link:label>
    <link:label id="lab_us-gaap_TransferredOverTimeMember_label_en-US" xlink:label="lab_us-gaap_TransferredOverTimeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Transferred over Time [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredOverTimeMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransferredOverTimeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TransferredOverTimeMember" xlink:to="lab_us-gaap_TransferredOverTimeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MediumTermNotesMember_0c0e351a-c2c4-4b85-9b1e-da7666c4567e_terseLabel_en-US" xlink:label="lab_us-gaap_MediumTermNotesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Term Loan</link:label>
    <link:label id="lab_us-gaap_MediumTermNotesMember_label_en-US" xlink:label="lab_us-gaap_MediumTermNotesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Medium-term Notes [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MediumTermNotesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MediumTermNotesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MediumTermNotesMember" xlink:to="lab_us-gaap_MediumTermNotesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_046e0ab2-57c0-4fc9-afa9-b614ec1af57f_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:to="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GainLossOnSaleOfBusiness_b551bedc-3f11-43a2-9815-f6dfb1a43d67_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfBusiness" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Held for sale valuation allowance</link:label>
    <link:label id="lab_us-gaap_GainLossOnSaleOfBusiness_fe801aea-80a0-416f-9329-e3017c3abe58_terseLabel_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfBusiness" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Held for sale valuation allowance</link:label>
    <link:label id="lab_us-gaap_GainLossOnSaleOfBusiness_label_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfBusiness" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gain (Loss) on Disposition of Business</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfBusiness" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfBusiness"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GainLossOnSaleOfBusiness" xlink:to="lab_us-gaap_GainLossOnSaleOfBusiness" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_StockIssuedDuringPeriodValueRestrictedStockAwardSettlement_064f3e81-1a6a-4ebb-81bd-18a2ca434a2c_negatedTerseLabel_en-US" xlink:label="lab_rock_StockIssuedDuringPeriodValueRestrictedStockAwardSettlement" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net settlement of restricted stock units</link:label>
    <link:label id="lab_rock_StockIssuedDuringPeriodValueRestrictedStockAwardSettlement_label_en-US" xlink:label="lab_rock_StockIssuedDuringPeriodValueRestrictedStockAwardSettlement" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Restricted Stock Award, Settlement</link:label>
    <link:label id="lab_rock_StockIssuedDuringPeriodValueRestrictedStockAwardSettlement_documentation_en-US" xlink:label="lab_rock_StockIssuedDuringPeriodValueRestrictedStockAwardSettlement" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Restricted Stock Award, Settlement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_StockIssuedDuringPeriodValueRestrictedStockAwardSettlement" xlink:href="rock-20231231.xsd#rock_StockIssuedDuringPeriodValueRestrictedStockAwardSettlement"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_StockIssuedDuringPeriodValueRestrictedStockAwardSettlement" xlink:to="lab_rock_StockIssuedDuringPeriodValueRestrictedStockAwardSettlement" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_887d3d33-c435-4ac6-bd3a-492e408c9842_verboseLabel_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision for income taxes</link:label>
    <link:label id="lab_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_label_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Discontinued Operation, Tax Effect of Discontinued Operation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation" xlink:to="lab_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquity_ec2d31a5-0003-427e-9d26-c41823108965_totalLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total stockholders&#8217; equity</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_2ce3644d-11c3-4f50-b903-297238430275_periodStartLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_f5c6b7c2-d3f0-4d25-879a-45b815c38ef1_periodEndLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_4a7f32e8-5347-4e89-bf86-63010e600ecc_verboseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cumulative effect of new accounting principle in period of adoption</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_label_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity, Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity" xlink:to="lab_us-gaap_StockholdersEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ConsolidationItemsAxis_9a183bb9-b528-4729-a3bc-7a5ba935e818_terseLabel_en-US" xlink:label="lab_srt_ConsolidationItemsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consolidation Items [Axis]</link:label>
    <link:label id="lab_srt_ConsolidationItemsAxis_label_en-US" xlink:label="lab_srt_ConsolidationItemsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consolidation Items [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ConsolidationItemsAxis" xlink:to="lab_srt_ConsolidationItemsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_c477724f-3849-4d7e-9bae-4e0c877447d0_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantOutstandingNumber_b87171be-d9af-4302-a445-4b1e03342e0c_terseLabel_en-US" xlink:label="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Grant of options outstanding (in shares)</link:label>
    <link:label id="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantOutstandingNumber_label_en-US" xlink:label="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grant, Outstanding, Number</link:label>
    <link:label id="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantOutstandingNumber_documentation_en-US" xlink:label="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantOutstandingNumber" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grant, Outstanding, Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantOutstandingNumber" xlink:href="rock-20231231.xsd#rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantOutstandingNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantOutstandingNumber" xlink:to="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantOutstandingNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NoncurrentAssets_824b9c84-5ef4-48a2-8bfb-98f0b1ec5ca8_terseLabel_en-US" xlink:label="lab_us-gaap_NoncurrentAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-lived assets</link:label>
    <link:label id="lab_us-gaap_NoncurrentAssets_label_en-US" xlink:label="lab_us-gaap_NoncurrentAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Lived Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncurrentAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncurrentAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NoncurrentAssets" xlink:to="lab_us-gaap_NoncurrentAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillImpairmentLoss_82d83b61-d0cb-4d08-a07a-f6f07bd6aea4_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillImpairmentLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill impairment</link:label>
    <link:label id="lab_us-gaap_GoodwillImpairmentLoss_label_en-US" xlink:label="lab_us-gaap_GoodwillImpairmentLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, Impairment Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillImpairmentLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillImpairmentLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillImpairmentLoss" xlink:to="lab_us-gaap_GoodwillImpairmentLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock_854bdae2-ed87-4e92-95da-922a9d96de18_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amounts Recognized in the Consolidated Financial Statements</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Amounts Recognized in Balance Sheet [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsValuationAllowance_ab23803a-e1b3-40e1-9fd1-2a91372819a1_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Valuation allowances</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsValuationAllowance_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Valuation Allowance</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="lab_us-gaap_DeferredTaxAssetsValuationAllowance" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestrictedStockMember_fdf9c397-ad9b-44cd-8efa-54957d748226_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock</link:label>
    <link:label id="lab_us-gaap_RestrictedStockMember_label_en-US" xlink:label="lab_us-gaap_RestrictedStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedStockMember" xlink:to="lab_us-gaap_RestrictedStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_01fa3f27-77e6-43a9-bc49-88df9949e700_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_PrivatelyHeldUtahBasedCompanyMember_4e2f2939-59ba-4e90-a507-c31528b1f6cc_terseLabel_en-US" xlink:label="lab_rock_PrivatelyHeldUtahBasedCompanyMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Privately Held Utah-Based Company</link:label>
    <link:label id="lab_rock_PrivatelyHeldUtahBasedCompanyMember_label_en-US" xlink:label="lab_rock_PrivatelyHeldUtahBasedCompanyMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Privately Held Utah-Based Company [Member]</link:label>
    <link:label id="lab_rock_PrivatelyHeldUtahBasedCompanyMember_documentation_en-US" xlink:label="lab_rock_PrivatelyHeldUtahBasedCompanyMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Privately Held Utah-Based Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_PrivatelyHeldUtahBasedCompanyMember" xlink:href="rock-20231231.xsd#rock_PrivatelyHeldUtahBasedCompanyMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_PrivatelyHeldUtahBasedCompanyMember" xlink:to="lab_rock_PrivatelyHeldUtahBasedCompanyMember" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ValuationAndQualifyingAccountsDisclosureLineItems_795b77fc-39aa-41ee-a729-f0af06fd8b80_terseLabel_en-US" xlink:label="lab_srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items]</link:label>
    <link:label id="lab_srt_ValuationAndQualifyingAccountsDisclosureLineItems_label_en-US" xlink:label="lab_srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:to="lab_srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_A2022SeniorCreditAgreementMember_78de8544-bf52-4ce1-aab9-4df2e4ca13a9_terseLabel_en-US" xlink:label="lab_rock_A2022SeniorCreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022 Senior Credit Agreement</link:label>
    <link:label id="lab_rock_A2022SeniorCreditAgreementMember_label_en-US" xlink:label="lab_rock_A2022SeniorCreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022 Senior Credit Agreement [Member]</link:label>
    <link:label id="lab_rock_A2022SeniorCreditAgreementMember_documentation_en-US" xlink:label="lab_rock_A2022SeniorCreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022 Senior Credit Agreement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2022SeniorCreditAgreementMember" xlink:href="rock-20231231.xsd#rock_A2022SeniorCreditAgreementMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_A2022SeniorCreditAgreementMember" xlink:to="lab_rock_A2022SeniorCreditAgreementMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_7d8b0763-2508-449c-9c32-42387a7974cf_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_6c79ef43-58c1-484c-8f98-b1e56b0eac94_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign currency translation adjustment</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskByTypeAxis_9d37a220-04db-4e5a-b8c7-13a44545fc1f_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskByTypeAxis_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis" xlink:to="lab_us-gaap_ConcentrationRiskByTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_LondonInterbankOfferedRateLIBOR1Member_878ef2c1-735f-4b77-a407-fb51acc082b4_terseLabel_en-US" xlink:label="lab_rock_LondonInterbankOfferedRateLIBOR1Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">LIBOR</link:label>
    <link:label id="lab_rock_LondonInterbankOfferedRateLIBOR1Member_label_en-US" xlink:label="lab_rock_LondonInterbankOfferedRateLIBOR1Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">London Interbank Offered Rate (LIBOR) 1 [Member]</link:label>
    <link:label id="lab_rock_LondonInterbankOfferedRateLIBOR1Member_documentation_en-US" xlink:label="lab_rock_LondonInterbankOfferedRateLIBOR1Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">London Interbank Offered Rate (LIBOR) 1</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_LondonInterbankOfferedRateLIBOR1Member" xlink:href="rock-20231231.xsd#rock_LondonInterbankOfferedRateLIBOR1Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_LondonInterbankOfferedRateLIBOR1Member" xlink:to="lab_rock_LondonInterbankOfferedRateLIBOR1Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_fea6cc45-a9b4-4338-b01b-314c8675122a_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income before taxes</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UnbilledContractsReceivable_36c7d9c3-d961-4d82-8c31-febe3969d88a_terseLabel_en-US" xlink:label="lab_us-gaap_UnbilledContractsReceivable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Costs in excess of billings</link:label>
    <link:label id="lab_us-gaap_UnbilledContractsReceivable_label_en-US" xlink:label="lab_us-gaap_UnbilledContractsReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unbilled Contracts Receivable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnbilledContractsReceivable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnbilledContractsReceivable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnbilledContractsReceivable" xlink:to="lab_us-gaap_UnbilledContractsReceivable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock_7ecaece0-21f0-45c0-82da-a4805d9ea506_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exit Activity Costs and Asset Impairments</link:label>
    <link:label id="lab_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring and Related Activities Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:to="lab_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis_6902db63-c779-42b1-a501-817d33220f7c_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Type [Axis]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Lived Tangible Asset [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_ScheduleOfFairValueOfOptionsExercisedAndOtherAwardsVestedTableTextBlock_31969803-b50b-4537-940b-4090a580c992_terseLabel_en-US" xlink:label="lab_rock_ScheduleOfFairValueOfOptionsExercisedAndOtherAwardsVestedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Aggregate Intrinsic Value of Options Exercised and Aggregate Fair Value of Restricted Stock Units and Restricted Shares that Vested</link:label>
    <link:label id="lab_rock_ScheduleOfFairValueOfOptionsExercisedAndOtherAwardsVestedTableTextBlock_label_en-US" xlink:label="lab_rock_ScheduleOfFairValueOfOptionsExercisedAndOtherAwardsVestedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule Of Fair Value Of Options Exercised And Other Awards Vested [Table Text Block]</link:label>
    <link:label id="lab_rock_ScheduleOfFairValueOfOptionsExercisedAndOtherAwardsVestedTableTextBlock_documentation_en-US" xlink:label="lab_rock_ScheduleOfFairValueOfOptionsExercisedAndOtherAwardsVestedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disclosure of the intrinsic value of options exercised and fair value of restricted stock and restricted stock units vested during the period.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ScheduleOfFairValueOfOptionsExercisedAndOtherAwardsVestedTableTextBlock" xlink:href="rock-20231231.xsd#rock_ScheduleOfFairValueOfOptionsExercisedAndOtherAwardsVestedTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ScheduleOfFairValueOfOptionsExercisedAndOtherAwardsVestedTableTextBlock" xlink:to="lab_rock_ScheduleOfFairValueOfOptionsExercisedAndOtherAwardsVestedTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities_4776a2eb-1b3a-466d-b810-f1e70d670b13_terseLabel_en-US" xlink:label="lab_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued post retirement liability: Current portion</link:label>
    <link:label id="lab_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities_label_en-US" xlink:label="lab_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liability, Defined Benefit Plan, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities" xlink:to="lab_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_DebtInstrumentApplicableRatePeriodAxis_b77fbbfb-4040-4ca7-b93c-636e6dc6a0a2_terseLabel_en-US" xlink:label="lab_rock_DebtInstrumentApplicableRatePeriodAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Applicable Rate Period [Axis]</link:label>
    <link:label id="lab_rock_DebtInstrumentApplicableRatePeriodAxis_label_en-US" xlink:label="lab_rock_DebtInstrumentApplicableRatePeriodAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Applicable Rate Period [Axis]</link:label>
    <link:label id="lab_rock_DebtInstrumentApplicableRatePeriodAxis_documentation_en-US" xlink:label="lab_rock_DebtInstrumentApplicableRatePeriodAxis" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Applicable Rate Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DebtInstrumentApplicableRatePeriodAxis" xlink:href="rock-20231231.xsd#rock_DebtInstrumentApplicableRatePeriodAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_DebtInstrumentApplicableRatePeriodAxis" xlink:to="lab_rock_DebtInstrumentApplicableRatePeriodAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PostemploymentBenefitsDisclosureTextBlock_89279b79-fdcd-4f21-9df2-8fb886b95867_terseLabel_en-US" xlink:label="lab_us-gaap_PostemploymentBenefitsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pension and Other Postretirement Benefits</link:label>
    <link:label id="lab_us-gaap_PostemploymentBenefitsDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_PostemploymentBenefitsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Postemployment Benefits Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PostemploymentBenefitsDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PostemploymentBenefitsDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PostemploymentBenefitsDisclosureTextBlock" xlink:to="lab_us-gaap_PostemploymentBenefitsDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_9f793a43-2fdc-4cae-b1c9-bddaf7896070_terseLabel_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_label_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityEmergingGrowthCompany" xlink:to="lab_dei_EntityEmergingGrowthCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredFinanceCostsNet_8bd8267e-1b03-4166-9439-12743479a4cf_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredFinanceCostsNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Issuance Costs, Net</link:label>
    <link:label id="lab_us-gaap_DeferredFinanceCostsNet_label_en-US" xlink:label="lab_us-gaap_DeferredFinanceCostsNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Issuance Costs, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFinanceCostsNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFinanceCostsNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredFinanceCostsNet" xlink:to="lab_us-gaap_DeferredFinanceCostsNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill_8508e86b-4b21-4a84-a557-a71e715f6939_terseLabel_en-US" xlink:label="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquired intangibles</link:label>
    <link:label id="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill_label_en-US" xlink:label="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible Assets, Net (Excluding Goodwill)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryFinishedGoods_3f715382-dfa2-4ba2-85b2-607091447d23_verboseLabel_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoods" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finished goods</link:label>
    <link:label id="lab_us-gaap_InventoryFinishedGoods_label_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoods" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Finished Goods, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoods" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryFinishedGoods" xlink:to="lab_us-gaap_InventoryFinishedGoods" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsGross_4200c295-9d7b-4407-83dd-d7cb07df63d1_negatedTotalLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsGross" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross deferred tax assets</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsGross_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsGross" xlink:to="lab_us-gaap_DeferredTaxAssetsGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentContinuingOperationsMember_a959a047-7887-4f98-821f-c5e6eb407608_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentContinuingOperationsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Continuing Operations</link:label>
    <link:label id="lab_us-gaap_SegmentContinuingOperationsMember_label_en-US" xlink:label="lab_us-gaap_SegmentContinuingOperationsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Continuing Operations [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentContinuingOperationsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentContinuingOperationsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentContinuingOperationsMember" xlink:to="lab_us-gaap_SegmentContinuingOperationsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisposalGroupClassificationDomain_856a016a-55fe-4a04-95fa-8df729de4518_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupClassificationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group Classification [Domain]</link:label>
    <link:label id="lab_us-gaap_DisposalGroupClassificationDomain_label_en-US" xlink:label="lab_us-gaap_DisposalGroupClassificationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group Classification [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupClassificationDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain" xlink:to="lab_us-gaap_DisposalGroupClassificationDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_cd539100-9401-471f-afa7-01ada1362da4_totalLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair value of purchase consideration</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_30d4eb4f-4dc6-4a81-af88-5251ce2d21f9_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_0e28289a-f04a-4468-acbe-b24ceb3daef5_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalPeriodFocus" xlink:to="lab_dei_DocumentFiscalPeriodFocus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_4ccd7bf0-0b1b-4ac3-abac-95e2eb0d300f_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_ab7e9ff1-730b-4485-806f-137dc707a060_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Availability amount</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Remaining Borrowing Capacity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:to="lab_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_d33adcf8-fcf6-4550-b1bc-9b8091b3b384_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities [Axis]</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_53764442-e211-4d9c-81fd-c4cb8a00ffc9_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2027</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_e868a6af-6eb0-40dd-a825-155d32f9e392_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted stock units credited (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Granted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_90fcf831-4ed1-4e00-b75e-bfb902db1a5d_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_41b548c9-98b1-45b8-ab8b-0402dfb21a3b_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensation_93fbfeae-d669-4d5d-94dd-9704cf53d7a8_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock compensation expense</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Noncash Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensation" xlink:to="lab_us-gaap_ShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_DeferredStockUnitsMember_b1309fc0-cd8f-4476-b9d6-505cb3308594_terseLabel_en-US" xlink:label="lab_rock_DeferredStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Stock Units</link:label>
    <link:label id="lab_rock_DeferredStockUnitsMember_label_en-US" xlink:label="lab_rock_DeferredStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Stock Units [Member]</link:label>
    <link:label id="lab_rock_DeferredStockUnitsMember_documentation_en-US" xlink:label="lab_rock_DeferredStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Stock Units [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DeferredStockUnitsMember" xlink:href="rock-20231231.xsd#rock_DeferredStockUnitsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_DeferredStockUnitsMember" xlink:to="lab_rock_DeferredStockUnitsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid_14745d28-6078-4bc0-aad3-264bb355a562_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted stock units credited</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Share-Based Liabilities Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockMember_3855a6fa-7de9-4f93-8973-09f1e70e5a34_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock</link:label>
    <link:label id="lab_us-gaap_CommonStockMember_label_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockMember" xlink:to="lab_us-gaap_CommonStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ForeignCountryMember_2443ab32-18d5-4c2e-881c-a2a04111e9b2_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCountryMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Tax Authority</link:label>
    <link:label id="lab_us-gaap_ForeignCountryMember_label_en-US" xlink:label="lab_us-gaap_ForeignCountryMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign Tax Authority [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCountryMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCountryMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCountryMember" xlink:to="lab_us-gaap_ForeignCountryMember" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_A2018PlanMember_42d99e0d-c04a-4480-8594-d90edbe87a85_terseLabel_en-US" xlink:label="lab_rock_A2018PlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2018 Plan</link:label>
    <link:label id="lab_rock_A2018PlanMember_label_en-US" xlink:label="lab_rock_A2018PlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2018 Plan [Member]</link:label>
    <link:label id="lab_rock_A2018PlanMember_documentation_en-US" xlink:label="lab_rock_A2018PlanMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2018 Plan [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2018PlanMember" xlink:href="rock-20231231.xsd#rock_A2018PlanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_A2018PlanMember" xlink:to="lab_rock_A2018PlanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_ScheduleOfInterestCashPaymentTableTextBlock_a1b7cabf-962b-4e3b-8969-0fc6040d6a4c_terseLabel_en-US" xlink:label="lab_rock_ScheduleOfInterestCashPaymentTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Cash Paid for Interest</link:label>
    <link:label id="lab_rock_ScheduleOfInterestCashPaymentTableTextBlock_label_en-US" xlink:label="lab_rock_ScheduleOfInterestCashPaymentTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule Of Interest, Cash Payment [Table Text Block]</link:label>
    <link:label id="lab_rock_ScheduleOfInterestCashPaymentTableTextBlock_documentation_en-US" xlink:label="lab_rock_ScheduleOfInterestCashPaymentTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of interest, cash payment [table text block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ScheduleOfInterestCashPaymentTableTextBlock" xlink:href="rock-20231231.xsd#rock_ScheduleOfInterestCashPaymentTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ScheduleOfInterestCashPaymentTableTextBlock" xlink:to="lab_rock_ScheduleOfInterestCashPaymentTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_a4441818-f7ff-4d85-a176-0c2b8c5537a6_negatedLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustment to postretirement benefit liability, net of tax</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_281e2b29-f7de-4e21-a7f7-a0c6f9b3fa0c_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustment to post-retirement healthcare benefit liability, net of taxes</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive (Income) Loss, Defined Benefit Plan, after Reclassification Adjustment, after Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis_6c65a2f0-6384-48bc-b93f-52f68589352e_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]</link:label>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CityAreaCode_16b09974-46de-4bb5-926d-4843a2f2355e_terseLabel_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:label id="lab_dei_CityAreaCode_label_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CityAreaCode" xlink:to="lab_dei_CityAreaCode" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressPostalZipCode_3999c275-6175-453c-86c0-4e84fc47d4c3_terseLabel_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:label id="lab_dei_EntityAddressPostalZipCode_label_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressPostalZipCode" xlink:to="lab_dei_EntityAddressPostalZipCode" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_AgtechMember_2d515032-6dd1-4580-83d9-608d033169b3_terseLabel_en-US" xlink:label="lab_rock_AgtechMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Agtech</link:label>
    <link:label id="lab_rock_AgtechMember_label_en-US" xlink:label="lab_rock_AgtechMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Agtech [Member]</link:label>
    <link:label id="lab_rock_AgtechMember_documentation_en-US" xlink:label="lab_rock_AgtechMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Agtech</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AgtechMember" xlink:href="rock-20231231.xsd#rock_AgtechMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_AgtechMember" xlink:to="lab_rock_AgtechMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareTextBlock_58397fb8-4160-4aa7-af08-f3840cf8e9c3_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings per Share</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareTextBlock_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareTextBlock" xlink:to="lab_us-gaap_EarningsPerShareTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_7783a5ee-ebf5-4d6f-b610-f412cf1d1708_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationDomain" xlink:to="lab_us-gaap_IncomeStatementLocationDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesDomain_5e1e78c5-46d1-4783-a444-5bfd1f2e8155_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]</link:label>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesDomain_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_DebtInstrumentNumberOfDebtCovenants_97dfff6a-dd5d-4516-963c-d10fb394ba0c_terseLabel_en-US" xlink:label="lab_rock_DebtInstrumentNumberOfDebtCovenants" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of debt covenants</link:label>
    <link:label id="lab_rock_DebtInstrumentNumberOfDebtCovenants_label_en-US" xlink:label="lab_rock_DebtInstrumentNumberOfDebtCovenants" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Number of Debt Covenants</link:label>
    <link:label id="lab_rock_DebtInstrumentNumberOfDebtCovenants_documentation_en-US" xlink:label="lab_rock_DebtInstrumentNumberOfDebtCovenants" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Number of Debt Covenants</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DebtInstrumentNumberOfDebtCovenants" xlink:href="rock-20231231.xsd#rock_DebtInstrumentNumberOfDebtCovenants"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_DebtInstrumentNumberOfDebtCovenants" xlink:to="lab_rock_DebtInstrumentNumberOfDebtCovenants" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_AcquiredIntangibleAssetsTotal_c43580a1-66e8-4a79-b45e-cc7b6f33d18f_terseLabel_en-US" xlink:label="lab_rock_AcquiredIntangibleAssetsTotal" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total acquired intangible assets, Gross Carrying Amount</link:label>
    <link:label id="lab_rock_AcquiredIntangibleAssetsTotal_label_en-US" xlink:label="lab_rock_AcquiredIntangibleAssetsTotal" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquired Intangible Assets, Total</link:label>
    <link:label id="lab_rock_AcquiredIntangibleAssetsTotal_documentation_en-US" xlink:label="lab_rock_AcquiredIntangibleAssetsTotal" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquired Intangible Assets, Total.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AcquiredIntangibleAssetsTotal" xlink:href="rock-20231231.xsd#rock_AcquiredIntangibleAssetsTotal"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_AcquiredIntangibleAssetsTotal" xlink:to="lab_rock_AcquiredIntangibleAssetsTotal" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalYearFocus_8fdccde2-0234-41d3-b8b4-69be979ad4de_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalYearFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalYearFocus" xlink:to="lab_dei_DocumentFiscalYearFocus" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_SegmentGeographicalDomain_5d27d7b0-8feb-4412-aef0-849e909d0431_terseLabel_en-US" xlink:label="lab_srt_SegmentGeographicalDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:label id="lab_srt_SegmentGeographicalDomain_label_en-US" xlink:label="lab_srt_SegmentGeographicalDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_SegmentGeographicalDomain" xlink:to="lab_srt_SegmentGeographicalDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65_b0d72ec6-42b6-4d51-8c27-0e2478d163d2_terseLabel_en-US" xlink:label="lab_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Annual rate of increase in the per capita cost of: Medical costs after age 65</link:label>
    <link:label id="lab_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65_label_en-US" xlink:label="lab_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Health Care Cost Trend Rate Assumed for Next Fiscal Year, Medical Costs After Age 65</link:label>
    <link:label id="lab_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65_documentation_en-US" xlink:label="lab_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Health Care Cost Trend Rate Assumed for Next Fiscal Year, Medical Costs After Age 65</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65" xlink:href="rock-20231231.xsd#rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65" xlink:to="lab_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_PerformanceStockUnitsMember_2a003d4e-c96d-4fc9-84ee-7580c6feb5af_terseLabel_en-US" xlink:label="lab_rock_PerformanceStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Stock Units</link:label>
    <link:label id="lab_rock_PerformanceStockUnitsMember_label_en-US" xlink:label="lab_rock_PerformanceStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance Stock Units [Member]</link:label>
    <link:label id="lab_rock_PerformanceStockUnitsMember_documentation_en-US" xlink:label="lab_rock_PerformanceStockUnitsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Performance stock units [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_PerformanceStockUnitsMember" xlink:href="rock-20231231.xsd#rock_PerformanceStockUnitsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_PerformanceStockUnitsMember" xlink:to="lab_rock_PerformanceStockUnitsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_NetPeriodicPostRetirementCostTable_226b4c53-e984-4119-97ef-06643cfd02f5_terseLabel_en-US" xlink:label="lab_rock_NetPeriodicPostRetirementCostTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Periodic Post Retirement Cost [Table]</link:label>
    <link:label id="lab_rock_NetPeriodicPostRetirementCostTable_label_en-US" xlink:label="lab_rock_NetPeriodicPostRetirementCostTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Periodic Post Retirement Cost [Table]</link:label>
    <link:label id="lab_rock_NetPeriodicPostRetirementCostTable_documentation_en-US" xlink:label="lab_rock_NetPeriodicPostRetirementCostTable" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Periodic Post Retirement Cost [Table].</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_NetPeriodicPostRetirementCostTable" xlink:href="rock-20231231.xsd#rock_NetPeriodicPostRetirementCostTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_NetPeriodicPostRetirementCostTable" xlink:to="lab_rock_NetPeriodicPostRetirementCostTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostLineItems_d32bdbc1-ccaa-435a-833a-2cd537d07b48_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Initial Application Period Cumulative Effect Transition [Line Items]</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostLineItems_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems" xlink:to="lab_us-gaap_CapitalizedContractCostLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_09f21b30-2aff-4809-a63a-071ac67b6f97_terseLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest and penalties recognized</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unrecognized Tax Benefits, Income Tax Penalties and Interest Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MinimumMember_384ed28a-9add-40f6-8e0e-b770be633c28_terseLabel_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum</link:label>
    <link:label id="lab_srt_MinimumMember_label_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MinimumMember" xlink:to="lab_srt_MinimumMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_e0f480d0-b214-4e82-aabf-12ad49f22dea_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, plant, and equipment, net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_238f4764-89a9-4cb2-a7aa-acc5ef0023cd_totalLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, plant, and equipment, net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ReceivablesAbstract_3a21c716-bc4e-4db6-8dd0-46d589975fd3_terseLabel_en-US" xlink:label="lab_us-gaap_ReceivablesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivables [Abstract]</link:label>
    <link:label id="lab_us-gaap_ReceivablesAbstract_label_en-US" xlink:label="lab_us-gaap_ReceivablesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivables [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivablesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReceivablesAbstract" xlink:to="lab_us-gaap_ReceivablesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit_3472059f-e60e-4e97-bf86-f4be65e1d8c3_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise Price Range, Lower Range Limit</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:to="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_26ce3315-ba0c-459b-afe9-2e4ff03ec8a3_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Stock Options Transactions</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Option, Activity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_5ed0369c-d83c-441c-8882-f89f1fc5e6fe_verboseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Acquired Intangible Assets</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:to="lab_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_44ec7352-40b7-4ba1-bc94-66440c2ab843_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax_c19d9c2e-9136-4a13-ae82-091ba6acc244_totalLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other comprehensive income (loss)</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax_72509b48-13db-475b-a7b9-d22ce4124503_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign currency translation adjustment</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_AsiaMember_16c4bf08-dcf3-49a1-ac55-8a96c51d8033_terseLabel_en-US" xlink:label="lab_srt_AsiaMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asia</link:label>
    <link:label id="lab_srt_AsiaMember_label_en-US" xlink:label="lab_srt_AsiaMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Asia [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_AsiaMember" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_AsiaMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_AsiaMember" xlink:to="lab_srt_AsiaMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisposalGroupClassificationAxis_df018e7a-9068-4f91-85b7-5737c4bf6ecd_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupClassificationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group Classification [Axis]</link:label>
    <link:label id="lab_us-gaap_DisposalGroupClassificationAxis_label_en-US" xlink:label="lab_us-gaap_DisposalGroupClassificationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group Classification [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupClassificationAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis" xlink:to="lab_us-gaap_DisposalGroupClassificationAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_777be481-97cd-4751-a5d1-d8a0d8bf117a_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:to="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanBenefitObligation_735e4337-8088-4065-8b7e-aef6b3e94733_periodStartLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanBenefitObligation" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Projected benefit obligation at</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanBenefitObligation_91d9eab2-ce3f-43c7-a79d-3bc59c630e2f_periodEndLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanBenefitObligation" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Projected benefit obligation at</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanBenefitObligation_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanBenefitObligation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Benefit Obligation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanBenefitObligation" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanBenefitObligation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanBenefitObligation" xlink:to="lab_us-gaap_DefinedBenefitPlanBenefitObligation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsAbstract_6e0c481c-6ae5-47fe-bc88-7077c90589d3_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets</link:label>
    <link:label id="lab_us-gaap_AssetsAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsAbstract" xlink:to="lab_us-gaap_AssetsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_4b80f48b-e03f-483e-b6dd-117adb9a0f27_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfLongTermDebt_6f9374fb-000d-43da-ae65-6d513fcfa71a_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from long-term debt</link:label>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfLongTermDebt_label_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Issuance of Long-Term Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:to="lab_us-gaap_ProceedsFromIssuanceOfLongTermDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree_25b486e9-b4f1-4227-bc8e-513a42049b8c_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2026</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Expected Future Benefit Payment, Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree" xlink:to="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedInsuranceCurrent_b76bf3c0-f160-4817-9c19-1b36f41c4af0_verboseLabel_en-US" xlink:label="lab_us-gaap_AccruedInsuranceCurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Insurance</link:label>
    <link:label id="lab_us-gaap_AccruedInsuranceCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedInsuranceCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Insurance, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedInsuranceCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedInsuranceCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedInsuranceCurrent" xlink:to="lab_us-gaap_AccruedInsuranceCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_SummaryOfSlowMovingInventoryActivityTableTextBlock_401282dc-11c3-4456-a7f7-87f6adae5ee8_terseLabel_en-US" xlink:label="lab_rock_SummaryOfSlowMovingInventoryActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Activity within the Reserve for Excess, Obsolete, and Slow Moving Inventory</link:label>
    <link:label id="lab_rock_SummaryOfSlowMovingInventoryActivityTableTextBlock_label_en-US" xlink:label="lab_rock_SummaryOfSlowMovingInventoryActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary Of Slow Moving Inventory Activity [Table Text Block]</link:label>
    <link:label id="lab_rock_SummaryOfSlowMovingInventoryActivityTableTextBlock_documentation_en-US" xlink:label="lab_rock_SummaryOfSlowMovingInventoryActivityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Rollforward of excess, obsolete, and slow-moving inventory reserve.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SummaryOfSlowMovingInventoryActivityTableTextBlock" xlink:href="rock-20231231.xsd#rock_SummaryOfSlowMovingInventoryActivityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_SummaryOfSlowMovingInventoryActivityTableTextBlock" xlink:to="lab_rock_SummaryOfSlowMovingInventoryActivityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsOther_974d9b70-7a4f-475e-a4f1-25c29fe211d3_negatedLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOther" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsOther_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOther" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Other</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOther" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOther"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsOther" xlink:to="lab_us-gaap_DeferredTaxAssetsOther" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxesPaidNet_f2ea8c97-b75e-404e-bd02-3b7f1cc8583a_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxesPaidNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments made for income taxes, net</link:label>
    <link:label id="lab_us-gaap_IncomeTaxesPaidNet_label_en-US" xlink:label="lab_us-gaap_IncomeTaxesPaidNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes Paid, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesPaidNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaidNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxesPaidNet" xlink:to="lab_us-gaap_IncomeTaxesPaidNet" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_InfrastructureMember_d4352479-19fa-404a-8ca2-0154a5487486_terseLabel_en-US" xlink:label="lab_rock_InfrastructureMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Infrastructure</link:label>
    <link:label id="lab_rock_InfrastructureMember_label_en-US" xlink:label="lab_rock_InfrastructureMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Infrastructure [Member]</link:label>
    <link:label id="lab_rock_InfrastructureMember_documentation_en-US" xlink:label="lab_rock_InfrastructureMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Infrastructure</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember" xlink:href="rock-20231231.xsd#rock_InfrastructureMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_InfrastructureMember" xlink:to="lab_rock_InfrastructureMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_a4a5dcdf-cf1d-40d9-b3de-fe28e31b3426_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash used in financing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetirementPlanTypeAxis_75ebc0f5-839f-4516-895e-8c475195dbe3_terseLabel_en-US" xlink:label="lab_us-gaap_RetirementPlanTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Plan Type [Axis]</link:label>
    <link:label id="lab_us-gaap_RetirementPlanTypeAxis_label_en-US" xlink:label="lab_us-gaap_RetirementPlanTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Plan Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetirementPlanTypeAxis" xlink:to="lab_us-gaap_RetirementPlanTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionLineItems_84cf527f-01ae-4de9-b480-0ecb7284040c_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Line Items]</link:label>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionLineItems_label_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="lab_us-gaap_LesseeLeaseDescriptionLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_f5a8fc19-76a7-46e7-affa-4827694851b9_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_b9ff99b7-6d5b-4472-9e87-19a64a2ed204_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income from continuing operations (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations, Per Diluted Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsMember_0cbe3190-ae05-425e-a20e-87740cd3eccd_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsMember_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsMember" xlink:to="lab_us-gaap_RetainedEarningsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_SellingGeneralAndAdministrativeExpenseMember_9721a232-a6f7-44c2-bd8e-2273752d8a02_terseLabel_en-US" xlink:label="lab_rock_SellingGeneralAndAdministrativeExpenseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, general, and administrative expense</link:label>
    <link:label id="lab_rock_SellingGeneralAndAdministrativeExpenseMember_label_en-US" xlink:label="lab_rock_SellingGeneralAndAdministrativeExpenseMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling General And Administrative Expense [Member]</link:label>
    <link:label id="lab_rock_SellingGeneralAndAdministrativeExpenseMember_documentation_en-US" xlink:label="lab_rock_SellingGeneralAndAdministrativeExpenseMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling General And Administrative Expense [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SellingGeneralAndAdministrativeExpenseMember" xlink:href="rock-20231231.xsd#rock_SellingGeneralAndAdministrativeExpenseMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_SellingGeneralAndAdministrativeExpenseMember" xlink:to="lab_rock_SellingGeneralAndAdministrativeExpenseMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_a94a515a-bbfd-4a06-9fdb-8948e4cf9436_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total liabilities and shareholders' equity</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Equity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_e407e24d-864c-48f6-9242-dee8142338fd_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other assets</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Other</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_3966d3dc-41ba-4f83-a3cd-f812f1078ea9_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other assets</link:label>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_label_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Assets, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsNoncurrent" xlink:to="lab_us-gaap_OtherAssetsNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessExitCosts1_b378f667-25fe-4c50-9c52-6a890ab579da_verboseLabel_en-US" xlink:label="lab_us-gaap_BusinessExitCosts1" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exit Activity</link:label>
    <link:label id="lab_us-gaap_BusinessExitCosts1_16fd26cd-cdb2-40e0-a817-8d32902fe0e7_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessExitCosts1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exit activity costs recognized</link:label>
    <link:label id="lab_us-gaap_BusinessExitCosts1_label_en-US" xlink:label="lab_us-gaap_BusinessExitCosts1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Exit Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessExitCosts1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessExitCosts1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessExitCosts1" xlink:to="lab_us-gaap_BusinessExitCosts1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_0a654814-9244-4ea4-a810-4ec86ecfa513_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease assets</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Right-of-Use Asset</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_2ea340a6-7499-4146-816b-2fe1fa3e88fa_totalLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasic" xlink:to="lab_us-gaap_EarningsPerShareBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentTable_00b8a73a-721b-41ba-8a89-8e3160e7a7e7_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Long-term Debt Instruments [Table]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentTable_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Long-Term Debt Instruments [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentTable" xlink:to="lab_us-gaap_DebtInstrumentTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_0e7e1037-f31a-454b-92e6-a857ebaafe5b_terseLabel_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_label_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingPoliciesAbstract" xlink:to="lab_us-gaap_AccountingPoliciesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CurrentForeignTaxExpenseBenefit_07265c49-a874-4097-bd28-a137644167a3_terseLabel_en-US" xlink:label="lab_us-gaap_CurrentForeignTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Foreign</link:label>
    <link:label id="lab_us-gaap_CurrentForeignTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_CurrentForeignTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Foreign Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentForeignTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentForeignTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentForeignTaxExpenseBenefit" xlink:to="lab_us-gaap_CurrentForeignTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanFairValueOfPlanAssets_3be8c6f1-d7b0-4075-99eb-a33b97c78222_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanFairValueOfPlanAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair value of plan assets</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanFairValueOfPlanAssets_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanFairValueOfPlanAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Plan Assets, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanFairValueOfPlanAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanFairValueOfPlanAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanFairValueOfPlanAssets" xlink:to="lab_us-gaap_DefinedBenefitPlanFairValueOfPlanAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_d30532bf-a1a4-42d7-8cfd-460b4476c6a5_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Aggregate intrinsic value of options exercised</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate_e4f65205-b5cf-4008-b803-0ea5922c1fdf_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Discount rate</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Assumptions Used Calculating Benefit Obligation, Discount Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" xlink:to="lab_us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_9ac39af4-da0d-403c-8334-cb73a2053393_verboseLabel_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income before taxes</link:label>
    <link:label id="lab_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_0c87921a-a954-4def-990d-43a08482e621_terseLabel_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income from discontinued operations before taxes</link:label>
    <link:label id="lab_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_label_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Discontinued Operation, Income (Loss) from Discontinued Operation, before Income Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" xlink:to="lab_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_1f3acfc8-d5c0-4ee1-8a85-0edc75727171_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated pre-tax loss</link:label>
    <link:label id="lab_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_label_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Discontinued Operation, Gain (Loss) from Disposal of Discontinued Operation, before Income Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" xlink:to="lab_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressCityOrTown_72116e38-96bc-46e9-b13a-532a4355e011_terseLabel_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:label id="lab_dei_EntityAddressCityOrTown_label_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressCityOrTown" xlink:to="lab_dei_EntityAddressCityOrTown" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UnpatentedTechnologyMember_e797daa9-263a-45aa-ada6-46d66d3f2c56_terseLabel_en-US" xlink:label="lab_us-gaap_UnpatentedTechnologyMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unpatented technology and patents</link:label>
    <link:label id="lab_us-gaap_UnpatentedTechnologyMember_label_en-US" xlink:label="lab_us-gaap_UnpatentedTechnologyMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unpatented Technology [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnpatentedTechnologyMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnpatentedTechnologyMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnpatentedTechnologyMember" xlink:to="lab_us-gaap_UnpatentedTechnologyMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax_2199a975-f428-4a18-9360-92b708fdcd33_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Postretirement benefit plan adjustments</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive (Income) Loss, Defined Benefit Plan, Reclassification Adjustment from AOCI, after Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid_6b21c9f3-0306-4046-8f77-674fe0128176_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Benefits paid</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Benefit Obligation, Benefits Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid" xlink:to="lab_us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_b79c44ee-7010-4584-a353-7959699f750d_terseLabel_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Discontinued Operations, Disposed of by Sale</link:label>
    <link:label id="lab_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_label_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Discontinued Operations, Disposed of by Sale [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:to="lab_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConsolidationPolicyTextBlock_693dbed2-4281-481f-98c5-1bda01cd6fe0_terseLabel_en-US" xlink:label="lab_us-gaap_ConsolidationPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Principles of consolidation</link:label>
    <link:label id="lab_us-gaap_ConsolidationPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_ConsolidationPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consolidation, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConsolidationPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConsolidationPolicyTextBlock" xlink:to="lab_us-gaap_ConsolidationPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationTaxCredits_1db56566-13e2-4c5a-b520-752da3c0b43c_negatedLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationTaxCredits" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Federal tax credits</link:label>
    <link:label id="lab_us-gaap_IncomeTaxReconciliationTaxCredits_label_en-US" xlink:label="lab_us-gaap_IncomeTaxReconciliationTaxCredits" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Credit, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationTaxCredits" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationTaxCredits"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReconciliationTaxCredits" xlink:to="lab_us-gaap_IncomeTaxReconciliationTaxCredits" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness_2c588d25-9623-4e99-a511-5d8c89a77244_negatedTerseLabel_en-US" xlink:label="lab_rock_DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets held for sale</link:label>
    <link:label id="lab_rock_DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness_label_en-US" xlink:label="lab_rock_DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Temporary Difference, Future Sale Of Business</link:label>
    <link:label id="lab_rock_DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness_documentation_en-US" xlink:label="lab_rock_DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Temporary Difference, Future Sale Of Business</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness" xlink:href="rock-20231231.xsd#rock_DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness" xlink:to="lab_rock_DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_7dd4aaad-8c88-4286-8c32-01ee8737a973_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:to="lab_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringCharges_2bc6041e-462e-4ec2-96fc-5b06690a3245_verboseLabel_en-US" xlink:label="lab_us-gaap_RestructuringCharges" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring charges</link:label>
    <link:label id="lab_us-gaap_RestructuringCharges_label_en-US" xlink:label="lab_us-gaap_RestructuringCharges" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Charges</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCharges" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCharges"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringCharges" xlink:to="lab_us-gaap_RestructuringCharges" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_ScheduleofBusinessCombinationCostsTableTextBlock_6f47c8ac-934c-42b2-9803-1bfcd0c78ca8_terseLabel_en-US" xlink:label="lab_rock_ScheduleofBusinessCombinationCostsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Business Combination Costs</link:label>
    <link:label id="lab_rock_ScheduleofBusinessCombinationCostsTableTextBlock_label_en-US" xlink:label="lab_rock_ScheduleofBusinessCombinationCostsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Business Combination Costs [Table Text Block]</link:label>
    <link:label id="lab_rock_ScheduleofBusinessCombinationCostsTableTextBlock_documentation_en-US" xlink:label="lab_rock_ScheduleofBusinessCombinationCostsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Business Combination Costs [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ScheduleofBusinessCombinationCostsTableTextBlock" xlink:href="rock-20231231.xsd#rock_ScheduleofBusinessCombinationCostsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ScheduleofBusinessCombinationCostsTableTextBlock" xlink:to="lab_rock_ScheduleofBusinessCombinationCostsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_6fe268b0-6986-479f-9ec5-4aa4ec854940_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued expenses and other non-current liabilities</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Other Accrued Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:to="lab_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentTransitionReport_d6a4a688-9ba9-4f25-8670-dd45ea86c13c_terseLabel_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Transition Report</link:label>
    <link:label id="lab_dei_DocumentTransitionReport_label_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Transition Report</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentTransitionReport" xlink:to="lab_dei_DocumentTransitionReport" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillPurchaseAccountingAdjustments_f38781ef-a32f-4b96-a174-709935fdc371_negatedLabel_en-US" xlink:label="lab_us-gaap_GoodwillPurchaseAccountingAdjustments" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustment to prior year acquisition</link:label>
    <link:label id="lab_us-gaap_GoodwillPurchaseAccountingAdjustments_label_en-US" xlink:label="lab_us-gaap_GoodwillPurchaseAccountingAdjustments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, Purchase Accounting Adjustments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillPurchaseAccountingAdjustments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillPurchaseAccountingAdjustments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillPurchaseAccountingAdjustments" xlink:to="lab_us-gaap_GoodwillPurchaseAccountingAdjustments" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization_9e041ee4-51a3-403d-9f54-6bb1b9abaf4a_terseLabel_en-US" xlink:label="lab_rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total acquired intangible assets, Accumulated Amortization</link:label>
    <link:label id="lab_rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization_label_en-US" xlink:label="lab_rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total acquired intangible assets, Accumulated Amortization</link:label>
    <link:label id="lab_rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization_documentation_en-US" xlink:label="lab_rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total acquired intangible assets, accumulated amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization" xlink:href="rock-20231231.xsd#rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization" xlink:to="lab_rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_d0305983-c1c5-4f18-aca4-ae2f3fc3abb2_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Business Acquisitions, by Acquisition [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Business Acquisitions, by Acquisition [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationsAbstract_ca579766-de42-42d8-a5b2-2a7535a7ff74_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combinations [Abstract]</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationsAbstract_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combinations [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationsAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationsAbstract" xlink:to="lab_us-gaap_BusinessCombinationsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_5403d3d2-51cb-4a82-9fc3-1ba0d9aaeac3_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accounts Payable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_b6c35997-dfc1-428e-aaa6-225ad6547fd8_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares authorized (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesAuthorized" xlink:to="lab_us-gaap_CommonStockSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_OtherPostretirementBenefitsAbstract_7f64afd1-95d5-41d9-be2a-dc038fdc2058_terseLabel_en-US" xlink:label="lab_rock_OtherPostretirementBenefitsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Postretirement Benefits [Abstract]</link:label>
    <link:label id="lab_rock_OtherPostretirementBenefitsAbstract_label_en-US" xlink:label="lab_rock_OtherPostretirementBenefitsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Postretirement Benefits [Abstract]</link:label>
    <link:label id="lab_rock_OtherPostretirementBenefitsAbstract_documentation_en-US" xlink:label="lab_rock_OtherPostretirementBenefitsAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Postretirement Benefits [Abstract].</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_OtherPostretirementBenefitsAbstract" xlink:href="rock-20231231.xsd#rock_OtherPostretirementBenefitsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_OtherPostretirementBenefitsAbstract" xlink:to="lab_rock_OtherPostretirementBenefitsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryRawMaterials_4d8dfae8-0159-4daa-bb42-488040802209_verboseLabel_en-US" xlink:label="lab_us-gaap_InventoryRawMaterials" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Raw material</link:label>
    <link:label id="lab_us-gaap_InventoryRawMaterials_label_en-US" xlink:label="lab_us-gaap_InventoryRawMaterials" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Raw Materials, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterials" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterials"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryRawMaterials" xlink:to="lab_us-gaap_InventoryRawMaterials" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_NonCurrentLiabilitiesMember_25e74b34-7b7d-4bd6-915e-33e5a8dbb16a_terseLabel_en-US" xlink:label="lab_rock_NonCurrentLiabilitiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non Current Liabilities</link:label>
    <link:label id="lab_rock_NonCurrentLiabilitiesMember_label_en-US" xlink:label="lab_rock_NonCurrentLiabilitiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non Current Liabilities [Member]</link:label>
    <link:label id="lab_rock_NonCurrentLiabilitiesMember_documentation_en-US" xlink:label="lab_rock_NonCurrentLiabilitiesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non Current Liabilities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_NonCurrentLiabilitiesMember" xlink:href="rock-20231231.xsd#rock_NonCurrentLiabilitiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_NonCurrentLiabilitiesMember" xlink:to="lab_rock_NonCurrentLiabilitiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LandBuildingsAndImprovementsMember_d48f8aff-2ffe-4301-811e-d7df3d95d2ea_terseLabel_en-US" xlink:label="lab_us-gaap_LandBuildingsAndImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Land, Buildings and Improvements</link:label>
    <link:label id="lab_us-gaap_LandBuildingsAndImprovementsMember_label_en-US" xlink:label="lab_us-gaap_LandBuildingsAndImprovementsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Land, Buildings and Improvements [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LandBuildingsAndImprovementsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandBuildingsAndImprovementsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LandBuildingsAndImprovementsMember" xlink:to="lab_us-gaap_LandBuildingsAndImprovementsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityPublicFloat_3826a861-6eac-4b9a-a6ae-945b16487486_terseLabel_en-US" xlink:label="lab_dei_EntityPublicFloat" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Public Float</link:label>
    <link:label id="lab_dei_EntityPublicFloat_label_en-US" xlink:label="lab_dei_EntityPublicFloat" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Public Float</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityPublicFloat" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityPublicFloat" xlink:to="lab_dei_EntityPublicFloat" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_e173da03-fcec-4795-ba57-839391764a09_terseLabel_en-US" xlink:label="lab_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Indefinite-lived Intangible Assets [Axis]</link:label>
    <link:label id="lab_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_label_en-US" xlink:label="lab_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Indefinite-Lived Intangible Assets [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="lab_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAbstract_46f4b852-1918-43ca-ac34-84abea2f10e6_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Abstract]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAbstract_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentCarryingAmount_da304a03-6fd5-454c-93d8-830f5f9d0883_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentCarryingAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long term debt gross</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentCarryingAmount_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentCarryingAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentCarryingAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentCarryingAmount" xlink:to="lab_us-gaap_DebtInstrumentCarryingAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_e17f4c14-065a-4cf9-b2f9-1acea7777a19_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to reconcile net income to net cash provided by operating activities:</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_ApplicableRatePeriod2Member_32a5e34c-0def-4677-b295-d023977fbd21_terseLabel_en-US" xlink:label="lab_rock_ApplicableRatePeriod2Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Applicable rate after April 1, 2023</link:label>
    <link:label id="lab_rock_ApplicableRatePeriod2Member_label_en-US" xlink:label="lab_rock_ApplicableRatePeriod2Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Applicable Rate Period 2 [Member]</link:label>
    <link:label id="lab_rock_ApplicableRatePeriod2Member_documentation_en-US" xlink:label="lab_rock_ApplicableRatePeriod2Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Applicable Rate Period 2</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ApplicableRatePeriod2Member" xlink:href="rock-20231231.xsd#rock_ApplicableRatePeriod2Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ApplicableRatePeriod2Member" xlink:to="lab_rock_ApplicableRatePeriod2Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MeasurementInputTypeAxis_7db11dfb-e36f-4272-acbc-6383ead16b9a_terseLabel_en-US" xlink:label="lab_us-gaap_MeasurementInputTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Input Type [Axis]</link:label>
    <link:label id="lab_us-gaap_MeasurementInputTypeAxis_label_en-US" xlink:label="lab_us-gaap_MeasurementInputTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Measurement Input Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MeasurementInputTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MeasurementInputTypeAxis" xlink:to="lab_us-gaap_MeasurementInputTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TimingOfTransferOfGoodOrServiceDomain_5c50ff06-ce1a-4290-beff-2da100fa1dc0_terseLabel_en-US" xlink:label="lab_us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Timing of Transfer of Good or Service [Domain]</link:label>
    <link:label id="lab_us-gaap_TimingOfTransferOfGoodOrServiceDomain_label_en-US" xlink:label="lab_us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Timing of Transfer of Good or Service [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:to="lab_us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringReserveRollForward_d46acf20-4d44-4406-83b2-e9d4a8867209_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringReserveRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Reserve [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_RestructuringReserveRollForward_label_en-US" xlink:label="lab_us-gaap_RestructuringReserveRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring Reserve [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringReserveRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringReserveRollForward" xlink:to="lab_us-gaap_RestructuringReserveRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_A2019Member_a0a4b929-0caf-460e-8c06-2b6644a5fcf0_terseLabel_en-US" xlink:label="lab_rock_A2019Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2019</link:label>
    <link:label id="lab_rock_A2019Member_label_en-US" xlink:label="lab_rock_A2019Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2019 [Member]</link:label>
    <link:label id="lab_rock_A2019Member_documentation_en-US" xlink:label="lab_rock_A2019Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2019 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2019Member" xlink:href="rock-20231231.xsd#rock_A2019Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_A2019Member" xlink:to="lab_rock_A2019Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries_ca8589f2-9ad8-4b52-8a49-8ac30ca10a46_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from divestiture</link:label>
    <link:label id="lab_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries_label_en-US" xlink:label="lab_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Divestiture of Interest in Consolidated Subsidiaries</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" xlink:to="lab_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain_73df44b3-819f-4c92-8328-3099b85eeeb3_terseLabel_en-US" xlink:label="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of Individual [Domain]</link:label>
    <link:label id="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain_label_en-US" xlink:label="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of Individual [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="lab_srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_AccumulatedOtherComprehensiveIncomeLossTax_5f36d93e-1da6-42c6-9c3e-367a8c1b476f_periodStartLabel_en-US" xlink:label="lab_rock_AccumulatedOtherComprehensiveIncomeLossTax" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance at beginning of period</link:label>
    <link:label id="lab_rock_AccumulatedOtherComprehensiveIncomeLossTax_cecf85eb-39ba-4761-a88a-fc8edb653bd5_periodEndLabel_en-US" xlink:label="lab_rock_AccumulatedOtherComprehensiveIncomeLossTax" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance at end of period</link:label>
    <link:label id="lab_rock_AccumulatedOtherComprehensiveIncomeLossTax_label_en-US" xlink:label="lab_rock_AccumulatedOtherComprehensiveIncomeLossTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Tax</link:label>
    <link:label id="lab_rock_AccumulatedOtherComprehensiveIncomeLossTax_documentation_en-US" xlink:label="lab_rock_AccumulatedOtherComprehensiveIncomeLossTax" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AccumulatedOtherComprehensiveIncomeLossTax" xlink:href="rock-20231231.xsd#rock_AccumulatedOtherComprehensiveIncomeLossTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_AccumulatedOtherComprehensiveIncomeLossTax" xlink:to="lab_rock_AccumulatedOtherComprehensiveIncomeLossTax" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent_f22fe29e-9d3a-4a7d-aded-aab76dc37b38_terseLabel_en-US" xlink:label="lab_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Executive compensation</link:label>
    <link:label id="lab_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent_label_en-US" xlink:label="lab_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Executive Compensation, Percent</link:label>
    <link:label id="lab_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent_documentation_en-US" xlink:label="lab_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Executive Compensation, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent" xlink:href="rock-20231231.xsd#rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent" xlink:to="lab_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_9fb1fda4-af03-4b56-8a38-ffcc47bffd22_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Grant date fair value</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_HomeImprovementRetailCompanyMember_3be96b04-a792-43c6-b267-e6d124c05b4c_terseLabel_en-US" xlink:label="lab_rock_HomeImprovementRetailCompanyMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Home Improvement Retail Company</link:label>
    <link:label id="lab_rock_HomeImprovementRetailCompanyMember_label_en-US" xlink:label="lab_rock_HomeImprovementRetailCompanyMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Home Improvement Retail Company [Member]</link:label>
    <link:label id="lab_rock_HomeImprovementRetailCompanyMember_documentation_en-US" xlink:label="lab_rock_HomeImprovementRetailCompanyMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Home Improvement Retail Company [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_HomeImprovementRetailCompanyMember" xlink:href="rock-20231231.xsd#rock_HomeImprovementRetailCompanyMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_HomeImprovementRetailCompanyMember" xlink:to="lab_rock_HomeImprovementRetailCompanyMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProvisionForDoubtfulAccounts_14391b2f-ed2f-460e-b9a8-bc515b595d12_terseLabel_en-US" xlink:label="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Bad debt expense, net of recoveries</link:label>
    <link:label id="lab_us-gaap_ProvisionForDoubtfulAccounts_label_en-US" xlink:label="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Credit Loss Expense (Reversal)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProvisionForDoubtfulAccounts" xlink:to="lab_us-gaap_ProvisionForDoubtfulAccounts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapital_c649cdb9-ec1e-4650-ae30-214001159bfb_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapital" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional paid-in capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapital_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapital" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid in Capital</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapital" xlink:to="lab_us-gaap_AdditionalPaidInCapital" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_5b64e2e6-7765-4c07-ba2a-90682a4b2070_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other comprehensive income (loss):</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_03c41673-dba4-4e01-aeb5-af36c4371e77_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forfeited (in USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesLeasingArrangements_88f996e4-399e-4485-8d42-1e1ce4b2068d_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating leases</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesLeasingArrangements_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Leasing Arrangements</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesLeasingArrangements"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesLeasingArrangements" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefit_0c537120-ea84-454e-adac-4087059a2c22_verboseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision for deferred income taxes</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefit_8736e85b-e7a9-47dc-a9bd-aa1d7d0d4062_totalLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total deferred</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperations_f16b8db6-ab74-4199-b0ad-b6d2d5753189_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash (used in) provided by investing activities of continuing operations</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperations_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities, Continuing Operations</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperations" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_7e742a71-532a-491b-a043-da9e2c2f2a7a_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Option, Exercise Price Range [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Option, Exercise Price Range [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_6cad8e89-6710-4f9f-80c0-9ed1520d6fe3_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash provided by operating activities of continuing operations</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities, Continuing Operations</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanUltimateHealthCareCostTrendRate1_813996f5-a5eb-4fa7-bb11-dda13e7ed503_verboseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanUltimateHealthCareCostTrendRate1" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ultimate healthcare trend rates</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanUltimateHealthCareCostTrendRate1_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanUltimateHealthCareCostTrendRate1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Ultimate Health Care Cost Trend Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanUltimateHealthCareCostTrendRate1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanUltimateHealthCareCostTrendRate1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanUltimateHealthCareCostTrendRate1" xlink:to="lab_us-gaap_DefinedBenefitPlanUltimateHealthCareCostTrendRate1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingInformationRevenueAbstract_dc1cd71d-0321-4a1b-b8c2-b8d7036701e5_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingInformationRevenueAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting Information, Revenue for Reportable Segment [Abstract]</link:label>
    <link:label id="lab_us-gaap_SegmentReportingInformationRevenueAbstract_label_en-US" xlink:label="lab_us-gaap_SegmentReportingInformationRevenueAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting Information, Revenue for Reportable Segment [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationRevenueAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationRevenueAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingInformationRevenueAbstract" xlink:to="lab_us-gaap_SegmentReportingInformationRevenueAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_800e61f6-a6e8-4fb0-b413-9db5b89a445b_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forfeited (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxPolicyTextBlock_fea4a6ed-90ce-4d7f-abaa-02019f804547_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_IncomeTaxPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxPolicyTextBlock" xlink:to="lab_us-gaap_IncomeTaxPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFinStmtErrorCorrectionFlag_1962a3ab-5df3-4210-835f-39972095111b_terseLabel_en-US" xlink:label="lab_dei_DocumentFinStmtErrorCorrectionFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Financial Statement Error Correction [Flag]</link:label>
    <link:label id="lab_dei_DocumentFinStmtErrorCorrectionFlag_label_en-US" xlink:label="lab_dei_DocumentFinStmtErrorCorrectionFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Financial Statement Error Correction [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFinStmtErrorCorrectionFlag" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtErrorCorrectionFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFinStmtErrorCorrectionFlag" xlink:to="lab_dei_DocumentFinStmtErrorCorrectionFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_d7a1d12a-4293-4ffb-a3f7-6bc2879efb3a_verboseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2026</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryWorkInProcess_03c8ef98-26d9-4662-a342-f37066336efe_verboseLabel_en-US" xlink:label="lab_us-gaap_InventoryWorkInProcess" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Work-in-process</link:label>
    <link:label id="lab_us-gaap_InventoryWorkInProcess_label_en-US" xlink:label="lab_us-gaap_InventoryWorkInProcess" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory, Work in Process, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWorkInProcess" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcess"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryWorkInProcess" xlink:to="lab_us-gaap_InventoryWorkInProcess" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_a82ab015-74c3-49c0-962d-d74de50bae93_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forfeited in period (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_7dbb5be2-d8a7-49e7-9fd1-bd51326d91d1_negatedLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Forfeited (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax_6335fe7b-67d7-445c-a93b-8d42c6507b5c_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustment to loss on disposal</link:label>
    <link:label id="lab_us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax_label_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Discontinued Operation, Gain (Loss) on Disposal of Discontinued Operation, Net of Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax" xlink:to="lab_us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_a0fe1930-7133-43fa-ad8e-48e6bd4df770_terseLabel_en-US" xlink:label="lab_us-gaap_AOCIAttributableToParentNetOfTaxRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_label_en-US" xlink:label="lab_us-gaap_AOCIAttributableToParentNetOfTaxRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">AOCI Attributable to Parent, Net of Tax [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AOCIAttributableToParentNetOfTaxRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward" xlink:to="lab_us-gaap_AOCIAttributableToParentNetOfTaxRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_d77ca136-930a-418d-a298-bc67c388d213_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plans and Other Postretirement Benefit Plans Disclosures [Table]</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plans and Other Postretirement Benefit Plans Disclosures [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable" xlink:to="lab_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested_570c6170-856a-44d3-a8aa-7484a17cbf1c_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net proceeds from sale of business</link:label>
    <link:label id="lab_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested_label_en-US" xlink:label="lab_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Divestiture of Businesses, Net of Cash Divested</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested" xlink:to="lab_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_366976bf-9827-4678-ba02-b4c69478025e_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Aggregate Intrinsic&#160;Value</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesAdjustments_73888f29-0b72-4c79-bc6e-97fdd18e9828_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesAdjustments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reclassification from discontinued operations upon sale of industrial group</link:label>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesAdjustments_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesAdjustments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Valuation Allowances and Reserves, Increase (Decrease) Adjustment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesAdjustments" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesAdjustments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesAdjustments" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesAdjustments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MachineryAndEquipmentGross_f966a499-5399-4194-b25f-4c5e9b5ac8d0_verboseLabel_en-US" xlink:label="lab_us-gaap_MachineryAndEquipmentGross" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Machinery and equipment</link:label>
    <link:label id="lab_us-gaap_MachineryAndEquipmentGross_label_en-US" xlink:label="lab_us-gaap_MachineryAndEquipmentGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Machinery and Equipment, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MachineryAndEquipmentGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MachineryAndEquipmentGross" xlink:to="lab_us-gaap_MachineryAndEquipmentGross" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityRegistrantName_51d99331-8cab-4220-9cf7-0367515a9dda_terseLabel_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:label id="lab_dei_EntityRegistrantName_label_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityRegistrantName" xlink:to="lab_dei_EntityRegistrantName" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_8fac35c2-3282-4b79-b7a6-ef330a651b89_terseLabel_en-US" xlink:label="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock options and restricted stock (in shares)</link:label>
    <link:label id="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_label_en-US" xlink:label="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets_43b13174-c75e-410e-bbf9-eb49dc155e00_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other current assets and other assets</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Other Operating Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:to="lab_us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_8e3babef-8255-415c-89f3-44e471122997_verboseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2025</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_CapitalLossCarryforwardAmendedReturns_a5fa9d61-0ed6-4a64-987f-0c1fb60e6ee6_terseLabel_en-US" xlink:label="lab_rock_CapitalLossCarryforwardAmendedReturns" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amended returns</link:label>
    <link:label id="lab_rock_CapitalLossCarryforwardAmendedReturns_label_en-US" xlink:label="lab_rock_CapitalLossCarryforwardAmendedReturns" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capital Loss Carryforward, Amended Returns</link:label>
    <link:label id="lab_rock_CapitalLossCarryforwardAmendedReturns_documentation_en-US" xlink:label="lab_rock_CapitalLossCarryforwardAmendedReturns" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capital Loss Carryforward, Amended Returns</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_CapitalLossCarryforwardAmendedReturns" xlink:href="rock-20231231.xsd#rock_CapitalLossCarryforwardAmendedReturns"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_CapitalLossCarryforwardAmendedReturns" xlink:to="lab_rock_CapitalLossCarryforwardAmendedReturns" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfSalesMember_6b264cb8-7f30-467d-ac59-52c2e3ac6d9b_verboseLabel_en-US" xlink:label="lab_us-gaap_CostOfSalesMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of sales</link:label>
    <link:label id="lab_us-gaap_CostOfSalesMember_f9007ee0-b0e0-4138-8a3b-31438c25e65c_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfSalesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of sales</link:label>
    <link:label id="lab_us-gaap_CostOfSalesMember_label_en-US" xlink:label="lab_us-gaap_CostOfSalesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Sales [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfSalesMember" xlink:to="lab_us-gaap_CostOfSalesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentsIncorporatedByReferenceTextBlock_0a999b7d-8968-4530-aa24-b60076c0810f_terseLabel_en-US" xlink:label="lab_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Documents Incorporated by Reference</link:label>
    <link:label id="lab_dei_DocumentsIncorporatedByReferenceTextBlock_label_en-US" xlink:label="lab_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Documents Incorporated by Reference [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentsIncorporatedByReferenceTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:to="lab_dei_DocumentsIncorporatedByReferenceTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock_cecc4c97-af0c-4d58-a98d-352d040831e4_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Total Expense for All Retirement Plans</link:label>
    <link:label id="lab_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Costs of Retirement Plans [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_80201308-2b59-4ee5-8654-bc7900951ad0_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Federal tax credits</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Credit, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsForRestructuring_b38355bf-fce5-4065-b1b3-1a7f08a9d3ca_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsForRestructuring" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash payments</link:label>
    <link:label id="lab_us-gaap_PaymentsForRestructuring_label_en-US" xlink:label="lab_us-gaap_PaymentsForRestructuring" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments for Restructuring</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRestructuring" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRestructuring"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForRestructuring" xlink:to="lab_us-gaap_PaymentsForRestructuring" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract_a37f0d4f-b789-4116-9a7b-5c0e96fe7273_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Net of Tax [Abstract]</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Net of Tax [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AuditorName_409c0526-5061-455a-87e4-10d65a176701_terseLabel_en-US" xlink:label="lab_dei_AuditorName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Name</link:label>
    <link:label id="lab_dei_AuditorName_label_en-US" xlink:label="lab_dei_AuditorName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Auditor Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorName" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AuditorName" xlink:to="lab_dei_AuditorName" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1_b3e5ed9d-ea09-4bc0-89c8-88753fabdc33_negatedTerseLabel_en-US" xlink:label="lab_rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum pension and post retirement benefit plan adjustments, net of taxes</link:label>
    <link:label id="lab_rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1_label_en-US" xlink:label="lab_rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income Minimum Pension Liability Net Adjustment Tax 1</link:label>
    <link:label id="lab_rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1_documentation_en-US" xlink:label="lab_rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income Minimum Pension Liability Net Adjustment Tax 1</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1" xlink:href="rock-20231231.xsd#rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1" xlink:to="lab_rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentPeriodEndDate_62f3deb1-c2f3-4c42-a56a-354878007fc5_terseLabel_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:label id="lab_dei_DocumentPeriodEndDate_label_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentPeriodEndDate" xlink:to="lab_dei_DocumentPeriodEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_56e5bea3-8adb-4aa3-bc4a-02811f1e0852_negatedLabel_en-US" xlink:label="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: accumulated depreciation</link:label>
    <link:label id="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_dba27212-f9bd-48e9-a49b-58e6eae9cf8b_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group Name [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_label_en-US" xlink:label="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disposal Group Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:to="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_05db1130-77d8-4ab4-9c3b-cb0b52b20ff1_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Exercise Price</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RepaymentsOfLongTermDebt_3c7f49de-037f-4367-92f5-73bc79801e94_negatedLabel_en-US" xlink:label="lab_us-gaap_RepaymentsOfLongTermDebt" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term debt payments</link:label>
    <link:label id="lab_us-gaap_RepaymentsOfLongTermDebt_label_en-US" xlink:label="lab_us-gaap_RepaymentsOfLongTermDebt" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Repayments of Long-Term Debt</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfLongTermDebt" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLongTermDebt"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RepaymentsOfLongTermDebt" xlink:to="lab_us-gaap_RepaymentsOfLongTermDebt" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TreasuryStockCommonMember_c30c3b87-432d-4eb4-a956-27674914a681_terseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockCommonMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock</link:label>
    <link:label id="lab_us-gaap_TreasuryStockCommonMember_label_en-US" xlink:label="lab_us-gaap_TreasuryStockCommonMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock, Common [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockCommonMember" xlink:to="lab_us-gaap_TreasuryStockCommonMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCentralIndexKey_04386c44-b0c4-41b3-b05a-198956085a0a_terseLabel_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:label id="lab_dei_EntityCentralIndexKey_label_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCentralIndexKey" xlink:to="lab_dei_EntityCentralIndexKey" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AmortizationOfFinancingCostsAndDiscounts_46928488-b72a-4143-9a95-baab354935f7_terseLabel_en-US" xlink:label="lab_us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exit activity costs, non-cash</link:label>
    <link:label id="lab_us-gaap_AmortizationOfFinancingCostsAndDiscounts_label_en-US" xlink:label="lab_us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of Debt Issuance Costs and Discounts</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfFinancingCostsAndDiscounts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:to="lab_us-gaap_AmortizationOfFinancingCostsAndDiscounts" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_A2018Member_04fa0f5e-ed3a-4cd9-94f9-984f3f282648_terseLabel_en-US" xlink:label="lab_rock_A2018Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2018</link:label>
    <link:label id="lab_rock_A2018Member_label_en-US" xlink:label="lab_rock_A2018Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2018 [Member]</link:label>
    <link:label id="lab_rock_A2018Member_documentation_en-US" xlink:label="lab_rock_A2018Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2018 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2018Member" xlink:href="rock-20231231.xsd#rock_A2018Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_A2018Member" xlink:to="lab_rock_A2018Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsGross_f47e4c71-ddd5-4e48-a8bb-2e2cd2957ce0_verboseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Carrying Amount, Finite-lived intangible assets</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsGross_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsGross" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_bb819bec-7f27-4620-999e-fd25f842d67e_verboseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision for income taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_23bf76e1-1c6e-4da9-86fa-fcc3d37a68ba_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Provision for income taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityDomain_07dd42b4-7ffb-4b96-aeb3-cab2cafadf6f_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityDomain_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain" xlink:to="lab_us-gaap_IncomeTaxAuthorityDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod_a1e9a17f-0003-4729-900c-64c6f69a1d4d_terseLabel_en-US" xlink:label="lab_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award performance period</link:label>
    <link:label id="lab_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod_label_en-US" xlink:label="lab_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Award Performance Period</link:label>
    <link:label id="lab_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod_documentation_en-US" xlink:label="lab_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Award Performance Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod" xlink:href="rock-20231231.xsd#rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod" xlink:to="lab_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent_05385f5d-d69e-454d-99a0-dbe5a6f4d0e8_verboseLabel_en-US" xlink:label="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Compensation</link:label>
    <link:label id="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee-related Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:to="lab_us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs_2b88c498-ec3c-40af-906c-2ac4ac0cdb47_negatedLabel_en-US" xlink:label="lab_us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts written off against allowance and other adjustments</link:label>
    <link:label id="lab_us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs_label_en-US" xlink:label="lab_us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Financing Receivable, Allowance for Credit Loss, Writeoff</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs" xlink:to="lab_us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FairValueDisclosuresTextBlock_90f8799d-e943-40ce-b0c2-db548de24644_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Measurements</link:label>
    <link:label id="lab_us-gaap_FairValueDisclosuresTextBlock_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Fair Value Disclosures [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosuresTextBlock" xlink:to="lab_us-gaap_FairValueDisclosuresTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsOfFinancingCosts_d574057c-555c-4538-b376-f084295fce19_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsOfFinancingCosts" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment of debt issuance costs</link:label>
    <link:label id="lab_us-gaap_PaymentsOfFinancingCosts_label_en-US" xlink:label="lab_us-gaap_PaymentsOfFinancingCosts" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments of Financing Costs</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfFinancingCosts" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfFinancingCosts"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsOfFinancingCosts" xlink:to="lab_us-gaap_PaymentsOfFinancingCosts" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SalesRevenueNetMember_32f0d77c-c700-428c-bfff-05a2cb8005fb_terseLabel_en-US" xlink:label="lab_us-gaap_SalesRevenueNetMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net sales</link:label>
    <link:label id="lab_us-gaap_SalesRevenueNetMember_label_en-US" xlink:label="lab_us-gaap_SalesRevenueNetMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue Benchmark [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesRevenueNetMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SalesRevenueNetMember" xlink:to="lab_us-gaap_SalesRevenueNetMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AwardDateAxis_e3da8a41-2b76-453b-bbac-90e3132ceedb_terseLabel_en-US" xlink:label="lab_us-gaap_AwardDateAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Date [Axis]</link:label>
    <link:label id="lab_us-gaap_AwardDateAxis_label_en-US" xlink:label="lab_us-gaap_AwardDateAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Award Date [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardDateAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardDateAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AwardDateAxis" xlink:to="lab_us-gaap_AwardDateAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations_a572f337-0e78-456f-98f9-178c22f0b2e5_terseLabel_en-US" xlink:label="lab_us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash used in operating activities of discontinued operations</link:label>
    <link:label id="lab_us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations_label_en-US" xlink:label="lab_us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash Provided by (Used in) Operating Activities, Discontinued Operations</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations" xlink:to="lab_us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTableTextBlock_62f4b672-e02a-4551-a547-f59273c123e5_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue</link:label>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTableTextBlock_label_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="lab_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_PaymentsToAcquirePropertyPlantAndEquipmentNet_523592f3-fe47-4870-b26c-36f3ddbf07db_negatedLabel_en-US" xlink:label="lab_rock_PaymentsToAcquirePropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchases of property, plant, and equipment, net</link:label>
    <link:label id="lab_rock_PaymentsToAcquirePropertyPlantAndEquipmentNet_label_en-US" xlink:label="lab_rock_PaymentsToAcquirePropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment, Net</link:label>
    <link:label id="lab_rock_PaymentsToAcquirePropertyPlantAndEquipmentNet_documentation_en-US" xlink:label="lab_rock_PaymentsToAcquirePropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_PaymentsToAcquirePropertyPlantAndEquipmentNet" xlink:href="rock-20231231.xsd#rock_PaymentsToAcquirePropertyPlantAndEquipmentNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_PaymentsToAcquirePropertyPlantAndEquipmentNet" xlink:to="lab_rock_PaymentsToAcquirePropertyPlantAndEquipmentNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InventoryDisclosureTextBlock_02fa78b7-3123-4761-92bf-7b5eb6aee80a_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_InventoryDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_InventoryDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Inventory Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureTextBlock" xlink:to="lab_us-gaap_InventoryDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod_b072c8fc-1524-4840-a9b1-30d1d12e4df7_negatedTerseLabel_en-US" xlink:label="lab_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Excise tax on repurchase of common shares</link:label>
    <link:label id="lab_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod_label_en-US" xlink:label="lab_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock, Value, Acquired, Excise Tax Amount, Cost Method</link:label>
    <link:label id="lab_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod_documentation_en-US" xlink:label="lab_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock, Value, Acquired, Excise Tax Amount, Cost Method</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod" xlink:href="rock-20231231.xsd#rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod" xlink:to="lab_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_3cc7436c-3ddc-488a-b8e8-914d066d2cb0_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted-average remaining lease term - operating leases</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Weighted Average Remaining Lease Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SaleLeasebackTransactionTable_a0a8fddc-7504-49b1-87fe-5469ceef3908_terseLabel_en-US" xlink:label="lab_us-gaap_SaleLeasebackTransactionTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sale Leaseback Transaction [Table]</link:label>
    <link:label id="lab_us-gaap_SaleLeasebackTransactionTable_label_en-US" xlink:label="lab_us-gaap_SaleLeasebackTransactionTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sale Leaseback Transaction [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleLeasebackTransactionTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleLeasebackTransactionTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SaleLeasebackTransactionTable" xlink:to="lab_us-gaap_SaleLeasebackTransactionTable" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_ManagementStockPurchasePlanCompensationExpense_c80eaa92-cab7-4a94-ad5f-6d2433c9013c_terseLabel_en-US" xlink:label="lab_rock_ManagementStockPurchasePlanCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MSPP expense (recovery) (in thousands)</link:label>
    <link:label id="lab_rock_ManagementStockPurchasePlanCompensationExpense_label_en-US" xlink:label="lab_rock_ManagementStockPurchasePlanCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Management Stock Purchase Plan, Compensation Expense</link:label>
    <link:label id="lab_rock_ManagementStockPurchasePlanCompensationExpense_documentation_en-US" xlink:label="lab_rock_ManagementStockPurchasePlanCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Management Stock Purchase Plan, Compensation Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ManagementStockPurchasePlanCompensationExpense" xlink:href="rock-20231231.xsd#rock_ManagementStockPurchasePlanCompensationExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ManagementStockPurchasePlanCompensationExpense" xlink:to="lab_rock_ManagementStockPurchasePlanCompensationExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongtermDebtTypeAxis_b2bfed45-3b62-4230-acb7-beaaff3df3ea_terseLabel_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Type [Axis]</link:label>
    <link:label id="lab_us-gaap_LongtermDebtTypeAxis_label_en-US" xlink:label="lab_us-gaap_LongtermDebtTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongtermDebtTypeAxis" xlink:to="lab_us-gaap_LongtermDebtTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AmendmentFlag_5c36377b-99c0-4d3c-9577-49cee92bcec2_terseLabel_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:label id="lab_dei_AmendmentFlag_label_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AmendmentFlag" xlink:to="lab_dei_AmendmentFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_2a7ed5c6-4747-46b1-8dd5-986124e64dbd_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Amount [Abstract]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Expense (Benefit), Effective Income Tax Rate Reconciliation, Amount [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:to="lab_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag_26633307-23f9-4fe0-9045-fc49f859beb4_terseLabel_en-US" xlink:label="lab_rock_DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Discontinued Operation Gain Loss On Disposal Statement Of Income Or Comprehensive Income Extensible Enumeration Not Disclosed Flag</link:label>
    <link:label id="lab_rock_DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag_label_en-US" xlink:label="lab_rock_DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Discontinued Operation Gain Loss On Disposal Statement Of Income Or Comprehensive Income Extensible Enumeration Not Disclosed Flag</link:label>
    <link:label id="lab_rock_DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag_documentation_en-US" xlink:label="lab_rock_DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Discontinued Operation Gain Loss On Disposal Statement Of Income Or Comprehensive Income Extensible Enumeration Not Disclosed Flag</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag" xlink:href="rock-20231231.xsd#rock_DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag" xlink:to="lab_rock_DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses_699dc0ff-1915-4977-96c3-a7f2db99abeb_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loss amortization (2)</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Amortization of Gain (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses" xlink:to="lab_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostTable_ab1242c6-7af5-4d7d-a94a-c96920181af9_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Initial Application Period Cumulative Effect Transition [Table]</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostTable_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostTable" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostTable" xlink:to="lab_us-gaap_CapitalizedContractCostTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_d22eec3d-d720-4a8a-b417-84f251099b48_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_975ea206-ef68-45cd-b6f2-2171278a043c_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquisitions, net of cash acquired</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Businesses, Net of Cash Acquired</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:to="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_45e15b6e-31ab-45df-8863-b5bc50ae1a4c_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted-average discount rate - operating leases</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Weighted Average Discount Rate, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount_c51d51f2-641c-439d-865e-c42e65d3b329_terseLabel_en-US" xlink:label="lab_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Executive compensation</link:label>
    <link:label id="lab_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount_label_en-US" xlink:label="lab_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Executive Compensation, Amount</link:label>
    <link:label id="lab_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount_documentation_en-US" xlink:label="lab_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Executive Compensation, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount" xlink:href="rock-20231231.xsd#rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount" xlink:to="lab_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MovementInValuationAllowancesAndReservesRollForward_ea78cff8-acb9-45d3-9571-1e65bce50625_terseLabel_en-US" xlink:label="lab_us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_MovementInValuationAllowancesAndReservesRollForward_label_en-US" xlink:label="lab_us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:to="lab_us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InterestPaidNet_6c41587f-0b5c-4f28-abe5-bda44c14a349_terseLabel_en-US" xlink:label="lab_us-gaap_InterestPaidNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash paid for interest</link:label>
    <link:label id="lab_us-gaap_InterestPaidNet_label_en-US" xlink:label="lab_us-gaap_InterestPaidNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Paid, Excluding Capitalized Interest, Operating Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestPaidNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestPaidNet" xlink:to="lab_us-gaap_InterestPaidNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InterestIncomeExpenseNet_ef9aefe5-ffcb-4c43-89f6-d8abac298a6f_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_InterestIncomeExpenseNet" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest expense, net</link:label>
    <link:label id="lab_us-gaap_InterestIncomeExpenseNet_948dc99e-675d-451a-9d87-5643041eac3b_terseLabel_en-US" xlink:label="lab_us-gaap_InterestIncomeExpenseNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest expense, net</link:label>
    <link:label id="lab_us-gaap_InterestIncomeExpenseNet_label_en-US" xlink:label="lab_us-gaap_InterestIncomeExpenseNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Income (Expense), Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeExpenseNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestIncomeExpenseNet" xlink:to="lab_us-gaap_InterestIncomeExpenseNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CreditFacilityDomain_686db456-3995-4c48-8c8a-9b2b4d0152a7_terseLabel_en-US" xlink:label="lab_us-gaap_CreditFacilityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Domain]</link:label>
    <link:label id="lab_us-gaap_CreditFacilityDomain_label_en-US" xlink:label="lab_us-gaap_CreditFacilityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditFacilityDomain" xlink:to="lab_us-gaap_CreditFacilityDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationsPolicy_7ff4cc1a-1c2f-4803-98a7-887a342dbe40_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationsPolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquisition related assets and liabilities</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationsPolicy_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationsPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combinations Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationsPolicy" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationsPolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationsPolicy" xlink:to="lab_us-gaap_BusinessCombinationsPolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_506ef7a6-f820-4c7d-9ac1-56bb572bf234_verboseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">LIBOR floor, plus</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Basis Spread on Variable Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife_92aadf70-a4ed-4c21-9155-44a3153e9014_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Estimated useful lives</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Useful Life</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermDebtNoncurrent_ac6228e2-84c4-4f22-a6af-a49599e07fe0_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term debt</link:label>
    <link:label id="lab_us-gaap_LongTermDebtNoncurrent_label_en-US" xlink:label="lab_us-gaap_LongTermDebtNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Excluding Current Maturities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebtNoncurrent" xlink:to="lab_us-gaap_LongTermDebtNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_ManagementStockPurchasePlanMember_14594ba1-5e9d-4d02-8694-b128eb49082a_terseLabel_en-US" xlink:label="lab_rock_ManagementStockPurchasePlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Management Stock Purchase Plan</link:label>
    <link:label id="lab_rock_ManagementStockPurchasePlanMember_d540f7cf-ca75-469f-9dbe-e88c2e9ace17_verboseLabel_en-US" xlink:label="lab_rock_ManagementStockPurchasePlanMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MSPP</link:label>
    <link:label id="lab_rock_ManagementStockPurchasePlanMember_label_en-US" xlink:label="lab_rock_ManagementStockPurchasePlanMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Management Stock Purchase Plan [Member]</link:label>
    <link:label id="lab_rock_ManagementStockPurchasePlanMember_documentation_en-US" xlink:label="lab_rock_ManagementStockPurchasePlanMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Management stock purchase plan [Member].</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ManagementStockPurchasePlanMember" xlink:href="rock-20231231.xsd#rock_ManagementStockPurchasePlanMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ManagementStockPurchasePlanMember" xlink:to="lab_rock_ManagementStockPurchasePlanMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxLiabilities_1ce237d7-25d4-4ed1-be30-0bd75edf3bac_totalLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net deferred tax liabilities</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilities_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilities" xlink:to="lab_us-gaap_DeferredTaxLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_IncomeTaxesPaidAndNetOfTaxRefundsTableTextBlock_9590cbf2-aed5-4e34-ad4e-baa6d2439786_terseLabel_en-US" xlink:label="lab_rock_IncomeTaxesPaidAndNetOfTaxRefundsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes Paid, Net of Tax Refunds</link:label>
    <link:label id="lab_rock_IncomeTaxesPaidAndNetOfTaxRefundsTableTextBlock_label_en-US" xlink:label="lab_rock_IncomeTaxesPaidAndNetOfTaxRefundsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes Paid And Net Of Tax Refunds [Table Text Block]</link:label>
    <link:label id="lab_rock_IncomeTaxesPaidAndNetOfTaxRefundsTableTextBlock_documentation_en-US" xlink:label="lab_rock_IncomeTaxesPaidAndNetOfTaxRefundsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income taxes paid and net of tax refunds [Table Text Block].</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_IncomeTaxesPaidAndNetOfTaxRefundsTableTextBlock" xlink:href="rock-20231231.xsd#rock_IncomeTaxesPaidAndNetOfTaxRefundsTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_IncomeTaxesPaidAndNetOfTaxRefundsTableTextBlock" xlink:to="lab_rock_IncomeTaxesPaidAndNetOfTaxRefundsTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_9ac72dbf-6bfd-433d-a3bb-8043918cc946_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average shares outstanding &#8211; Diluted (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_46ce295a-9ed6-4644-ba9d-c331407994b0_totalLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average shares and conversions (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax_9a520d66-84e2-471a-a48e-d913c4c9dee6_negatedLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pre-tax accumulated other comprehensive loss &#8211; unamortized post-retirement healthcare costs</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Defined Benefit Plan, Gain (Loss), after Reclassification Adjustment, before Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax" xlink:to="lab_us-gaap_DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_78305df6-11cd-4888-a2a5-899fec42afca_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquired intangible assets</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrentAndNoncurrent_94b36241-ee59-48da-ba35-b54c073340e8_totalLabel_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrentAndNoncurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Liabilities, Total</link:label>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrentAndNoncurrent_label_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrentAndNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrentAndNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrentAndNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAndNoncurrent" xlink:to="lab_us-gaap_AccruedLiabilitiesCurrentAndNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SummaryOfValuationAllowanceTextBlock_66b1fe65-1d98-46cc-977f-f6e23c651162_terseLabel_en-US" xlink:label="lab_us-gaap_SummaryOfValuationAllowanceTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Valuation Allowance</link:label>
    <link:label id="lab_us-gaap_SummaryOfValuationAllowanceTextBlock_label_en-US" xlink:label="lab_us-gaap_SummaryOfValuationAllowanceTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of Valuation Allowance [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SummaryOfValuationAllowanceTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SummaryOfValuationAllowanceTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SummaryOfValuationAllowanceTextBlock" xlink:to="lab_us-gaap_SummaryOfValuationAllowanceTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_2d7a7b7f-ac79-40fb-9611-103c4296f7c6_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Asset and Liability</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillWrittenOffRelatedToSaleOfBusinessUnit_ce142563-a9f3-4932-9d5e-c7a67553a948_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_GoodwillWrittenOffRelatedToSaleOfBusinessUnit" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sale of business</link:label>
    <link:label id="lab_us-gaap_GoodwillWrittenOffRelatedToSaleOfBusinessUnit_label_en-US" xlink:label="lab_us-gaap_GoodwillWrittenOffRelatedToSaleOfBusinessUnit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill, Written off Related to Sale of Business Unit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillWrittenOffRelatedToSaleOfBusinessUnit" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillWrittenOffRelatedToSaleOfBusinessUnit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillWrittenOffRelatedToSaleOfBusinessUnit" xlink:to="lab_us-gaap_GoodwillWrittenOffRelatedToSaleOfBusinessUnit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IndefinitelivedIntangibleAssetsAcquired_a1039117-438f-45ab-aff4-7f368d79fb09_terseLabel_en-US" xlink:label="lab_us-gaap_IndefinitelivedIntangibleAssetsAcquired" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Indefinite-lived intangible assets acquired</link:label>
    <link:label id="lab_us-gaap_IndefinitelivedIntangibleAssetsAcquired_label_en-US" xlink:label="lab_us-gaap_IndefinitelivedIntangibleAssetsAcquired" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Indefinite-Lived Intangible Assets Acquired</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefinitelivedIntangibleAssetsAcquired" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefinitelivedIntangibleAssetsAcquired"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IndefinitelivedIntangibleAssetsAcquired" xlink:to="lab_us-gaap_IndefinitelivedIntangibleAssetsAcquired" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_7df045b8-e678-44e4-a049-af6596841318_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_5c9b8493-2205-470f-942d-58da9761a623_terseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capital expenditures</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_0921859b-95b2-4dc8-bfbe-c8ea541bb8e6_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid-In Capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:to="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentAnnualReport_12fd1400-6750-4121-bbe7-6c1e7e143af1_terseLabel_en-US" xlink:label="lab_dei_DocumentAnnualReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Annual Report</link:label>
    <link:label id="lab_dei_DocumentAnnualReport_label_en-US" xlink:label="lab_dei_DocumentAnnualReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Annual Report</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentAnnualReport" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentAnnualReport" xlink:to="lab_dei_DocumentAnnualReport" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_bc354a45-ce66-4b17-a8da-19e50bbfe2b4_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Option, Exercise Price Range [Line Items]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:to="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour_bbd80e5f-a8c5-49b8-a153-d2a3c6bae0d8_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2027</link:label>
    <link:label id="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour_label_en-US" xlink:label="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Defined Benefit Plan, Expected Future Benefit Payment, Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour" xlink:to="lab_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BalanceSheetLocationAxis_fd5ff8e3-a99a-4ca3-8e50-f60703241355_terseLabel_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance Sheet Location [Axis]</link:label>
    <link:label id="lab_us-gaap_BalanceSheetLocationAxis_label_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance Sheet Location [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BalanceSheetLocationAxis" xlink:to="lab_us-gaap_BalanceSheetLocationAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Assets_32e5fc65-5daf-4a7c-b5f5-7e2b89870ae5_totalLabel_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total assets</link:label>
    <link:label id="lab_us-gaap_Assets_a5e65ad5-7cc7-4011-b58b-bf23a1f5b62e_terseLabel_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total assets</link:label>
    <link:label id="lab_us-gaap_Assets_label_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Assets" xlink:to="lab_us-gaap_Assets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ExtinguishmentOfDebtLineItems_cfd173cc-bd9d-46cb-aac2-b93ef2982a1a_terseLabel_en-US" xlink:label="lab_us-gaap_ExtinguishmentOfDebtLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Extinguishment of Debt [Line Items]</link:label>
    <link:label id="lab_us-gaap_ExtinguishmentOfDebtLineItems_label_en-US" xlink:label="lab_us-gaap_ExtinguishmentOfDebtLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Extinguishment of Debt [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ExtinguishmentOfDebtLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ExtinguishmentOfDebtLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ExtinguishmentOfDebtLineItems" xlink:to="lab_us-gaap_ExtinguishmentOfDebtLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CoverAbstract_e26757f5-6e09-476a-9ba2-7ec0a2aa27df_terseLabel_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cover [Abstract]</link:label>
    <link:label id="lab_dei_CoverAbstract_label_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cover [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CoverAbstract" xlink:to="lab_dei_CoverAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent_e6520519-1f0b-4dea-824e-0c1ec22f91c8_terseLabel_en-US" xlink:label="lab_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Percent of grants awarded based on target threshold</link:label>
    <link:label id="lab_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent_label_en-US" xlink:label="lab_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other Than Options, Grants Based On Targeted Thresholds, Percent</link:label>
    <link:label id="lab_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent_documentation_en-US" xlink:label="lab_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other Than Options, Grants Based On Targeted Thresholds, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent" xlink:href="rock-20231231.xsd#rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent" xlink:to="lab_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_8898d981-f694-4fce-88a2-dacdc8d036d4_terseLabel_en-US" xlink:label="lab_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable</link:label>
    <link:label id="lab_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Loans, Notes, Trade and Other Receivables Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:to="lab_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_ec17ca55-89b7-411c-bd5e-84c1f73e336b_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock compensation expense</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">APIC, Share-Based Payment Arrangement, Increase for Cost Recognition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_ApplicableRatePeriod1Member_830ceba7-6759-4bfa-ab08-56226f444b80_terseLabel_en-US" xlink:label="lab_rock_ApplicableRatePeriod1Member" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Applicable rate through March 31, 2023</link:label>
    <link:label id="lab_rock_ApplicableRatePeriod1Member_label_en-US" xlink:label="lab_rock_ApplicableRatePeriod1Member" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Applicable Rate Period 1 [Member]</link:label>
    <link:label id="lab_rock_ApplicableRatePeriod1Member_documentation_en-US" xlink:label="lab_rock_ApplicableRatePeriod1Member" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Applicable Rate Period 1</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ApplicableRatePeriod1Member" xlink:href="rock-20231231.xsd#rock_ApplicableRatePeriod1Member"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ApplicableRatePeriod1Member" xlink:to="lab_rock_ApplicableRatePeriod1Member" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RestructuringAndRelatedActivitiesAbstract_0e6ef24d-09b1-4811-993d-e281b669eba9_terseLabel_en-US" xlink:label="lab_us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring and Related Activities [Abstract]</link:label>
    <link:label id="lab_us-gaap_RestructuringAndRelatedActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restructuring and Related Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:to="lab_us-gaap_RestructuringAndRelatedActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherLiabilitiesNoncurrent_1ddae0ee-3bf3-4583-bd6d-698cdd920112_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other non-current liabilities</link:label>
    <link:label id="lab_us-gaap_OtherLiabilitiesNoncurrent_label_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Liabilities, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherLiabilitiesNoncurrent" xlink:to="lab_us-gaap_OtherLiabilitiesNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_40d48c71-cea9-4836-93b8-24485e7df176_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Vested (in USD per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SaleLeasebackTransactionLineItems_db67dd09-7948-4ff8-8158-7e30f3de58c0_terseLabel_en-US" xlink:label="lab_us-gaap_SaleLeasebackTransactionLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sale Leaseback Transaction [Line Items]</link:label>
    <link:label id="lab_us-gaap_SaleLeasebackTransactionLineItems_label_en-US" xlink:label="lab_us-gaap_SaleLeasebackTransactionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sale Leaseback Transaction [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleLeasebackTransactionLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleLeasebackTransactionLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SaleLeasebackTransactionLineItems" xlink:to="lab_us-gaap_SaleLeasebackTransactionLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_b64e2e02-a529-425a-ad19-99b3087d29db_totalLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total lease payments</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue_bdc71b7d-db48-46af-ba9d-f9ee3809ae64_terseLabel_en-US" xlink:label="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments (in USD per share)</link:label>
    <link:label id="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue_label_en-US" xlink:label="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Adjustments in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:label id="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue_documentation_en-US" xlink:label="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Adjustments in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue" xlink:href="rock-20231231.xsd#rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue" xlink:to="lab_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxContingencyLineItems_0aa99fd6-7d5f-46f0-abe9-2d2a2506ef54_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxContingencyLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Contingency [Line Items]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxContingencyLineItems_label_en-US" xlink:label="lab_us-gaap_IncomeTaxContingencyLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Contingency [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxContingencyLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems" xlink:to="lab_us-gaap_IncomeTaxContingencyLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PensionPlansDefinedBenefitMember_2445d7c3-5bc9-4310-95c6-fa3ad711da92_terseLabel_en-US" xlink:label="lab_us-gaap_PensionPlansDefinedBenefitMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Multiemployer and other defined benefit and pension plans</link:label>
    <link:label id="lab_us-gaap_PensionPlansDefinedBenefitMember_label_en-US" xlink:label="lab_us-gaap_PensionPlansDefinedBenefitMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Pension Plan [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PensionPlansDefinedBenefitMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionPlansDefinedBenefitMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PensionPlansDefinedBenefitMember" xlink:to="lab_us-gaap_PensionPlansDefinedBenefitMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingDisclosureTextBlock_774bb1c8-999f-4114-ae85-c97cd202c712_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Information</link:label>
    <link:label id="lab_us-gaap_SegmentReportingDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingDisclosureTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_14dafe36-acdf-4bf5-8e18-9eead923c976_totalLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net increase (decrease) in cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_19164bc2-3700-4735-b845-e59baace5d26_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash Flows from Financing Activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_RetirementPlanNumberOfPlans_eecf13b5-377b-421d-9f68-fb8c8982bfcf_terseLabel_en-US" xlink:label="lab_rock_RetirementPlanNumberOfPlans" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of plans</link:label>
    <link:label id="lab_rock_RetirementPlanNumberOfPlans_label_en-US" xlink:label="lab_rock_RetirementPlanNumberOfPlans" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Plan, Number Of Plans</link:label>
    <link:label id="lab_rock_RetirementPlanNumberOfPlans_documentation_en-US" xlink:label="lab_rock_RetirementPlanNumberOfPlans" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retirement Plan, Number Of Plans</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RetirementPlanNumberOfPlans" xlink:href="rock-20231231.xsd#rock_RetirementPlanNumberOfPlans"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_RetirementPlanNumberOfPlans" xlink:to="lab_rock_RetirementPlanNumberOfPlans" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseRenewalTerm_1ed7325d-f9a4-4f86-bca7-4177ba22cf19_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease renewal term</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseRenewalTerm_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Renewal Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseRenewalTerm"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:to="lab_us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquityComponentDomain_4387ee65-dace-4014-aa46-528b84f8fa4a_terseLabel_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:label id="lab_us-gaap_EquityComponentDomain_label_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityComponentDomain" xlink:to="lab_us-gaap_EquityComponentDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetImpairment_620a01e6-afc2-4b06-b1cb-7698fceed7d0_verboseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetImpairment" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible asset impairment</link:label>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetImpairment_label_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetImpairment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill and Intangible Asset Impairment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetImpairment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetImpairment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetImpairment" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetImpairment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StateAndLocalJurisdictionMember_461a6436-673d-4478-85c3-313186f09f5d_terseLabel_en-US" xlink:label="lab_us-gaap_StateAndLocalJurisdictionMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State</link:label>
    <link:label id="lab_us-gaap_StateAndLocalJurisdictionMember_label_en-US" xlink:label="lab_us-gaap_StateAndLocalJurisdictionMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">State and Local Jurisdiction [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StateAndLocalJurisdictionMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StateAndLocalJurisdictionMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StateAndLocalJurisdictionMember" xlink:to="lab_us-gaap_StateAndLocalJurisdictionMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_3f0d7ee0-dfa4-4d93-b1ce-18da36501f72_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred tax assets, net of operating losses</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Assets, Operating Loss Carryforwards</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:to="lab_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesOther_61b0a0a7-3d39-4adf-96ca-5f3d00aa908c_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesOther" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesOther_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesOther" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Other</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesOther" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesOther"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesOther" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesOther" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentLineItems_d08fa3d9-c87b-4202-88cd-ad3e201cd3ba_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Line Items]</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentLineItems_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentLineItems" xlink:to="lab_us-gaap_DebtInstrumentLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetNet_cf5d6b12-9e23-4012-a6af-52da485d67c8_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Costs in excess of billings</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetNet_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Asset, after Allowance for Credit Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetNet" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerAssetNet" xlink:to="lab_us-gaap_ContractWithCustomerAssetNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermDebtAbstract_9b05f146-a1bd-4f69-90a8-52be12434ed0_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermDebtAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Debt, Unclassified [Abstract]</link:label>
    <link:label id="lab_us-gaap_LongTermDebtAbstract_label_en-US" xlink:label="lab_us-gaap_LongTermDebtAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-Term Debt, Unclassified [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermDebtAbstract" xlink:to="lab_us-gaap_LongTermDebtAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_f6bbc9dd-fb4b-4566-bd6b-c4802d503514_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average shares outstanding &#8211; Basic (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_d30c09ad-b919-4037-8dce-29e4be1fa3b3_verboseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average shares outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCurrentReportingStatus_9a418cb3-a2cf-499e-884e-0c7d7cc80b53_terseLabel_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:label id="lab_dei_EntityCurrentReportingStatus_label_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCurrentReportingStatus" xlink:to="lab_dei_EntityCurrentReportingStatus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskTypeDomain_52b708ce-2897-4436-848f-6a77cf8c7ec1_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Type [Domain]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskTypeDomain_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain" xlink:to="lab_us-gaap_ConcentrationRiskTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_564ec0b6-4c35-4ee4-9ba1-9a1d860f3534_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income from operations</link:label>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_da41bbe7-26b8-46ec-bb13-78c8aece1e23_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income from operations:</link:label>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_label_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Income (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingIncomeLoss" xlink:to="lab_us-gaap_OperatingIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_f1d29b3e-ab84-48f7-ab9c-8570a670c36b_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Property, Plant and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ConcentrationRiskByBenchmarkAxis_07ff3e66-e803-4e79-96db-d6bbeb5c6209_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskByBenchmarkAxis_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="lab_us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NumberOfReportingUnits_e5dde357-bbf5-40f8-b3ba-e33ad4d5258b_terseLabel_en-US" xlink:label="lab_us-gaap_NumberOfReportingUnits" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of reporting units</link:label>
    <link:label id="lab_us-gaap_NumberOfReportingUnits_label_en-US" xlink:label="lab_us-gaap_NumberOfReportingUnits" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of Reporting Units</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportingUnits" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportingUnits"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NumberOfReportingUnits" xlink:to="lab_us-gaap_NumberOfReportingUnits" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilities_ae0c5c6d-d024-4854-9108-ddddb05c66c3_totalLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross deferred tax liabilities</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilities_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Gross</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilities" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilities" xlink:to="lab_us-gaap_DeferredIncomeTaxLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfRevenue_04ca83da-6a71-48dd-95b8-5026ac3ee116_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfRevenue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of sales</link:label>
    <link:label id="lab_us-gaap_CostOfRevenue_label_en-US" xlink:label="lab_us-gaap_CostOfRevenue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Revenue</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenue" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfRevenue" xlink:to="lab_us-gaap_CostOfRevenue" xlink:type="arc" order="1"/>
    <link:label id="lab_rock_StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement_770ca8eb-eb80-4aac-927f-feeb41be700e_terseLabel_en-US" xlink:label="lab_rock_StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net settlement of restricted stock units, shares</link:label>
    <link:label id="lab_rock_StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement_label_en-US" xlink:label="lab_rock_StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, Restricted Stock Award, Settlement</link:label>
    <link:label id="lab_rock_StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement_documentation_en-US" xlink:label="lab_rock_StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, Restricted Stock Award, Settlement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_rock_StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement" xlink:href="rock-20231231.xsd#rock_StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_rock_StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement" xlink:to="lab_rock_StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_8d1d614a-d25a-4fe3-ad48-5c1debf2cf76_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_6ad4331e-429e-4c62-b615-4b5ed8c92321_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Annual commitment fee (as a percentage)</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Unused Capacity, Commitment Fee Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:to="lab_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LandAndLandImprovements_cf7494b6-3f47-4b07-a003-275c44e37e57_terseLabel_en-US" xlink:label="lab_us-gaap_LandAndLandImprovements" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Land and land improvements</link:label>
    <link:label id="lab_us-gaap_LandAndLandImprovements_label_en-US" xlink:label="lab_us-gaap_LandAndLandImprovements" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Land and Land Improvements</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LandAndLandImprovements" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandAndLandImprovements"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LandAndLandImprovements" xlink:to="lab_us-gaap_LandAndLandImprovements" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementBusinessSegmentsAxis_2e6605c9-04c6-4679-bf27-3176576ba3c3_terseLabel_en-US" xlink:label="lab_us-gaap_StatementBusinessSegmentsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segments [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementBusinessSegmentsAxis_label_en-US" xlink:label="lab_us-gaap_StatementBusinessSegmentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segments [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis" xlink:to="lab_us-gaap_StatementBusinessSegmentsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementLineItems_5390eff8-9cc5-4e8b-b83d-0d8dc6148bad_terseLabel_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:label id="lab_us-gaap_StatementLineItems_label_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementLineItems" xlink:to="lab_us-gaap_StatementLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_25a6b050-adbf-4fdd-8ae3-5402da350fdb_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, plant, and equipment</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_1c277d96-2b2e-4657-9639-53aeb95642e6_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other comprehensive income:</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_5519e4ff-4b59-4667-9f0e-5cdefd11c02a_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible assets</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Tax Liabilities, Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CustomerRelationshipsMember_a6991ae1-b113-45b2-a673-ca3c396a38b3_terseLabel_en-US" xlink:label="lab_us-gaap_CustomerRelationshipsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer relationships</link:label>
    <link:label id="lab_us-gaap_CustomerRelationshipsMember_label_en-US" xlink:label="lab_us-gaap_CustomerRelationshipsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer Relationships [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CustomerRelationshipsMember" xlink:to="lab_us-gaap_CustomerRelationshipsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TypeOfRestructuringDomain_1bb4e577-e417-446c-b3c1-3301a618601f_terseLabel_en-US" xlink:label="lab_us-gaap_TypeOfRestructuringDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Type of Restructuring [Domain]</link:label>
    <link:label id="lab_us-gaap_TypeOfRestructuringDomain_label_en-US" xlink:label="lab_us-gaap_TypeOfRestructuringDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Type of Restructuring [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfRestructuringDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TypeOfRestructuringDomain" xlink:to="lab_us-gaap_TypeOfRestructuringDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_1db9cf9d-45e5-4ef5-9493-8bd8140bd7bc_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income from discontinued operations</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_32deb297-151f-488d-8caf-ea8496e923ad_netLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income from discontinued operations</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Discontinued Operations, Net of Tax, Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity" xlink:to="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity" xlink:type="arc" order="1"/>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>13
<FILENAME>rock-20231231_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2024 Workiva-->
<!--r:f978b62b-0b5d-4525-9c9a-353eb8961492,g:e9e8e764-a5ea-4370-854e-7ce6a9aa54a1-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.gibraltar1.com/role/CoverPage" xlink:type="simple" xlink:href="rock-20231231.xsd#CoverPage"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/CoverPage" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType_eb899a87-87fb-4107-92bd-e6c2bc421f53" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_DocumentType_eb899a87-87fb-4107-92bd-e6c2bc421f53" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentAnnualReport_61a9a0dd-b0d9-4602-b7d8-e7595eac7999" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_DocumentAnnualReport_61a9a0dd-b0d9-4602-b7d8-e7595eac7999" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate_a6bb00c5-ee50-41e0-9a29-3f1c8a5b697b" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_DocumentPeriodEndDate_a6bb00c5-ee50-41e0-9a29-3f1c8a5b697b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate_e619f772-47c9-4fc1-bfd9-7cb786041b22" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_CurrentFiscalYearEndDate_e619f772-47c9-4fc1-bfd9-7cb786041b22" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport_e0a8b5e9-12bd-4ddc-9525-fc085eb09eea" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_DocumentTransitionReport_e0a8b5e9-12bd-4ddc-9525-fc085eb09eea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber_c25ff7a4-8f46-414f-8ba3-3c89ec88c19e" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_EntityFileNumber_c25ff7a4-8f46-414f-8ba3-3c89ec88c19e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName_0eadf336-90ac-4ba8-a1ff-0b8793fc6a84" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_EntityRegistrantName_0eadf336-90ac-4ba8-a1ff-0b8793fc6a84" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode_1eb62fe9-cc4d-40cf-aa95-e5d6ad2025fd" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_EntityIncorporationStateCountryCode_1eb62fe9-cc4d-40cf-aa95-e5d6ad2025fd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber_6a371e51-7394-420e-a55f-7accc2e3e486" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_EntityTaxIdentificationNumber_6a371e51-7394-420e-a55f-7accc2e3e486" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1_fc3350fc-4994-4911-bdde-81056a21eac8" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_EntityAddressAddressLine1_fc3350fc-4994-4911-bdde-81056a21eac8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine2_39117d40-81bf-4592-9062-d4e4c713ef93" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine2"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_EntityAddressAddressLine2_39117d40-81bf-4592-9062-d4e4c713ef93" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown_b906d37f-0782-4e43-929c-10464c960931" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_EntityAddressCityOrTown_b906d37f-0782-4e43-929c-10464c960931" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince_355df863-12df-4566-820d-ec548e12dfe1" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_EntityAddressStateOrProvince_355df863-12df-4566-820d-ec548e12dfe1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode_5ed10bf1-a555-49e8-8dfd-53a8d2184d1b" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_EntityAddressPostalZipCode_5ed10bf1-a555-49e8-8dfd-53a8d2184d1b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode_d44c684d-368a-443b-9ed2-43a4bbfd9377" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_CityAreaCode_d44c684d-368a-443b-9ed2-43a4bbfd9377" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber_c4250dce-4724-4bdb-907d-1b357b4a98a7" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_LocalPhoneNumber_c4250dce-4724-4bdb-907d-1b357b4a98a7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle_21577a51-6676-40af-8f72-f85cdb3b51f3" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_Security12bTitle_21577a51-6676-40af-8f72-f85cdb3b51f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol_c65d6661-de62-46c0-a4b2-9145dc48bbfc" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_TradingSymbol_c65d6661-de62-46c0-a4b2-9145dc48bbfc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName_03bef8b8-7538-4c2a-b41e-94e036d696ac" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_SecurityExchangeName_03bef8b8-7538-4c2a-b41e-94e036d696ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityWellKnownSeasonedIssuer_e1dbd26a-5b56-45ef-b760-6e020c88077a" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_EntityWellKnownSeasonedIssuer_e1dbd26a-5b56-45ef-b760-6e020c88077a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityVoluntaryFilers_c5346a86-87fb-4164-bfe6-67efd3441d8c" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_EntityVoluntaryFilers_c5346a86-87fb-4164-bfe6-67efd3441d8c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus_121b17f0-c807-4eed-947a-3718324890dc" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_EntityCurrentReportingStatus_121b17f0-c807-4eed-947a-3718324890dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent_727d8ee5-e5c4-49c5-8c30-74dd761609ff" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:presentationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_EntityInteractiveDataCurrent_727d8ee5-e5c4-49c5-8c30-74dd761609ff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory_aacac938-a25d-47e8-838f-83034a21d397" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory"/>
    <link:presentationArc order="24" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_EntityFilerCategory_aacac938-a25d-47e8-838f-83034a21d397" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness_f23642e6-643e-47a6-a1fe-244501ba434d" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness"/>
    <link:presentationArc order="25" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_EntitySmallBusiness_f23642e6-643e-47a6-a1fe-244501ba434d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany_2d171f3a-41b6-482c-8c8a-aca873a35671" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:presentationArc order="26" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_EntityEmergingGrowthCompany_2d171f3a-41b6-482c-8c8a-aca873a35671" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_IcfrAuditorAttestationFlag_be62917f-e994-4e2e-bfd8-98ca70e045f7" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_IcfrAuditorAttestationFlag"/>
    <link:presentationArc order="27" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_IcfrAuditorAttestationFlag_be62917f-e994-4e2e-bfd8-98ca70e045f7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany_471678e2-0d56-4d38-aa18-7907a895bb84" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany"/>
    <link:presentationArc order="28" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_EntityShellCompany_471678e2-0d56-4d38-aa18-7907a895bb84" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityPublicFloat_b4413288-ae2c-4075-b22e-af65c3056259" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat"/>
    <link:presentationArc order="29" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_EntityPublicFloat_b4413288-ae2c-4075-b22e-af65c3056259" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_69da617e-2b7d-4da3-9f17-fa6cb83ea57a" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_EntityCommonStockSharesOutstanding_69da617e-2b7d-4da3-9f17-fa6cb83ea57a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentsIncorporatedByReferenceTextBlock_cfcf3285-3046-492a-9193-2437bf48744d" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentsIncorporatedByReferenceTextBlock"/>
    <link:presentationArc order="31" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_DocumentsIncorporatedByReferenceTextBlock_cfcf3285-3046-492a-9193-2437bf48744d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag_998bd95c-dc6b-43b7-a262-82f4e42f655a" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag"/>
    <link:presentationArc order="32" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_AmendmentFlag_998bd95c-dc6b-43b7-a262-82f4e42f655a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus_a7b1de8d-b7b2-4f31-a7d6-95f4d5a47128" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus"/>
    <link:presentationArc order="33" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_DocumentFiscalYearFocus_a7b1de8d-b7b2-4f31-a7d6-95f4d5a47128" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus_31467b76-ee3a-4698-a7d0-e14176dc9db5" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:presentationArc order="34" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_DocumentFiscalPeriodFocus_31467b76-ee3a-4698-a7d0-e14176dc9db5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey_330887e5-168e-4115-86f2-dcb23f832837" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey"/>
    <link:presentationArc order="35" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_EntityCentralIndexKey_330887e5-168e-4115-86f2-dcb23f832837" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFinStmtErrorCorrectionFlag_9f3e9f74-4e17-4852-bb01-82db2b1f0e23" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtErrorCorrectionFlag"/>
    <link:presentationArc order="36" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_262ebcdf-0f88-4a4f-86f9-42d6d6ce43d2" xlink:to="loc_dei_DocumentFinStmtErrorCorrectionFlag_9f3e9f74-4e17-4852-bb01-82db2b1f0e23" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AuditInformation" xlink:type="simple" xlink:href="rock-20231231.xsd#AuditInformation"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AuditInformation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_rock_AuditInformationAbstract_6b4a359d-912e-4234-89e4-72190a22f149" xlink:href="rock-20231231.xsd#rock_AuditInformationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorName_290a3646-1a35-4b5d-9fbf-6b1b78ee203d" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorName"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rock_AuditInformationAbstract_6b4a359d-912e-4234-89e4-72190a22f149" xlink:to="loc_dei_AuditorName_290a3646-1a35-4b5d-9fbf-6b1b78ee203d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorLocation_6fd178f8-9228-46b3-be34-f87d9bbb0406" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorLocation"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rock_AuditInformationAbstract_6b4a359d-912e-4234-89e4-72190a22f149" xlink:to="loc_dei_AuditorLocation_6fd178f8-9228-46b3-be34-f87d9bbb0406" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AuditorFirmId_f8322394-6c41-47e2-a33b-90b769c9523d" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorFirmId"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rock_AuditInformationAbstract_6b4a359d-912e-4234-89e4-72190a22f149" xlink:to="loc_dei_AuditorFirmId_f8322394-6c41-47e2-a33b-90b769c9523d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome" xlink:type="simple" xlink:href="rock-20231231.xsd#ConsolidatedStatementsofIncome"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract_a992744b-4dd0-4c19-b244-0c2541eaee48" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_0d5d879b-9dc7-4b22-9870-c1c7a60aa387" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_a992744b-4dd0-4c19-b244-0c2541eaee48" xlink:to="loc_us-gaap_Revenues_0d5d879b-9dc7-4b22-9870-c1c7a60aa387" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenue_e34f9994-2de8-4bbf-9663-931335252505" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_a992744b-4dd0-4c19-b244-0c2541eaee48" xlink:to="loc_us-gaap_CostOfRevenue_e34f9994-2de8-4bbf-9663-931335252505" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_ed6aa697-5dc3-4e30-94ff-555d6bf0bc47" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_a992744b-4dd0-4c19-b244-0c2541eaee48" xlink:to="loc_us-gaap_GrossProfit_ed6aa697-5dc3-4e30-94ff-555d6bf0bc47" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_f7539c8a-02ff-42ad-97e9-5b9a05c79d50" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_a992744b-4dd0-4c19-b244-0c2541eaee48" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_f7539c8a-02ff-42ad-97e9-5b9a05c79d50" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetImpairment_71ce6b9b-5255-4bd5-ba1d-5647dd5779b6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetImpairment"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_a992744b-4dd0-4c19-b244-0c2541eaee48" xlink:to="loc_us-gaap_GoodwillAndIntangibleAssetImpairment_71ce6b9b-5255-4bd5-ba1d-5647dd5779b6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_331d51fc-a311-4eb8-b9a6-965ee431e303" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_a992744b-4dd0-4c19-b244-0c2541eaee48" xlink:to="loc_us-gaap_OperatingIncomeLoss_331d51fc-a311-4eb8-b9a6-965ee431e303" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNet_3f01a92a-e86c-47ba-9583-31e7f49246e9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeExpenseNet"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_a992744b-4dd0-4c19-b244-0c2541eaee48" xlink:to="loc_us-gaap_InterestIncomeExpenseNet_3f01a92a-e86c-47ba-9583-31e7f49246e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherIncome_6dc75305-429b-48ca-8a38-6a66d7ce8634" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherIncome"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_a992744b-4dd0-4c19-b244-0c2541eaee48" xlink:to="loc_us-gaap_OtherIncome_6dc75305-429b-48ca-8a38-6a66d7ce8634" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_898aad55-8558-4e2d-a159-9153b366e0d9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_a992744b-4dd0-4c19-b244-0c2541eaee48" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_898aad55-8558-4e2d-a159-9153b366e0d9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_3649d3d3-cbe8-4eb6-9fd6-d9ac92733bb8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_a992744b-4dd0-4c19-b244-0c2541eaee48" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_3649d3d3-cbe8-4eb6-9fd6-d9ac92733bb8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperations_76c25c75-583d-40c6-ac77-447c9c3e3fa5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperations"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_a992744b-4dd0-4c19-b244-0c2541eaee48" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperations_76c25c75-583d-40c6-ac77-447c9c3e3fa5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLossAttributableToReportingEntityAbstract_9441f591-028d-4d8b-a6b7-8f0c57503991" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAttributableToReportingEntityAbstract"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_a992744b-4dd0-4c19-b244-0c2541eaee48" xlink:to="loc_us-gaap_NetIncomeLossAttributableToReportingEntityAbstract_9441f591-028d-4d8b-a6b7-8f0c57503991" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_b391ad25-3a21-4e5d-9f63-4e191b38feb7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetIncomeLossAttributableToReportingEntityAbstract_9441f591-028d-4d8b-a6b7-8f0c57503991" xlink:to="loc_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_b391ad25-3a21-4e5d-9f63-4e191b38feb7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_f10e713f-684f-477a-8e82-b92c42f67412" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetIncomeLossAttributableToReportingEntityAbstract_9441f591-028d-4d8b-a6b7-8f0c57503991" xlink:to="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_f10e713f-684f-477a-8e82-b92c42f67412" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_c7f7f051-3394-49e8-bb3d-b2a9747fb203" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetIncomeLossAttributableToReportingEntityAbstract_9441f591-028d-4d8b-a6b7-8f0c57503991" xlink:to="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_c7f7f051-3394-49e8-bb3d-b2a9747fb203" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_c5f974c7-d89d-40bd-bfff-4e6e08579f3a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetIncomeLossAttributableToReportingEntityAbstract_9441f591-028d-4d8b-a6b7-8f0c57503991" xlink:to="loc_us-gaap_NetIncomeLoss_c5f974c7-d89d-40bd-bfff-4e6e08579f3a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_3a826849-56b2-4e26-9423-f8cb6db821ef" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_a992744b-4dd0-4c19-b244-0c2541eaee48" xlink:to="loc_us-gaap_EarningsPerShareAbstract_3a826849-56b2-4e26-9423-f8cb6db821ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_1abf8175-c279-4919-9e41-54375ab11e61" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsPerBasicShare"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_3a826849-56b2-4e26-9423-f8cb6db821ef" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_1abf8175-c279-4919-9e41-54375ab11e61" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare_a142a55e-93b0-4125-89a2-84c3d62a7803" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_3a826849-56b2-4e26-9423-f8cb6db821ef" xlink:to="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare_a142a55e-93b0-4125-89a2-84c3d62a7803" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_d5381f1d-9da3-4359-9609-1253a072ca63" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_3a826849-56b2-4e26-9423-f8cb6db821ef" xlink:to="loc_us-gaap_EarningsPerShareBasic_d5381f1d-9da3-4359-9609-1253a072ca63" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_d981116a-cb31-43b6-8809-4c48fef1f67b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_3a826849-56b2-4e26-9423-f8cb6db821ef" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_d981116a-cb31-43b6-8809-4c48fef1f67b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDilutedAbstract_1276e7d9-dcdd-4eea-8179-c30508d61d3f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDilutedAbstract"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_a992744b-4dd0-4c19-b244-0c2541eaee48" xlink:to="loc_us-gaap_EarningsPerShareDilutedAbstract_1276e7d9-dcdd-4eea-8179-c30508d61d3f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_4d41ca69-fb10-4ea2-b0e7-498d6e0db8e7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareDilutedAbstract_1276e7d9-dcdd-4eea-8179-c30508d61d3f" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_4d41ca69-fb10-4ea2-b0e7-498d6e0db8e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare_f2978b00-378e-4a3c-bc3f-80bd842664a0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareDilutedAbstract_1276e7d9-dcdd-4eea-8179-c30508d61d3f" xlink:to="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare_f2978b00-378e-4a3c-bc3f-80bd842664a0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_09c8698f-564f-48dd-a7f9-af1951878491" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareDilutedAbstract_1276e7d9-dcdd-4eea-8179-c30508d61d3f" xlink:to="loc_us-gaap_EarningsPerShareDiluted_09c8698f-564f-48dd-a7f9-af1951878491" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_390d1fa7-cb98-4fa1-9478-ee6243621bf2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareDilutedAbstract_1276e7d9-dcdd-4eea-8179-c30508d61d3f" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_390d1fa7-cb98-4fa1-9478-ee6243621bf2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ConsolidatedStatementsofComprehensiveIncome" xlink:type="simple" xlink:href="rock-20231231.xsd#ConsolidatedStatementsofComprehensiveIncome"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/ConsolidatedStatementsofComprehensiveIncome" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_409bd91b-a532-4f26-981b-0776c29ac848" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_6bb1f5e1-7142-4006-b4d4-fcbc5cac9dae" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_409bd91b-a532-4f26-981b-0776c29ac848" xlink:to="loc_us-gaap_NetIncomeLoss_6bb1f5e1-7142-4006-b4d4-fcbc5cac9dae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_3bcb39a0-5875-46fd-b141-5472f6f0d23f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_409bd91b-a532-4f26-981b-0776c29ac848" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_3bcb39a0-5875-46fd-b141-5472f6f0d23f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_39218335-a3a2-4cfe-b346-c297fa856049" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_3bcb39a0-5875-46fd-b141-5472f6f0d23f" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_39218335-a3a2-4cfe-b346-c297fa856049" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_f90d5264-b65b-44a6-9fce-a012329ebded" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_3bcb39a0-5875-46fd-b141-5472f6f0d23f" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_f90d5264-b65b-44a6-9fce-a012329ebded" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_08237d2b-03b3-4cfc-b9c7-c7b7db6fb385" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_3bcb39a0-5875-46fd-b141-5472f6f0d23f" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_08237d2b-03b3-4cfc-b9c7-c7b7db6fb385" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_55077976-5076-48cf-bc20-3085fec9fc0a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_409bd91b-a532-4f26-981b-0776c29ac848" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTax_55077976-5076-48cf-bc20-3085fec9fc0a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ConsolidatedBalanceSheets" xlink:type="simple" xlink:href="rock-20231231.xsd#ConsolidatedBalanceSheets"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/ConsolidatedBalanceSheets" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_fd07f050-c15b-4ce4-a154-bd2f759af212" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract_3b18cd84-101f-4611-bde8-7f0e62d15b14" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_fd07f050-c15b-4ce4-a154-bd2f759af212" xlink:to="loc_us-gaap_AssetsAbstract_3b18cd84-101f-4611-bde8-7f0e62d15b14" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract_cd897b4a-1981-4315-9a99-1d88ab49bbf6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_3b18cd84-101f-4611-bde8-7f0e62d15b14" xlink:to="loc_us-gaap_AssetsCurrentAbstract_cd897b4a-1981-4315-9a99-1d88ab49bbf6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_3882c274-98d0-49eb-9c3e-5ef36f55d937" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_cd897b4a-1981-4315-9a99-1d88ab49bbf6" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_3882c274-98d0-49eb-9c3e-5ef36f55d937" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_aa49b3b8-f509-4f98-bef6-06ea118a3319" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_cd897b4a-1981-4315-9a99-1d88ab49bbf6" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_aa49b3b8-f509-4f98-bef6-06ea118a3319" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_3e1bc8a7-27da-4f8a-a7e8-b3af4c03a6fe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_cd897b4a-1981-4315-9a99-1d88ab49bbf6" xlink:to="loc_us-gaap_InventoryNet_3e1bc8a7-27da-4f8a-a7e8-b3af4c03a6fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsCurrent_24083c5f-7971-4a42-81cc-317b5bdecb01" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_cd897b4a-1981-4315-9a99-1d88ab49bbf6" xlink:to="loc_us-gaap_OtherAssetsCurrent_24083c5f-7971-4a42-81cc-317b5bdecb01" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_e6284343-88bc-4cf8-9d7f-cee7a8732b60" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_cd897b4a-1981-4315-9a99-1d88ab49bbf6" xlink:to="loc_us-gaap_AssetsCurrent_e6284343-88bc-4cf8-9d7f-cee7a8732b60" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_c7a2db43-81d9-4c0e-930f-134a89453fbc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_3b18cd84-101f-4611-bde8-7f0e62d15b14" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_c7a2db43-81d9-4c0e-930f-134a89453fbc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_9060b3ca-f4f3-4ae0-8d54-fece6922b347" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_3b18cd84-101f-4611-bde8-7f0e62d15b14" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_9060b3ca-f4f3-4ae0-8d54-fece6922b347" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_d983d2df-02d5-4772-aaa2-7dacc475948e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_3b18cd84-101f-4611-bde8-7f0e62d15b14" xlink:to="loc_us-gaap_Goodwill_d983d2df-02d5-4772-aaa2-7dacc475948e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_ebe81cb2-d6a6-4a2f-b4a5-c24682964f75" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_3b18cd84-101f-4611-bde8-7f0e62d15b14" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_ebe81cb2-d6a6-4a2f-b4a5-c24682964f75" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_cf4d7ee1-2f6d-456b-9dfd-8312c6b9427b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_3b18cd84-101f-4611-bde8-7f0e62d15b14" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_cf4d7ee1-2f6d-456b-9dfd-8312c6b9427b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_c1a2ff0e-5998-4d24-9646-c40d9b91598d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_3b18cd84-101f-4611-bde8-7f0e62d15b14" xlink:to="loc_us-gaap_Assets_c1a2ff0e-5998-4d24-9646-c40d9b91598d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_f0718b9c-4c91-486a-ab02-40f6de636d1e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_fd07f050-c15b-4ce4-a154-bd2f759af212" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_f0718b9c-4c91-486a-ab02-40f6de636d1e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_d69070be-550b-438c-9b84-eea925aa1575" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_f0718b9c-4c91-486a-ab02-40f6de636d1e" xlink:to="loc_us-gaap_LiabilitiesCurrentAbstract_d69070be-550b-438c-9b84-eea925aa1575" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_5892111d-2408-4388-9118-ba47458f159b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_d69070be-550b-438c-9b84-eea925aa1575" xlink:to="loc_us-gaap_AccountsPayableCurrent_5892111d-2408-4388-9118-ba47458f159b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_8cf85030-55c8-4602-8611-4d7ad0d89951" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_d69070be-550b-438c-9b84-eea925aa1575" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_8cf85030-55c8-4602-8611-4d7ad0d89951" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_4aa7d8e9-e4d1-4813-9880-5cd0d6b62714" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_d69070be-550b-438c-9b84-eea925aa1575" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_4aa7d8e9-e4d1-4813-9880-5cd0d6b62714" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_3aee0269-c72d-49a6-98e4-9e08b6832895" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_d69070be-550b-438c-9b84-eea925aa1575" xlink:to="loc_us-gaap_LiabilitiesCurrent_3aee0269-c72d-49a6-98e4-9e08b6832895" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtNoncurrent_fb62582e-e095-4259-87e3-8c2696f79f5a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtNoncurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_f0718b9c-4c91-486a-ab02-40f6de636d1e" xlink:to="loc_us-gaap_LongTermDebtNoncurrent_fb62582e-e095-4259-87e3-8c2696f79f5a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_3112128e-0f4a-4fe6-a97e-6c28170073b7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_f0718b9c-4c91-486a-ab02-40f6de636d1e" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_3112128e-0f4a-4fe6-a97e-6c28170073b7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_faa7424f-19a6-4fb3-9b36-45f4c5d8ce40" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_f0718b9c-4c91-486a-ab02-40f6de636d1e" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_faa7424f-19a6-4fb3-9b36-45f4c5d8ce40" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_30ec19e5-3a97-4883-9fa6-70e4157d337a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_f0718b9c-4c91-486a-ab02-40f6de636d1e" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_30ec19e5-3a97-4883-9fa6-70e4157d337a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract_dcf39d03-b63d-438d-b7a4-aef22c02e0b7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_f0718b9c-4c91-486a-ab02-40f6de636d1e" xlink:to="loc_us-gaap_StockholdersEquityAbstract_dcf39d03-b63d-438d-b7a4-aef22c02e0b7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue_da415a3d-8528-402d-9c39-77b52357bb15" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_dcf39d03-b63d-438d-b7a4-aef22c02e0b7" xlink:to="loc_us-gaap_PreferredStockValue_da415a3d-8528-402d-9c39-77b52357bb15" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_7c2993a1-3f5f-47f9-b86a-010865084e98" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_dcf39d03-b63d-438d-b7a4-aef22c02e0b7" xlink:to="loc_us-gaap_CommonStockValue_7c2993a1-3f5f-47f9-b86a-010865084e98" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapital_53ff9cff-3ed1-4041-a2d5-43f2450b9df9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_dcf39d03-b63d-438d-b7a4-aef22c02e0b7" xlink:to="loc_us-gaap_AdditionalPaidInCapital_53ff9cff-3ed1-4041-a2d5-43f2450b9df9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_de84c9b6-a12e-4393-8585-3d24a4c294d1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_dcf39d03-b63d-438d-b7a4-aef22c02e0b7" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_de84c9b6-a12e-4393-8585-3d24a4c294d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_67f1b3f8-650d-47c0-b143-16fe28bb8746" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_dcf39d03-b63d-438d-b7a4-aef22c02e0b7" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_67f1b3f8-650d-47c0-b143-16fe28bb8746" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValue_a66d982d-4ea4-4c33-ad60-05f4da08f13a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValue"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_dcf39d03-b63d-438d-b7a4-aef22c02e0b7" xlink:to="loc_us-gaap_TreasuryStockValue_a66d982d-4ea4-4c33-ad60-05f4da08f13a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_a3216d40-21eb-4d03-9057-1507080da176" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_dcf39d03-b63d-438d-b7a4-aef22c02e0b7" xlink:to="loc_us-gaap_StockholdersEquity_a3216d40-21eb-4d03-9057-1507080da176" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_4ca95cc2-3d6f-43ee-bc55-18c6c8202419" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_f0718b9c-4c91-486a-ab02-40f6de636d1e" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquity_4ca95cc2-3d6f-43ee-bc55-18c6c8202419" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="rock-20231231.xsd#ConsolidatedBalanceSheetsParenthetical"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_e8a7b12b-d49b-43c8-9d4c-63fbb929e2d3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_2673c7ce-6650-4f80-a44d-bf025f8dda07" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e8a7b12b-d49b-43c8-9d4c-63fbb929e2d3" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_2673c7ce-6650-4f80-a44d-bf025f8dda07" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare_574b2f7c-c198-437c-9313-13f0883e6e72" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e8a7b12b-d49b-43c8-9d4c-63fbb929e2d3" xlink:to="loc_us-gaap_PreferredStockParOrStatedValuePerShare_574b2f7c-c198-437c-9313-13f0883e6e72" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_171d3797-daa6-4e87-856e-022b12b57d7e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e8a7b12b-d49b-43c8-9d4c-63fbb929e2d3" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_171d3797-daa6-4e87-856e-022b12b57d7e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesOutstanding_4250fb35-e4aa-4554-86e6-ca439d54b8fa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e8a7b12b-d49b-43c8-9d4c-63fbb929e2d3" xlink:to="loc_us-gaap_PreferredStockSharesOutstanding_4250fb35-e4aa-4554-86e6-ca439d54b8fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_e90ccb44-1329-4d03-bc1a-f70c65de73ba" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e8a7b12b-d49b-43c8-9d4c-63fbb929e2d3" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_e90ccb44-1329-4d03-bc1a-f70c65de73ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_d041828d-0aeb-42e3-a27b-d5f64aa0e8e8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e8a7b12b-d49b-43c8-9d4c-63fbb929e2d3" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_d041828d-0aeb-42e3-a27b-d5f64aa0e8e8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_778e28e7-d878-4e66-a311-86b9c17c98d0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e8a7b12b-d49b-43c8-9d4c-63fbb929e2d3" xlink:to="loc_us-gaap_CommonStockSharesIssued_778e28e7-d878-4e66-a311-86b9c17c98d0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_1a60ebbe-d9e9-4a9a-838c-5c76e8200745" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e8a7b12b-d49b-43c8-9d4c-63fbb929e2d3" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_1a60ebbe-d9e9-4a9a-838c-5c76e8200745" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonShares_3ce304b9-291d-4d87-b86b-fb3ae230f43c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e8a7b12b-d49b-43c8-9d4c-63fbb929e2d3" xlink:to="loc_us-gaap_TreasuryStockCommonShares_3ce304b9-291d-4d87-b86b-fb3ae230f43c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows" xlink:type="simple" xlink:href="rock-20231231.xsd#ConsolidatedStatementsofCashFlows"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_b32a3d88-0038-4060-b749-51c87ec0d756" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_d320718f-247a-440f-bd5f-23e74ac5c84b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_b32a3d88-0038-4060-b749-51c87ec0d756" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_d320718f-247a-440f-bd5f-23e74ac5c84b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_25cd7723-9594-4402-a296-767000f7a001" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_d320718f-247a-440f-bd5f-23e74ac5c84b" xlink:to="loc_us-gaap_NetIncomeLoss_25cd7723-9594-4402-a296-767000f7a001" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_5b0fa890-1efa-4063-b7f3-ee0de2d036d0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_d320718f-247a-440f-bd5f-23e74ac5c84b" xlink:to="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_5b0fa890-1efa-4063-b7f3-ee0de2d036d0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperations_0fdd7fda-bf13-4e21-8a5c-f05b2463be00" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperations"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_d320718f-247a-440f-bd5f-23e74ac5c84b" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperations_0fdd7fda-bf13-4e21-8a5c-f05b2463be00" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_a9f33078-9c95-4eb6-ad80-89498d8b0ad5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_d320718f-247a-440f-bd5f-23e74ac5c84b" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_a9f33078-9c95-4eb6-ad80-89498d8b0ad5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization_04400f54-119a-4fb9-a011-9865a2677723" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_a9f33078-9c95-4eb6-ad80-89498d8b0ad5" xlink:to="loc_us-gaap_DepreciationDepletionAndAmortization_04400f54-119a-4fb9-a011-9865a2677723" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetImpairment_f724652d-256b-428c-9fcd-8ba88408697e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetImpairment"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_a9f33078-9c95-4eb6-ad80-89498d8b0ad5" xlink:to="loc_us-gaap_GoodwillAndIntangibleAssetImpairment_f724652d-256b-428c-9fcd-8ba88408697e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_2fec035e-d0e4-43b2-ad28-d4b4072735d8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_a9f33078-9c95-4eb6-ad80-89498d8b0ad5" xlink:to="loc_us-gaap_ShareBasedCompensation_2fec035e-d0e4-43b2-ad28-d4b4072735d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfFinancingCostsAndDiscounts_05d69615-a8d0-476e-9fd5-3fb4a4e55b91" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfFinancingCostsAndDiscounts"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_a9f33078-9c95-4eb6-ad80-89498d8b0ad5" xlink:to="loc_us-gaap_AmortizationOfFinancingCostsAndDiscounts_05d69615-a8d0-476e-9fd5-3fb4a4e55b91" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_646c994c-a9f1-4e47-9165-aa45a56b57bf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_a9f33078-9c95-4eb6-ad80-89498d8b0ad5" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_646c994c-a9f1-4e47-9165-aa45a56b57bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNoncashIncomeExpense_861df558-531b-408a-9319-35427ef07898" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNoncashIncomeExpense"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_a9f33078-9c95-4eb6-ad80-89498d8b0ad5" xlink:to="loc_us-gaap_OtherNoncashIncomeExpense_861df558-531b-408a-9319-35427ef07898" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_ca0ee061-ca4c-4a93-86bb-08f68e444986" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_d320718f-247a-440f-bd5f-23e74ac5c84b" xlink:to="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_ca0ee061-ca4c-4a93-86bb-08f68e444986" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_2fbe2de0-ba92-46c4-8932-af9d350357ff" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_ca0ee061-ca4c-4a93-86bb-08f68e444986" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_2fbe2de0-ba92-46c4-8932-af9d350357ff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_c86edd27-3efe-4170-a3ff-3fbdd3094678" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_ca0ee061-ca4c-4a93-86bb-08f68e444986" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_c86edd27-3efe-4170-a3ff-3fbdd3094678" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_98043788-743d-434a-a9d7-c7c43a081eda" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_ca0ee061-ca4c-4a93-86bb-08f68e444986" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingAssets_98043788-743d-434a-a9d7-c7c43a081eda" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_f6bcfd78-9d90-42dc-97e1-5ffffb55eeea" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_ca0ee061-ca4c-4a93-86bb-08f68e444986" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_f6bcfd78-9d90-42dc-97e1-5ffffb55eeea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_38680e45-cdc8-41fe-8704-459c2ee4a902" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherAccruedLiabilities"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_ca0ee061-ca4c-4a93-86bb-08f68e444986" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherAccruedLiabilities_38680e45-cdc8-41fe-8704-459c2ee4a902" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_3783269e-5110-4a50-a48f-13e6ce3c4d78" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_ca0ee061-ca4c-4a93-86bb-08f68e444986" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations_3783269e-5110-4a50-a48f-13e6ce3c4d78" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations_a7c7a022-2e1b-49e9-80b7-804439a8efe4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_ca0ee061-ca4c-4a93-86bb-08f68e444986" xlink:to="loc_us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations_a7c7a022-2e1b-49e9-80b7-804439a8efe4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_fddee272-8e2d-4d1d-bcc6-6bca4fea3a9a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_ca0ee061-ca4c-4a93-86bb-08f68e444986" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_fddee272-8e2d-4d1d-bcc6-6bca4fea3a9a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_872a90c9-2060-4940-bf4d-fa42bc5cd9c3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_b32a3d88-0038-4060-b749-51c87ec0d756" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_872a90c9-2060-4940-bf4d-fa42bc5cd9c3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_PaymentsToAcquirePropertyPlantAndEquipmentNet_9b2cc842-74a0-456c-8c08-f5fdcdd06d16" xlink:href="rock-20231231.xsd#rock_PaymentsToAcquirePropertyPlantAndEquipmentNet"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_872a90c9-2060-4940-bf4d-fa42bc5cd9c3" xlink:to="loc_rock_PaymentsToAcquirePropertyPlantAndEquipmentNet_9b2cc842-74a0-456c-8c08-f5fdcdd06d16" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_bc04c8d3-44ec-40fd-81e1-68b29bdec9ce" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_872a90c9-2060-4940-bf4d-fa42bc5cd9c3" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_bc04c8d3-44ec-40fd-81e1-68b29bdec9ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested_65f57c0a-276f-4898-a59b-07082a500fbc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_872a90c9-2060-4940-bf4d-fa42bc5cd9c3" xlink:to="loc_us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested_65f57c0a-276f-4898-a59b-07082a500fbc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperations_9bd6cae2-b8f8-40bc-b15f-2e46ebfd41ca" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperations"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_872a90c9-2060-4940-bf4d-fa42bc5cd9c3" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperations_9bd6cae2-b8f8-40bc-b15f-2e46ebfd41ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations_f07b4e81-55ac-4af1-a268-489feda1a37e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_872a90c9-2060-4940-bf4d-fa42bc5cd9c3" xlink:to="loc_us-gaap_CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations_f07b4e81-55ac-4af1-a268-489feda1a37e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_12eef335-69db-423b-baba-4953326cd19a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_872a90c9-2060-4940-bf4d-fa42bc5cd9c3" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_12eef335-69db-423b-baba-4953326cd19a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_f0d3ec43-98e6-46ba-a297-127155b49e05" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_b32a3d88-0038-4060-b749-51c87ec0d756" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_f0d3ec43-98e6-46ba-a297-127155b49e05" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RepaymentsOfLongTermDebt_06a1eba9-7ba5-4035-8a87-20cbc0f1daf7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLongTermDebt"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_f0d3ec43-98e6-46ba-a297-127155b49e05" xlink:to="loc_us-gaap_RepaymentsOfLongTermDebt_06a1eba9-7ba5-4035-8a87-20cbc0f1daf7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfLongTermDebt_25aecaa2-4e81-4a92-8fad-84cb5df1f611" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfLongTermDebt"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_f0d3ec43-98e6-46ba-a297-127155b49e05" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfLongTermDebt_25aecaa2-4e81-4a92-8fad-84cb5df1f611" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsOfFinancingCosts_99317499-191e-4d86-b921-1f28d6db513b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfFinancingCosts"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_f0d3ec43-98e6-46ba-a297-127155b49e05" xlink:to="loc_us-gaap_PaymentsOfFinancingCosts_99317499-191e-4d86-b921-1f28d6db513b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_8d0ec46d-9466-4ce1-9689-6fa508a3b18b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_f0d3ec43-98e6-46ba-a297-127155b49e05" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_8d0ec46d-9466-4ce1-9689-6fa508a3b18b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfCommonStock_16b35cfa-2ebe-4231-a454-06e3dfa95d18" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_f0d3ec43-98e6-46ba-a297-127155b49e05" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfCommonStock_16b35cfa-2ebe-4231-a454-06e3dfa95d18" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_2686a2d6-3647-4da4-8923-70e33280ff51" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_f0d3ec43-98e6-46ba-a297-127155b49e05" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_2686a2d6-3647-4da4-8923-70e33280ff51" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_5c07f363-726b-4273-bce3-57143a416b95" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_b32a3d88-0038-4060-b749-51c87ec0d756" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_5c07f363-726b-4273-bce3-57143a416b95" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_d7464e9c-fbf4-4842-95c1-273f657b22ff" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_b32a3d88-0038-4060-b749-51c87ec0d756" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_d7464e9c-fbf4-4842-95c1-273f657b22ff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_590d823b-d57f-49d7-9554-3c8806af0dde" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_b32a3d88-0038-4060-b749-51c87ec0d756" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_590d823b-d57f-49d7-9554-3c8806af0dde" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_56699bee-701f-4532-a274-ea44036043e8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_b32a3d88-0038-4060-b749-51c87ec0d756" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_56699bee-701f-4532-a274-ea44036043e8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity" xlink:type="simple" xlink:href="rock-20231231.xsd#ConsolidatedStatementsofStockholdersEquity"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_15aff0d6-e7ff-45e0-b5da-8327fa516330" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_718df76e-34af-4c7e-b60a-fc6680fc93c4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_15aff0d6-e7ff-45e0-b5da-8327fa516330" xlink:to="loc_us-gaap_StatementTable_718df76e-34af-4c7e-b60a-fc6680fc93c4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_2ce124c2-03ef-4d27-998c-226e4dfb2edc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_718df76e-34af-4c7e-b60a-fc6680fc93c4" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_2ce124c2-03ef-4d27-998c-226e4dfb2edc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_709c2493-2d11-49dc-a763-5e091e853d4a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_2ce124c2-03ef-4d27-998c-226e4dfb2edc" xlink:to="loc_us-gaap_EquityComponentDomain_709c2493-2d11-49dc-a763-5e091e853d4a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_89d8da83-6d9b-4ad6-baa8-876dac74d6f5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_709c2493-2d11-49dc-a763-5e091e853d4a" xlink:to="loc_us-gaap_CommonStockMember_89d8da83-6d9b-4ad6-baa8-876dac74d6f5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_e0ea28e5-8e94-4f09-833b-8d8c432704be" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_709c2493-2d11-49dc-a763-5e091e853d4a" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_e0ea28e5-8e94-4f09-833b-8d8c432704be" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_95544ebd-99af-44a1-aac4-66548b0f3e1f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_709c2493-2d11-49dc-a763-5e091e853d4a" xlink:to="loc_us-gaap_RetainedEarningsMember_95544ebd-99af-44a1-aac4-66548b0f3e1f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_897d5172-fe25-4b70-b3cd-7a62df69b5bf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_709c2493-2d11-49dc-a763-5e091e853d4a" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_897d5172-fe25-4b70-b3cd-7a62df69b5bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockCommonMember_6443e18c-15de-46dc-9449-e8745f291732" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_709c2493-2d11-49dc-a763-5e091e853d4a" xlink:to="loc_us-gaap_TreasuryStockCommonMember_6443e18c-15de-46dc-9449-e8745f291732" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_b473df22-1795-4c94-931f-2afd43969067" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_718df76e-34af-4c7e-b60a-fc6680fc93c4" xlink:to="loc_us-gaap_StatementLineItems_b473df22-1795-4c94-931f-2afd43969067" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_b473df22-1795-4c94-931f-2afd43969067" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesIssued_a582abd5-510f-4224-8f3c-7f0c134ddc6c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesIssued"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_us-gaap_SharesIssued_a582abd5-510f-4224-8f3c-7f0c134ddc6c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_2e65ce50-9400-4f78-8463-5740c1e0a8d7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_us-gaap_StockholdersEquity_2e65ce50-9400-4f78-8463-5740c1e0a8d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_113359e2-bb5d-479f-852a-7bbdebfcff1c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_us-gaap_NetIncomeLoss_113359e2-bb5d-479f-852a-7bbdebfcff1c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_4d243beb-5f2f-4b4c-93d3-60721f5b202a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_4d243beb-5f2f-4b4c-93d3-60721f5b202a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_16282866-e7af-4f81-8363-dabd88de7602" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_16282866-e7af-4f81-8363-dabd88de7602" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_5ca1180c-b218-4f11-bef7-95f70557e0e9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_5ca1180c-b218-4f11-bef7-95f70557e0e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement_4d0b67e8-efc0-4bd5-83b6-0799f1a9f36f" xlink:href="rock-20231231.xsd#rock_StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_rock_StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement_4d0b67e8-efc0-4bd5-83b6-0799f1a9f36f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_StockIssuedDuringPeriodValueRestrictedStockAwardSettlement_09275cd3-237f-4664-85a3-cd6b72bc99e9" xlink:href="rock-20231231.xsd#rock_StockIssuedDuringPeriodValueRestrictedStockAwardSettlement"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_rock_StockIssuedDuringPeriodValueRestrictedStockAwardSettlement_09275cd3-237f-4664-85a3-cd6b72bc99e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesOther_076950aa-2c75-4682-99d1-8a7452ca1124" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesOther"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesOther_076950aa-2c75-4682-99d1-8a7452ca1124" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_a04c9ec1-3e5a-4467-8a85-8abfd9126221" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_a04c9ec1-3e5a-4467-8a85-8abfd9126221" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_188e85df-a5d7-4e0e-a616-33721026a910" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodValue"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_188e85df-a5d7-4e0e-a616-33721026a910" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_a8ceff41-b424-4af0-b40d-35614f8655a9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_a8ceff41-b424-4af0-b40d-35614f8655a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_b6a457d0-9dd5-4256-82bf-38249cf9d475" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_b6a457d0-9dd5-4256-82bf-38249cf9d475" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod_7c8beb27-d2e5-448d-9655-6c3ee1302e93" xlink:href="rock-20231231.xsd#rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod_7c8beb27-d2e5-448d-9655-6c3ee1302e93" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesIssued_703ea2e0-ea0e-4df0-8c1f-29ca6ab9cbc6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesIssued"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_us-gaap_SharesIssued_703ea2e0-ea0e-4df0-8c1f-29ca6ab9cbc6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_4066d018-66ba-4f9f-a3af-300b784d09c6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_998dee0f-522b-4d35-9e35-2724e8a5f018" xlink:to="loc_us-gaap_StockholdersEquity_4066d018-66ba-4f9f-a3af-300b784d09c6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1_400fec63-8e76-4f6b-8e8c-3cee27b9c423" xlink:href="rock-20231231.xsd#rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_b473df22-1795-4c94-931f-2afd43969067" xlink:to="loc_rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1_400fec63-8e76-4f6b-8e8c-3cee27b9c423" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquityParenthetical" xlink:type="simple" xlink:href="rock-20231231.xsd#ConsolidatedStatementsofStockholdersEquityParenthetical"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquityParenthetical" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_8e8f1049-a934-4c62-a779-924805b34beb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1_a30b1189-4768-4744-853f-8d63ecf4bb45" xlink:href="rock-20231231.xsd#rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_8e8f1049-a934-4c62-a779-924805b34beb" xlink:to="loc_rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1_a30b1189-4768-4744-853f-8d63ecf4bb45" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/SummaryofSignificantAccountingPolicies" xlink:type="simple" xlink:href="rock-20231231.xsd#SummaryofSignificantAccountingPolicies"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/SummaryofSignificantAccountingPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_35993327-7aab-44d4-a328-1cd33c6c4a48" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock_f8ee7e44-f1fc-4a67-b6cc-4ac52018c2ec" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_35993327-7aab-44d4-a328-1cd33c6c4a48" xlink:to="loc_us-gaap_SignificantAccountingPoliciesTextBlock_f8ee7e44-f1fc-4a67-b6cc-4ac52018c2ec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/RevenueNotes" xlink:type="simple" xlink:href="rock-20231231.xsd#RevenueNotes"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/RevenueNotes" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_d9d0ddd7-d0ff-4ea5-ae91-9a010a91d4b1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_627cc52d-4c4d-4b83-a44f-6598d6b3b8ab" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_d9d0ddd7-d0ff-4ea5-ae91-9a010a91d4b1" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_627cc52d-4c4d-4b83-a44f-6598d6b3b8ab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AccountsReceivable" xlink:type="simple" xlink:href="rock-20231231.xsd#AccountsReceivable"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AccountsReceivable" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivablesAbstract_52e7bec2-e062-4100-9254-1dc9f6ac258f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_7bbb3416-a727-4ebf-a40d-b716c3870f51" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesAbstract_52e7bec2-e062-4100-9254-1dc9f6ac258f" xlink:to="loc_us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_7bbb3416-a727-4ebf-a40d-b716c3870f51" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/InventoriesNet" xlink:type="simple" xlink:href="rock-20231231.xsd#InventoriesNet"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/InventoriesNet" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_9fff110f-9d8d-4dc6-adc1-30d7018db547" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock_26140f8e-b6cc-4fba-8200-4f4a54c3a69a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_9fff110f-9d8d-4dc6-adc1-30d7018db547" xlink:to="loc_us-gaap_InventoryDisclosureTextBlock_26140f8e-b6cc-4fba-8200-4f4a54c3a69a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/PropertyPlantandEquipmentNet" xlink:type="simple" xlink:href="rock-20231231.xsd#PropertyPlantandEquipmentNet"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/PropertyPlantandEquipmentNet" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_251d8869-e2d0-489c-89bc-f9bce2898acc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_465a4ebe-d3dd-4894-9b6a-da18553e9bc0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_251d8869-e2d0-489c-89bc-f9bce2898acc" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_465a4ebe-d3dd-4894-9b6a-da18553e9bc0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/Acquisitions" xlink:type="simple" xlink:href="rock-20231231.xsd#Acquisitions"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/Acquisitions" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_998b2f05-a1b8-4098-b38e-7547df1b35f4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationDisclosureTextBlock_776dd266-c3ec-4924-93d3-ea1be54b0737" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_998b2f05-a1b8-4098-b38e-7547df1b35f4" xlink:to="loc_us-gaap_BusinessCombinationDisclosureTextBlock_776dd266-c3ec-4924-93d3-ea1be54b0737" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssets" xlink:type="simple" xlink:href="rock-20231231.xsd#GoodwillandRelatedIntangibleAssets"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssets" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_dac564ed-4bc2-4c23-b9b3-4683194fba70" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_fd0a4676-dabd-4f08-af0d-69d594530a69" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_dac564ed-4bc2-4c23-b9b3-4683194fba70" xlink:to="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_fd0a4676-dabd-4f08-af0d-69d594530a69" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AccruedExpenses" xlink:type="simple" xlink:href="rock-20231231.xsd#AccruedExpenses"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AccruedExpenses" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_62076843-d15d-418f-a69a-8fb4a092555c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_1b9bab55-49fe-41b6-ae75-425954b8a372" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_62076843-d15d-418f-a69a-8fb4a092555c" xlink:to="loc_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_1b9bab55-49fe-41b6-ae75-425954b8a372" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/Debt" xlink:type="simple" xlink:href="rock-20231231.xsd#Debt"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/Debt" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtAbstract_1890e391-4f7c-401b-8373-0597cd86db07" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtTextBlock_7ed6bee2-c4e4-412e-a6e8-827f7894d3de" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongTermDebtAbstract_1890e391-4f7c-401b-8373-0597cd86db07" xlink:to="loc_us-gaap_LongTermDebtTextBlock_7ed6bee2-c4e4-412e-a6e8-827f7894d3de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefits" xlink:type="simple" xlink:href="rock-20231231.xsd#PensionandOtherPostretirementBenefits"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefits" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_rock_OtherPostretirementBenefitsAbstract_efd2f267-e505-4c53-93d3-4e8afaa0c201" xlink:href="rock-20231231.xsd#rock_OtherPostretirementBenefitsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PostemploymentBenefitsDisclosureTextBlock_2b6b0985-d55b-4fef-a924-bce3067fd7a9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PostemploymentBenefitsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rock_OtherPostretirementBenefitsAbstract_efd2f267-e505-4c53-93d3-4e8afaa0c201" xlink:to="loc_us-gaap_PostemploymentBenefitsDisclosureTextBlock_2b6b0985-d55b-4fef-a924-bce3067fd7a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncome" xlink:type="simple" xlink:href="rock-20231231.xsd#AccumulatedOtherComprehensiveLossIncome"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncome" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract_9e9813ab-e547-40bf-9b7b-b8247cfefd25" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ComprehensiveIncomeNoteTextBlock_a3a98ca7-d65a-48f0-8bbb-e624fb713b11" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNoteTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract_9e9813ab-e547-40bf-9b7b-b8247cfefd25" xlink:to="loc_us-gaap_ComprehensiveIncomeNoteTextBlock_a3a98ca7-d65a-48f0-8bbb-e624fb713b11" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EquityBasedCompensation" xlink:type="simple" xlink:href="rock-20231231.xsd#EquityBasedCompensation"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/EquityBasedCompensation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAbstract_4f2b1b1d-4bbc-4fcb-9a56-cae1530062e9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_f3d258be-cadf-4c78-85c8-b540ef594594" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_4f2b1b1d-4bbc-4fcb-9a56-cae1530062e9" xlink:to="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_f3d258be-cadf-4c78-85c8-b540ef594594" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/FairValueMeasurements" xlink:type="simple" xlink:href="rock-20231231.xsd#FairValueMeasurements"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/FairValueMeasurements" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_dd2b6081-cfb5-4c14-a187-094a05eae6a8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresTextBlock_e4a953e6-9fc5-4600-a16e-1a119186acb2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_dd2b6081-cfb5-4c14-a187-094a05eae6a8" xlink:to="loc_us-gaap_FairValueDisclosuresTextBlock_e4a953e6-9fc5-4600-a16e-1a119186acb2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/DiscontinuedOperations" xlink:type="simple" xlink:href="rock-20231231.xsd#DiscontinuedOperations"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/DiscontinuedOperations" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_04c2d0f4-03cc-427e-85ef-12d719308521" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock_eb1dbdc1-b65a-49c2-9e8e-cfd518a82738" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_04c2d0f4-03cc-427e-85ef-12d719308521" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock_eb1dbdc1-b65a-49c2-9e8e-cfd518a82738" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairments" xlink:type="simple" xlink:href="rock-20231231.xsd#ExitActivityCostsandAssetImpairments"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairments" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_59e0eaca-866b-45c6-a702-06ef0ec4dd72" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock_374e488b-3d5f-4980-9bb8-055d0a194214" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_59e0eaca-866b-45c6-a702-06ef0ec4dd72" xlink:to="loc_us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock_374e488b-3d5f-4980-9bb8-055d0a194214" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/IncomeTaxes" xlink:type="simple" xlink:href="rock-20231231.xsd#IncomeTaxes"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/IncomeTaxes" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_51092338-993c-4e75-b8f4-6a3033d6fec6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock_940b9169-682c-4732-bef5-a2b6ac6803eb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_51092338-993c-4e75-b8f4-6a3033d6fec6" xlink:to="loc_us-gaap_IncomeTaxDisclosureTextBlock_940b9169-682c-4732-bef5-a2b6ac6803eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EarningsperShare" xlink:type="simple" xlink:href="rock-20231231.xsd#EarningsperShare"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/EarningsperShare" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_d15b3516-2269-4835-86a6-1501c82c20e4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareTextBlock_8d725c85-f002-4e54-a6c4-13862f4d1f56" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_d15b3516-2269-4835-86a6-1501c82c20e4" xlink:to="loc_us-gaap_EarningsPerShareTextBlock_8d725c85-f002-4e54-a6c4-13862f4d1f56" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/Leases" xlink:type="simple" xlink:href="rock-20231231.xsd#Leases"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/Leases" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_5eede534-4366-4088-985b-71b8023d983f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock_57fd66e6-9305-470d-9ee2-5109670d0a8f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_5eede534-4366-4088-985b-71b8023d983f" xlink:to="loc_us-gaap_LesseeOperatingLeasesTextBlock_57fd66e6-9305-470d-9ee2-5109670d0a8f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/CommitmentsandContingencies" xlink:type="simple" xlink:href="rock-20231231.xsd#CommitmentsandContingencies"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/CommitmentsandContingencies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_6939641b-5898-4fc0-9c62-2643411af825" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_db558980-7835-4fe0-a58c-367f2dc080b6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_6939641b-5898-4fc0-9c62-2643411af825" xlink:to="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_db558980-7835-4fe0-a58c-367f2dc080b6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/SegmentInformation" xlink:type="simple" xlink:href="rock-20231231.xsd#SegmentInformation"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/SegmentInformation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationRevenueAbstract_b300b59c-f95c-47fa-8fd7-01b08cf70982" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationRevenueAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingDisclosureTextBlock_c7b2aa55-c45e-4461-8ee5-d21a48b6ec1c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationRevenueAbstract_b300b59c-f95c-47fa-8fd7-01b08cf70982" xlink:to="loc_us-gaap_SegmentReportingDisclosureTextBlock_c7b2aa55-c45e-4461-8ee5-d21a48b6ec1c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="rock-20231231.xsd#SummaryofSignificantAccountingPoliciesPolicies"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_15ba54b6-b10a-4411-928d-8c13cccec2bd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConsolidationPolicyTextBlock_492bd0ec-89c6-474a-a67c-2c945b60bb0b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationPolicyTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_15ba54b6-b10a-4411-928d-8c13cccec2bd" xlink:to="loc_us-gaap_ConsolidationPolicyTextBlock_492bd0ec-89c6-474a-a67c-2c945b60bb0b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UseOfEstimates_6505f611-a1cd-4671-b992-d216785f33e9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_15ba54b6-b10a-4411-928d-8c13cccec2bd" xlink:to="loc_us-gaap_UseOfEstimates_6505f611-a1cd-4671-b992-d216785f33e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingPolicyPolicyTextBlock_269bf06e-0dfb-421d-be4b-83bba2f892a9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_15ba54b6-b10a-4411-928d-8c13cccec2bd" xlink:to="loc_us-gaap_SegmentReportingPolicyPolicyTextBlock_269bf06e-0dfb-421d-be4b-83bba2f892a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_34cd8fd2-a662-4901-b6fb-9a37993d41ff" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_15ba54b6-b10a-4411-928d-8c13cccec2bd" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_34cd8fd2-a662-4901-b6fb-9a37993d41ff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsPolicyTextBlock_d0df2040-d806-44fc-9989-238555e08bd9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_15ba54b6-b10a-4411-928d-8c13cccec2bd" xlink:to="loc_us-gaap_CashAndCashEquivalentsPolicyTextBlock_d0df2040-d806-44fc-9989-238555e08bd9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TradeAndOtherAccountsReceivablePolicy_14a028d2-552e-4555-ae97-4e62c6239e65" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_15ba54b6-b10a-4411-928d-8c13cccec2bd" xlink:to="loc_us-gaap_TradeAndOtherAccountsReceivablePolicy_14a028d2-552e-4555-ae97-4e62c6239e65" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryPolicyTextBlock_32f5fa17-13c7-46fe-87fd-39fe929b80e2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryPolicyTextBlock"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_15ba54b6-b10a-4411-928d-8c13cccec2bd" xlink:to="loc_us-gaap_InventoryPolicyTextBlock_32f5fa17-13c7-46fe-87fd-39fe929b80e2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_c59baa0c-39a0-4e1c-9eba-bfba4eccbc0a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_15ba54b6-b10a-4411-928d-8c13cccec2bd" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_c59baa0c-39a0-4e1c-9eba-bfba4eccbc0a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationsPolicy_bad4ffca-cd94-4c98-ad6c-323338719e3b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationsPolicy"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_15ba54b6-b10a-4411-928d-8c13cccec2bd" xlink:to="loc_us-gaap_BusinessCombinationsPolicy_bad4ffca-cd94-4c98-ad6c-323338719e3b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_d176f9bc-95a3-4714-8bc3-6c46dd3f7320" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_15ba54b6-b10a-4411-928d-8c13cccec2bd" xlink:to="loc_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_d176f9bc-95a3-4714-8bc3-6c46dd3f7320" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_afe62545-b3f3-4cd8-9bed-133d3dd1d4dd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_15ba54b6-b10a-4411-928d-8c13cccec2bd" xlink:to="loc_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_afe62545-b3f3-4cd8-9bed-133d3dd1d4dd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeasesPolicyTextBlock_ce70c56b-69a3-4479-9b5f-87b2994b1da0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeasesPolicyTextBlock"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_15ba54b6-b10a-4411-928d-8c13cccec2bd" xlink:to="loc_us-gaap_LesseeLeasesPolicyTextBlock_ce70c56b-69a3-4479-9b5f-87b2994b1da0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredChargesPolicyTextBlock_aceec2d2-8edb-416f-9ebf-48fbc01f4871" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredChargesPolicyTextBlock"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_15ba54b6-b10a-4411-928d-8c13cccec2bd" xlink:to="loc_us-gaap_DeferredChargesPolicyTextBlock_aceec2d2-8edb-416f-9ebf-48fbc01f4871" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdvertisingCostsPolicyTextBlock_10f78800-e6ed-4800-b189-3be2b1635dd6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingCostsPolicyTextBlock"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_15ba54b6-b10a-4411-928d-8c13cccec2bd" xlink:to="loc_us-gaap_AdvertisingCostsPolicyTextBlock_10f78800-e6ed-4800-b189-3be2b1635dd6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_1ae7be63-f65b-49a9-be4d-954c9409eea5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_15ba54b6-b10a-4411-928d-8c13cccec2bd" xlink:to="loc_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_1ae7be63-f65b-49a9-be4d-954c9409eea5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxPolicyTextBlock_d6b024b3-d892-4fd1-ade4-2c9f64386e4c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_15ba54b6-b10a-4411-928d-8c13cccec2bd" xlink:to="loc_us-gaap_IncomeTaxPolicyTextBlock_d6b024b3-d892-4fd1-ade4-2c9f64386e4c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_f75522a2-f0f3-4415-ab6d-1bf27f018a97" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_15ba54b6-b10a-4411-928d-8c13cccec2bd" xlink:to="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_f75522a2-f0f3-4415-ab6d-1bf27f018a97" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerSharePolicyTextBlock_40b7b451-6eca-427c-9c64-c2fde791eff0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerSharePolicyTextBlock"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_15ba54b6-b10a-4411-928d-8c13cccec2bd" xlink:to="loc_us-gaap_EarningsPerSharePolicyTextBlock_40b7b451-6eca-427c-9c64-c2fde791eff0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_24a503c4-6be3-484c-9be6-17243ce17800" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_15ba54b6-b10a-4411-928d-8c13cccec2bd" xlink:to="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_24a503c4-6be3-484c-9be6-17243ce17800" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesTables" xlink:type="simple" xlink:href="rock-20231231.xsd#SummaryofSignificantAccountingPoliciesTables"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_6b4d031d-bd94-4b3f-a72c-670c8d3bdf3f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock_c0f0a618-f9ea-418a-8ec4-24de823f0b2b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_6b4d031d-bd94-4b3f-a72c-670c8d3bdf3f" xlink:to="loc_us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock_c0f0a618-f9ea-418a-8ec4-24de823f0b2b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_550b2a85-0937-4b41-84cf-88f8a8d079ae" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_6b4d031d-bd94-4b3f-a72c-670c8d3bdf3f" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_550b2a85-0937-4b41-84cf-88f8a8d079ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/RevenueTables" xlink:type="simple" xlink:href="rock-20231231.xsd#RevenueTables"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/RevenueTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_25d55e5f-e737-4aa9-92e4-00d09fc330c0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_132ad43b-bfcb-4536-bec8-849a7484404f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_25d55e5f-e737-4aa9-92e4-00d09fc330c0" xlink:to="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_132ad43b-bfcb-4536-bec8-849a7484404f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AccountsReceivableTables" xlink:type="simple" xlink:href="rock-20231231.xsd#AccountsReceivableTables"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AccountsReceivableTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivablesAbstract_7b7231cb-0e8f-47cf-aeb4-2ba97a2d8636" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_6283f92b-673f-474c-a266-f3bd781d780c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesAbstract_7b7231cb-0e8f-47cf-aeb4-2ba97a2d8636" xlink:to="loc_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_6283f92b-673f-474c-a266-f3bd781d780c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/InventoriesNetTables" xlink:type="simple" xlink:href="rock-20231231.xsd#InventoriesNetTables"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/InventoriesNetTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_006a70f3-ba52-4525-94f3-5b0a48ab59f8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_965987ad-a6a8-4e6e-b38a-2fe42bc7b9a2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_006a70f3-ba52-4525-94f3-5b0a48ab59f8" xlink:to="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_965987ad-a6a8-4e6e-b38a-2fe42bc7b9a2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SummaryOfSlowMovingInventoryActivityTableTextBlock_4f61d8cf-a772-4cc3-867f-a87afe0a7438" xlink:href="rock-20231231.xsd#rock_SummaryOfSlowMovingInventoryActivityTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_006a70f3-ba52-4525-94f3-5b0a48ab59f8" xlink:to="loc_rock_SummaryOfSlowMovingInventoryActivityTableTextBlock_4f61d8cf-a772-4cc3-867f-a87afe0a7438" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetTables" xlink:type="simple" xlink:href="rock-20231231.xsd#PropertyPlantandEquipmentNetTables"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_8203d9e0-20fd-4788-ac9c-2e8203931ee3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_e9a076ac-835e-4ca6-8033-5fb53c57f9d3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_8203d9e0-20fd-4788-ac9c-2e8203931ee3" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_e9a076ac-835e-4ca6-8033-5fb53c57f9d3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionsTables" xlink:type="simple" xlink:href="rock-20231231.xsd#AcquisitionsTables"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AcquisitionsTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_d46386fa-e52c-4bc3-8061-64f3f9c797e1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_d9ec0346-7f19-44cf-8eb1-bb02db4dd386" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_d46386fa-e52c-4bc3-8061-64f3f9c797e1" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock_d9ec0346-7f19-44cf-8eb1-bb02db4dd386" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock_d05f1038-8343-4423-b45f-88eb0ec5731c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_d46386fa-e52c-4bc3-8061-64f3f9c797e1" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock_d05f1038-8343-4423-b45f-88eb0ec5731c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ScheduleofBusinessCombinationCostsTableTextBlock_fcd2676b-2057-4241-8507-46b05c6c6b3a" xlink:href="rock-20231231.xsd#rock_ScheduleofBusinessCombinationCostsTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_d46386fa-e52c-4bc3-8061-64f3f9c797e1" xlink:to="loc_rock_ScheduleofBusinessCombinationCostsTableTextBlock_fcd2676b-2057-4241-8507-46b05c6c6b3a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsTables" xlink:type="simple" xlink:href="rock-20231231.xsd#GoodwillandRelatedIntangibleAssetsTables"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_889f384c-e857-492f-aa8c-0910a385d596" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTextBlock_9d9c9942-0d1b-4889-9a22-e2c7edf9ec2d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfGoodwillTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_889f384c-e857-492f-aa8c-0910a385d596" xlink:to="loc_us-gaap_ScheduleOfGoodwillTextBlock_9d9c9942-0d1b-4889-9a22-e2c7edf9ec2d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_b886eca5-6ebb-46bd-abd7-d67dd3566d3a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_889f384c-e857-492f-aa8c-0910a385d596" xlink:to="loc_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_b886eca5-6ebb-46bd-abd7-d67dd3566d3a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock_be4269c5-3e5a-4047-8a81-8303a2b06c92" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_889f384c-e857-492f-aa8c-0910a385d596" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock_be4269c5-3e5a-4047-8a81-8303a2b06c92" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_9db81fcf-66ed-4aed-90b7-83bb89e74e79" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_889f384c-e857-492f-aa8c-0910a385d596" xlink:to="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_9db81fcf-66ed-4aed-90b7-83bb89e74e79" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AccruedExpensesTables" xlink:type="simple" xlink:href="rock-20231231.xsd#AccruedExpensesTables"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AccruedExpensesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_8142c002-61d1-48be-920c-f2e800ec1064" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_ea84e742-aff7-49f3-922a-9c5b2640b416" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_8142c002-61d1-48be-920c-f2e800ec1064" xlink:to="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_ea84e742-aff7-49f3-922a-9c5b2640b416" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/DebtTables" xlink:type="simple" xlink:href="rock-20231231.xsd#DebtTables"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/DebtTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtAbstract_96f5832e-2d50-4fb4-b469-0b39ba6d88bb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ScheduleOfInterestCashPaymentTableTextBlock_0ced98e3-8f86-4f49-a11c-0e9ef81c1736" xlink:href="rock-20231231.xsd#rock_ScheduleOfInterestCashPaymentTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongTermDebtAbstract_96f5832e-2d50-4fb4-b469-0b39ba6d88bb" xlink:to="loc_rock_ScheduleOfInterestCashPaymentTableTextBlock_0ced98e3-8f86-4f49-a11c-0e9ef81c1736" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsTables" xlink:type="simple" xlink:href="rock-20231231.xsd#PensionandOtherPostretirementBenefitsTables"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_rock_OtherPostretirementBenefitsAbstract_e52250c7-2d74-4a24-b742-68fee818e466" xlink:href="rock-20231231.xsd#rock_OtherPostretirementBenefitsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_6253a407-435a-401f-ba6b-0e7e880dad22" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rock_OtherPostretirementBenefitsAbstract_e52250c7-2d74-4a24-b742-68fee818e466" xlink:to="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_6253a407-435a-401f-ba6b-0e7e880dad22" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeAxis_e8ae53bb-1ad6-4e3b-84c5-01eba74c35df" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_6253a407-435a-401f-ba6b-0e7e880dad22" xlink:to="loc_us-gaap_RetirementPlanTypeAxis_e8ae53bb-1ad6-4e3b-84c5-01eba74c35df" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_a997fb65-650d-4678-9432-6d54c7426f61" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_e8ae53bb-1ad6-4e3b-84c5-01eba74c35df" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_a997fb65-650d-4678-9432-6d54c7426f61" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_83524564-301a-447d-89b1-3c449e0f4828" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPostretirementHealthCoverageMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanTypeDomain_a997fb65-650d-4678-9432-6d54c7426f61" xlink:to="loc_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_83524564-301a-447d-89b1-3c449e0f4828" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_309d8b8d-5452-4008-99e5-2a1f3d84f0c9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_6253a407-435a-401f-ba6b-0e7e880dad22" xlink:to="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_309d8b8d-5452-4008-99e5-2a1f3d84f0c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock_c5d1f036-04e5-402e-8af6-1141c177881f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_309d8b8d-5452-4008-99e5-2a1f3d84f0c9" xlink:to="loc_us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock_c5d1f036-04e5-402e-8af6-1141c177881f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfNetFundedStatusTableTextBlock_f4c99a6c-a1c9-4db0-8cdd-74ad12e4179d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfNetFundedStatusTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_309d8b8d-5452-4008-99e5-2a1f3d84f0c9" xlink:to="loc_us-gaap_ScheduleOfNetFundedStatusTableTextBlock_f4c99a6c-a1c9-4db0-8cdd-74ad12e4179d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock_bf58c8f8-e80c-460c-b090-e5f52d7bcdcb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_309d8b8d-5452-4008-99e5-2a1f3d84f0c9" xlink:to="loc_us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock_bf58c8f8-e80c-460c-b090-e5f52d7bcdcb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock_04c5d9fd-a639-40cc-819c-45af5b974822" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfNetBenefitCostsTableTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_309d8b8d-5452-4008-99e5-2a1f3d84f0c9" xlink:to="loc_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock_04c5d9fd-a639-40cc-819c-45af5b974822" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock_7941286e-a5d5-44f8-a1b8-7d5645ae96d6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_309d8b8d-5452-4008-99e5-2a1f3d84f0c9" xlink:to="loc_us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock_7941286e-a5d5-44f8-a1b8-7d5645ae96d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeTables" xlink:type="simple" xlink:href="rock-20231231.xsd#AccumulatedOtherComprehensiveLossIncomeTables"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract_f674017b-e492-42bd-b893-b9847414991e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_54980f61-2b1a-47ac-a748-5ce4b8dfd5eb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract_f674017b-e492-42bd-b893-b9847414991e" xlink:to="loc_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_54980f61-2b1a-47ac-a748-5ce4b8dfd5eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationTables" xlink:type="simple" xlink:href="rock-20231231.xsd#EquityBasedCompensationTables"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/EquityBasedCompensationTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAbstract_83c70677-69bb-4c56-ba35-3fbb87a0f1fc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock_676d1314-7748-433e-960f-b010c2ee9215" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_83c70677-69bb-4c56-ba35-3fbb87a0f1fc" xlink:to="loc_us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock_676d1314-7748-433e-960f-b010c2ee9215" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock_6a19ae6a-455f-4779-97d3-e88eb68e77db" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_83c70677-69bb-4c56-ba35-3fbb87a0f1fc" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock_6a19ae6a-455f-4779-97d3-e88eb68e77db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock_4a2f0431-c0b5-40fd-9d37-37939d2c0107" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_83c70677-69bb-4c56-ba35-3fbb87a0f1fc" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock_4a2f0431-c0b5-40fd-9d37-37939d2c0107" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_61dabe9e-63ec-4043-b70e-0408098fae8a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_83c70677-69bb-4c56-ba35-3fbb87a0f1fc" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_61dabe9e-63ec-4043-b70e-0408098fae8a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_a22baf02-c76e-4405-bead-06721de57527" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_83c70677-69bb-4c56-ba35-3fbb87a0f1fc" xlink:to="loc_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_a22baf02-c76e-4405-bead-06721de57527" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ScheduleOfFairValueOfOptionsExercisedAndOtherAwardsVestedTableTextBlock_715f7da4-2a2e-42eb-98ea-1b6512bfb2c9" xlink:href="rock-20231231.xsd#rock_ScheduleOfFairValueOfOptionsExercisedAndOtherAwardsVestedTableTextBlock"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_83c70677-69bb-4c56-ba35-3fbb87a0f1fc" xlink:to="loc_rock_ScheduleOfFairValueOfOptionsExercisedAndOtherAwardsVestedTableTextBlock_715f7da4-2a2e-42eb-98ea-1b6512bfb2c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_CashPaidToSettleLiabilityAwardsTableTextBlock_ae5b1bb9-3797-4adb-a642-4b3ec1faa3ab" xlink:href="rock-20231231.xsd#rock_CashPaidToSettleLiabilityAwardsTableTextBlock"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_83c70677-69bb-4c56-ba35-3fbb87a0f1fc" xlink:to="loc_rock_CashPaidToSettleLiabilityAwardsTableTextBlock_ae5b1bb9-3797-4adb-a642-4b3ec1faa3ab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsTables" xlink:type="simple" xlink:href="rock-20231231.xsd#ExitActivityCostsandAssetImpairmentsTables"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_b1dec20b-a597-44f8-9932-88bb29b88247" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_2431a1f3-d948-43ba-b2fb-ebcb91600a51" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_b1dec20b-a597-44f8-9932-88bb29b88247" xlink:to="loc_us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock_2431a1f3-d948-43ba-b2fb-ebcb91600a51" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock_a51933f2-2e2a-4f90-85e1-38fec80af5d7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_b1dec20b-a597-44f8-9932-88bb29b88247" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock_a51933f2-2e2a-4f90-85e1-38fec80af5d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/IncomeTaxesTables" xlink:type="simple" xlink:href="rock-20231231.xsd#IncomeTaxesTables"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/IncomeTaxesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_4a8387fa-dde9-45ad-b309-270d8e9edb92" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_91d77556-de48-4449-8ae4-57c768e67158" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_4a8387fa-dde9-45ad-b309-270d8e9edb92" xlink:to="loc_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_91d77556-de48-4449-8ae4-57c768e67158" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_a11d7c6b-ad97-4163-9ebd-58fe01454b1a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_4a8387fa-dde9-45ad-b309-270d8e9edb92" xlink:to="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_a11d7c6b-ad97-4163-9ebd-58fe01454b1a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_2c50b4ec-85c9-4ce6-b9b5-b3b0ac5df84c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_4a8387fa-dde9-45ad-b309-270d8e9edb92" xlink:to="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_2c50b4ec-85c9-4ce6-b9b5-b3b0ac5df84c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_067570d3-6aa2-4ce7-b336-62d8fb3fa0aa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_4a8387fa-dde9-45ad-b309-270d8e9edb92" xlink:to="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_067570d3-6aa2-4ce7-b336-62d8fb3fa0aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SummaryOfValuationAllowanceTextBlock_f5535829-486b-413c-b467-7d85650e2455" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SummaryOfValuationAllowanceTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_4a8387fa-dde9-45ad-b309-270d8e9edb92" xlink:to="loc_us-gaap_SummaryOfValuationAllowanceTextBlock_f5535829-486b-413c-b467-7d85650e2455" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_IncomeTaxesPaidAndNetOfTaxRefundsTableTextBlock_ba1cd3ab-b147-4944-9d2e-303cc168ba5d" xlink:href="rock-20231231.xsd#rock_IncomeTaxesPaidAndNetOfTaxRefundsTableTextBlock"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_4a8387fa-dde9-45ad-b309-270d8e9edb92" xlink:to="loc_rock_IncomeTaxesPaidAndNetOfTaxRefundsTableTextBlock_ba1cd3ab-b147-4944-9d2e-303cc168ba5d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EarningsperShareTables" xlink:type="simple" xlink:href="rock-20231231.xsd#EarningsperShareTables"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/EarningsperShareTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_3b5a2ced-7fde-42c4-8c1a-a08b6f3061f0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_059a1266-fa4a-4bb7-9471-1acb92929bc5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_3b5a2ced-7fde-42c4-8c1a-a08b6f3061f0" xlink:to="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_059a1266-fa4a-4bb7-9471-1acb92929bc5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_97697576-f42a-4a62-989e-f0c9fb6c2b58" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_3b5a2ced-7fde-42c4-8c1a-a08b6f3061f0" xlink:to="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_97697576-f42a-4a62-989e-f0c9fb6c2b58" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/LeasesTables" xlink:type="simple" xlink:href="rock-20231231.xsd#LeasesTables"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/LeasesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_a49e5688-b473-4473-873f-486a1e20d273" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCostTableTextBlock_fcaeeeac-2cb5-49e2-8b76-9372e0f4b6e6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCostTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_a49e5688-b473-4473-873f-486a1e20d273" xlink:to="loc_us-gaap_LeaseCostTableTextBlock_fcaeeeac-2cb5-49e2-8b76-9372e0f4b6e6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_1f387b73-0fed-4e26-b034-2b5f594d72c4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_a49e5688-b473-4473-873f-486a1e20d273" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_1f387b73-0fed-4e26-b034-2b5f594d72c4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/SegmentInformationTables" xlink:type="simple" xlink:href="rock-20231231.xsd#SegmentInformationTables"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/SegmentInformationTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationRevenueAbstract_649f9f33-7a22-4d60-a82a-8521a365c0d1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationRevenueAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock_f94fc1b2-b3aa-4c95-975a-c58e0d4e9e74" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationRevenueAbstract_649f9f33-7a22-4d60-a82a-8521a365c0d1" xlink:to="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock_f94fc1b2-b3aa-4c95-975a-c58e0d4e9e74" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTableTextBlock_0ff7874e-40d9-4feb-8cfc-2621f4e30041" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationRevenueAbstract_649f9f33-7a22-4d60-a82a-8521a365c0d1" xlink:to="loc_us-gaap_DisaggregationOfRevenueTableTextBlock_0ff7874e-40d9-4feb-8cfc-2621f4e30041" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_dee6d30c-9691-4715-bda6-3ce3f9c86f49" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationRevenueAbstract_649f9f33-7a22-4d60-a82a-8521a365c0d1" xlink:to="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_dee6d30c-9691-4715-bda6-3ce3f9c86f49" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesSummaryofActivityRecordedwithintheAllowanceforDoubtfulAccountsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#SummaryofSignificantAccountingPoliciesSummaryofActivityRecordedwithintheAllowanceforDoubtfulAccountsDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesSummaryofActivityRecordedwithintheAllowanceforDoubtfulAccountsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_3a30b627-74fc-44db-81c7-f753fff9b034" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_035491d5-48c1-4a3f-9f8a-0b697d13d03b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_3a30b627-74fc-44db-81c7-f753fff9b034" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_035491d5-48c1-4a3f-9f8a-0b697d13d03b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_4278bf72-443d-41ec-a6e4-b4c15eea385d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_035491d5-48c1-4a3f-9f8a-0b697d13d03b" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_4278bf72-443d-41ec-a6e4-b4c15eea385d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProvisionForDoubtfulAccounts_a936d965-ca3e-4138-bc71-470593d15c0c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_035491d5-48c1-4a3f-9f8a-0b697d13d03b" xlink:to="loc_us-gaap_ProvisionForDoubtfulAccounts_a936d965-ca3e-4138-bc71-470593d15c0c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs_8dbce2cc-3bb7-42ea-9042-6b187cb33c44" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_035491d5-48c1-4a3f-9f8a-0b697d13d03b" xlink:to="loc_us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs_8dbce2cc-3bb7-42ea-9042-6b187cb33c44" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_65954f45-62d2-4af3-a12b-95f365ba80fb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward_035491d5-48c1-4a3f-9f8a-0b697d13d03b" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_65954f45-62d2-4af3-a12b-95f365ba80fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#SummaryofSignificantAccountingPoliciesNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_c2c98b73-b014-4678-ad38-0c0bc456074a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleLeasebackTransactionTable_cb64e218-9ff7-4d61-afbb-45927352c0c2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleLeasebackTransactionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_c2c98b73-b014-4678-ad38-0c0bc456074a" xlink:to="loc_us-gaap_SaleLeasebackTransactionTable_cb64e218-9ff7-4d61-afbb-45927352c0c2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_c1308726-b032-4d0f-8394-4e219894a1d5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleLeasebackTransactionTable_cb64e218-9ff7-4d61-afbb-45927352c0c2" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_c1308726-b032-4d0f-8394-4e219894a1d5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_d1a515be-44e2-4428-89d1-79b25083f3ce" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_c1308726-b032-4d0f-8394-4e219894a1d5" xlink:to="loc_us-gaap_EquityComponentDomain_d1a515be-44e2-4428-89d1-79b25083f3ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_9a2163d0-29d7-4c99-a48c-d01fca700911" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_d1a515be-44e2-4428-89d1-79b25083f3ce" xlink:to="loc_us-gaap_RetainedEarningsMember_9a2163d0-29d7-4c99-a48c-d01fca700911" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_63fd3047-02a9-46ca-9d2a-b2af9d43cf88" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleLeasebackTransactionTable_cb64e218-9ff7-4d61-afbb-45927352c0c2" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_63fd3047-02a9-46ca-9d2a-b2af9d43cf88" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_2a0a9465-8e11-49b5-9be5-835893a34251" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_63fd3047-02a9-46ca-9d2a-b2af9d43cf88" xlink:to="loc_us-gaap_SegmentDomain_2a0a9465-8e11-49b5-9be5-835893a34251" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialMember_35543c99-87f7-4a2c-9aaf-85843ea0fc79" xlink:href="rock-20231231.xsd#rock_ResidentialMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_2a0a9465-8e11-49b5-9be5-835893a34251" xlink:to="loc_rock_ResidentialMember_35543c99-87f7-4a2c-9aaf-85843ea0fc79" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis_e7c38ff4-a2c0-48fd-b341-c89971a25fdc" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleLeasebackTransactionTable_cb64e218-9ff7-4d61-afbb-45927352c0c2" xlink:to="loc_srt_MajorCustomersAxis_e7c38ff4-a2c0-48fd-b341-c89971a25fdc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_b02979f6-da97-41b3-a2a0-ead02d85ec6a" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_MajorCustomersAxis_e7c38ff4-a2c0-48fd-b341-c89971a25fdc" xlink:to="loc_srt_NameOfMajorCustomerDomain_b02979f6-da97-41b3-a2a0-ead02d85ec6a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_HomeImprovementRetailCompanyMember_a57fa505-fcb5-40f7-8579-25874f40916e" xlink:href="rock-20231231.xsd#rock_HomeImprovementRetailCompanyMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_b02979f6-da97-41b3-a2a0-ead02d85ec6a" xlink:to="loc_rock_HomeImprovementRetailCompanyMember_a57fa505-fcb5-40f7-8579-25874f40916e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_7c711114-9176-49ea-8727-d209005b20d8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleLeasebackTransactionTable_cb64e218-9ff7-4d61-afbb-45927352c0c2" xlink:to="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_7c711114-9176-49ea-8727-d209005b20d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_e4261a79-d0ae-4415-ab3f-81f2ad33610f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_7c711114-9176-49ea-8727-d209005b20d8" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_e4261a79-d0ae-4415-ab3f-81f2ad33610f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableMember_8117cba5-0f6b-4280-a46b-9e7a01a023bf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_e4261a79-d0ae-4415-ab3f-81f2ad33610f" xlink:to="loc_us-gaap_AccountsReceivableMember_8117cba5-0f6b-4280-a46b-9e7a01a023bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SalesRevenueNetMember_7b6a419a-af78-44c4-8bf6-3015bd342911" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_e4261a79-d0ae-4415-ab3f-81f2ad33610f" xlink:to="loc_us-gaap_SalesRevenueNetMember_7b6a419a-af78-44c4-8bf6-3015bd342911" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_9e9ba4a9-9a7b-4fef-89f6-2e844d0ee409" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleLeasebackTransactionTable_cb64e218-9ff7-4d61-afbb-45927352c0c2" xlink:to="loc_srt_RangeAxis_9e9ba4a9-9a7b-4fef-89f6-2e844d0ee409" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_22e99f46-37df-47e8-9f44-7a35fc3500ae" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_9e9ba4a9-9a7b-4fef-89f6-2e844d0ee409" xlink:to="loc_srt_RangeMember_22e99f46-37df-47e8-9f44-7a35fc3500ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_59a6c667-8048-4f2a-ab22-bdaaa71be887" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_22e99f46-37df-47e8-9f44-7a35fc3500ae" xlink:to="loc_srt_MinimumMember_59a6c667-8048-4f2a-ab22-bdaaa71be887" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_f3cb41a3-300d-4470-82ff-ce153f7480d8" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_22e99f46-37df-47e8-9f44-7a35fc3500ae" xlink:to="loc_srt_MaximumMember_f3cb41a3-300d-4470-82ff-ce153f7480d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_3e479a06-251b-4f05-b56d-e1f2cff01ad8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleLeasebackTransactionTable_cb64e218-9ff7-4d61-afbb-45927352c0c2" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_3e479a06-251b-4f05-b56d-e1f2cff01ad8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_6dca903b-266c-4128-8bbd-d67a4837ca05" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_3e479a06-251b-4f05-b56d-e1f2cff01ad8" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_6dca903b-266c-4128-8bbd-d67a4837ca05" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LandBuildingsAndImprovementsMember_e3759125-9ff4-4f20-960e-1571f05fcf0a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandBuildingsAndImprovementsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_6dca903b-266c-4128-8bbd-d67a4837ca05" xlink:to="loc_us-gaap_LandBuildingsAndImprovementsMember_e3759125-9ff4-4f20-960e-1571f05fcf0a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MachineryAndEquipmentMember_922ec64c-7cd9-49d6-8130-2c7ad2c58250" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_6dca903b-266c-4128-8bbd-d67a4837ca05" xlink:to="loc_us-gaap_MachineryAndEquipmentMember_922ec64c-7cd9-49d6-8130-2c7ad2c58250" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis_a9a0d556-6041-4e1d-8a50-9713a0d5e30f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleLeasebackTransactionTable_cb64e218-9ff7-4d61-afbb-45927352c0c2" xlink:to="loc_us-gaap_ConcentrationRiskByTypeAxis_a9a0d556-6041-4e1d-8a50-9713a0d5e30f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_fb3eadc9-fe36-4c1a-931f-abdfbf04e03c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_a9a0d556-6041-4e1d-8a50-9713a0d5e30f" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_fb3eadc9-fe36-4c1a-931f-abdfbf04e03c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerConcentrationRiskMember_8396345d-67c5-4edc-a6e6-83646b412df3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_fb3eadc9-fe36-4c1a-931f-abdfbf04e03c" xlink:to="loc_us-gaap_CustomerConcentrationRiskMember_8396345d-67c5-4edc-a6e6-83646b412df3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SaleLeasebackTransactionLineItems_1f6d3411-f5cf-4e1c-a26f-85ab5852d19a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleLeasebackTransactionLineItems"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleLeasebackTransactionTable_cb64e218-9ff7-4d61-afbb-45927352c0c2" xlink:to="loc_us-gaap_SaleLeasebackTransactionLineItems_1f6d3411-f5cf-4e1c-a26f-85ab5852d19a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportableSegments_73bc7903-cd2b-4ce5-8901-dd98b8b26eeb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportableSegments"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleLeasebackTransactionLineItems_1f6d3411-f5cf-4e1c-a26f-85ab5852d19a" xlink:to="loc_us-gaap_NumberOfReportableSegments_73bc7903-cd2b-4ce5-8901-dd98b8b26eeb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1_054a87b3-e60f-467e-a677-d70b38577873" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleLeasebackTransactionLineItems_1f6d3411-f5cf-4e1c-a26f-85ab5852d19a" xlink:to="loc_us-gaap_ConcentrationRiskPercentage1_054a87b3-e60f-467e-a677-d70b38577873" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_925f969b-b8fc-47fc-8463-f20144cf39ba" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleLeasebackTransactionLineItems_1f6d3411-f5cf-4e1c-a26f-85ab5852d19a" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_925f969b-b8fc-47fc-8463-f20144cf39ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdvertisingExpense_a6d38e0b-5817-40a4-bbb8-8e8edf16baa2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvertisingExpense"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SaleLeasebackTransactionLineItems_1f6d3411-f5cf-4e1c-a26f-85ab5852d19a" xlink:to="loc_us-gaap_AdvertisingExpense_a6d38e0b-5817-40a4-bbb8-8e8edf16baa2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesSummaryofInterestCapitalizedandDepreciationExpenseDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#SummaryofSignificantAccountingPoliciesSummaryofInterestCapitalizedandDepreciationExpenseDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesSummaryofInterestCapitalizedandDepreciationExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_09e31593-4cc3-4386-a94f-2bc8ecf32592" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Depreciation_4b38a165-a987-40d3-9739-2412ee5cfe5d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_09e31593-4cc3-4386-a94f-2bc8ecf32592" xlink:to="loc_us-gaap_Depreciation_4b38a165-a987-40d3-9739-2412ee5cfe5d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/RevenueNarrativeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#RevenueNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/RevenueNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_ea3c9a12-e0b6-4493-949e-c205fe10346b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostTable_36fbd152-de04-4f5e-8717-6bbbbb3a2ab7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_ea3c9a12-e0b6-4493-949e-c205fe10346b" xlink:to="loc_us-gaap_CapitalizedContractCostTable_36fbd152-de04-4f5e-8717-6bbbbb3a2ab7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_6c9bb7a8-043f-4202-9d4a-79754660426b" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedContractCostTable_36fbd152-de04-4f5e-8717-6bbbbb3a2ab7" xlink:to="loc_srt_RangeAxis_6c9bb7a8-043f-4202-9d4a-79754660426b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_739cb022-625b-4dec-a793-249ceb1aedb5" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_6c9bb7a8-043f-4202-9d4a-79754660426b" xlink:to="loc_srt_RangeMember_739cb022-625b-4dec-a793-249ceb1aedb5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_29427c55-4acd-427f-aee6-0291ba119589" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_739cb022-625b-4dec-a793-249ceb1aedb5" xlink:to="loc_srt_MinimumMember_29427c55-4acd-427f-aee6-0291ba119589" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_70203784-94d1-494f-be60-0103ff794c40" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_739cb022-625b-4dec-a793-249ceb1aedb5" xlink:to="loc_srt_MaximumMember_70203784-94d1-494f-be60-0103ff794c40" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_bc2b7aa3-48a8-4dc4-b23c-ff65ee293484" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedContractCostTable_36fbd152-de04-4f5e-8717-6bbbbb3a2ab7" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_bc2b7aa3-48a8-4dc4-b23c-ff65ee293484" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_7fde3e29-d2b3-4f4d-ace4-6b086a136b77" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_bc2b7aa3-48a8-4dc4-b23c-ff65ee293484" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_7fde3e29-d2b3-4f4d-ace4-6b086a136b77" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_BillingsinExcessofCostMember_37030a5c-4b5d-4f56-81cb-969552567236" xlink:href="rock-20231231.xsd#rock_BillingsinExcessofCostMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_7fde3e29-d2b3-4f4d-ace4-6b086a136b77" xlink:to="loc_rock_BillingsinExcessofCostMember_37030a5c-4b5d-4f56-81cb-969552567236" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostLineItems_9eb7ff9a-de7f-44bf-a569-7cb2cb4b351a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedContractCostTable_36fbd152-de04-4f5e-8717-6bbbbb3a2ab7" xlink:to="loc_us-gaap_CapitalizedContractCostLineItems_9eb7ff9a-de7f-44bf-a569-7cb2cb4b351a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ContractWithCustomerContractPaymentTerms_7655eb1a-b0f6-4385-bf82-0dd52b482c8b" xlink:href="rock-20231231.xsd#rock_ContractWithCustomerContractPaymentTerms"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_9eb7ff9a-de7f-44bf-a569-7cb2cb4b351a" xlink:to="loc_rock_ContractWithCustomerContractPaymentTerms_7655eb1a-b0f6-4385-bf82-0dd52b482c8b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_af9b89c4-2cca-4298-8c4d-6c99351eb841" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_9eb7ff9a-de7f-44bf-a569-7cb2cb4b351a" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_af9b89c4-2cca-4298-8c4d-6c99351eb841" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract_e9fb451a-0223-43e1-b724-a817b9405829" xlink:href="rock-20231231.xsd#rock_ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_9eb7ff9a-de7f-44bf-a569-7cb2cb4b351a" xlink:to="loc_rock_ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract_e9fb451a-0223-43e1-b724-a817b9405829" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetNet_77c5e30e-f3cf-4059-8d51-944c262df2af" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_9eb7ff9a-de7f-44bf-a569-7cb2cb4b351a" xlink:to="loc_us-gaap_ContractWithCustomerAssetNet_77c5e30e-f3cf-4059-8d51-944c262df2af" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_df817c41-9973-4b12-9192-695a8b607eb2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_9eb7ff9a-de7f-44bf-a569-7cb2cb4b351a" xlink:to="loc_us-gaap_ContractWithCustomerLiability_df817c41-9973-4b12-9192-695a8b607eb2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable_07bf7857-a0ff-443d-bfaa-3b1dd1f3a54b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetReclassifiedToReceivable"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_9eb7ff9a-de7f-44bf-a569-7cb2cb4b351a" xlink:to="loc_us-gaap_ContractWithCustomerAssetReclassifiedToReceivable_07bf7857-a0ff-443d-bfaa-3b1dd1f3a54b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/RevenueContractAssetsandLiabilitiesDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#RevenueContractAssetsandLiabilitiesDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/RevenueContractAssetsandLiabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_1b218cdf-29ee-400c-858c-12b33d2cfaf7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostTable_04c07aac-34c0-404d-83d4-60ac80cefa45" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_1b218cdf-29ee-400c-858c-12b33d2cfaf7" xlink:to="loc_us-gaap_CapitalizedContractCostTable_04c07aac-34c0-404d-83d4-60ac80cefa45" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_f1eb6db9-daaf-4483-9951-3c43154b6573" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedContractCostTable_04c07aac-34c0-404d-83d4-60ac80cefa45" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_f1eb6db9-daaf-4483-9951-3c43154b6573" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_8cf34bd0-2d60-44b9-a2dc-257fee29bb84" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_f1eb6db9-daaf-4483-9951-3c43154b6573" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_8cf34bd0-2d60-44b9-a2dc-257fee29bb84" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_BillingsinExcessofCostMember_efed2bd7-c8ce-43f2-90c2-d2b9e6b2dabd" xlink:href="rock-20231231.xsd#rock_BillingsinExcessofCostMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_8cf34bd0-2d60-44b9-a2dc-257fee29bb84" xlink:to="loc_rock_BillingsinExcessofCostMember_efed2bd7-c8ce-43f2-90c2-d2b9e6b2dabd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostLineItems_94bd967b-12dc-441b-8fd3-810a292148f5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedContractCostTable_04c07aac-34c0-404d-83d4-60ac80cefa45" xlink:to="loc_us-gaap_CapitalizedContractCostLineItems_94bd967b-12dc-441b-8fd3-810a292148f5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetNet_01fe717f-0ab7-4ebe-9545-84284a785e5d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNet"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_94bd967b-12dc-441b-8fd3-810a292148f5" xlink:to="loc_us-gaap_ContractWithCustomerAssetNet_01fe717f-0ab7-4ebe-9545-84284a785e5d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_d1190f2c-578f-41ec-957a-2548df619a3c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_94bd967b-12dc-441b-8fd3-810a292148f5" xlink:to="loc_us-gaap_ContractWithCustomerLiability_d1190f2c-578f-41ec-957a-2548df619a3c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AccountsReceivableDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#AccountsReceivableDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AccountsReceivableDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivablesAbstract_30528762-1c7c-4d6a-acc3-6351bbe62773" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableGrossCurrent_cbe09b50-6535-400e-8eed-4869a5d10cb9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableGrossCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesAbstract_30528762-1c7c-4d6a-acc3-6351bbe62773" xlink:to="loc_us-gaap_AccountsReceivableGrossCurrent_cbe09b50-6535-400e-8eed-4869a5d10cb9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnbilledContractsReceivable_ee40ec97-4fe6-4078-af4f-0c9342234bd3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnbilledContractsReceivable"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesAbstract_30528762-1c7c-4d6a-acc3-6351bbe62773" xlink:to="loc_us-gaap_UnbilledContractsReceivable_ee40ec97-4fe6-4078-af4f-0c9342234bd3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ContractsReceivableGrossCurrent_c4c2552b-c98d-45cf-bcf4-847e9085ee19" xlink:href="rock-20231231.xsd#rock_ContractsReceivableGrossCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesAbstract_30528762-1c7c-4d6a-acc3-6351bbe62773" xlink:to="loc_rock_ContractsReceivableGrossCurrent_c4c2552b-c98d-45cf-bcf4-847e9085ee19" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_88660fc7-1618-41ed-b73f-625bd1c24148" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesAbstract_30528762-1c7c-4d6a-acc3-6351bbe62773" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_88660fc7-1618-41ed-b73f-625bd1c24148" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_8a3804d2-f956-4ac3-b1f0-e04675f07e3e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesAbstract_30528762-1c7c-4d6a-acc3-6351bbe62773" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_8a3804d2-f956-4ac3-b1f0-e04675f07e3e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/InventoriesNetScheduleofInventoriesDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#InventoriesNetScheduleofInventoriesDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/InventoriesNetScheduleofInventoriesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_585f4a0d-827a-4cbc-af86-518505dadde8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryRawMaterials_9127ea29-4844-4389-a828-51e70d89616b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterials"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_585f4a0d-827a-4cbc-af86-518505dadde8" xlink:to="loc_us-gaap_InventoryRawMaterials_9127ea29-4844-4389-a828-51e70d89616b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryWorkInProcess_c3d2ecad-f59b-4f4b-8335-9cd693879722" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcess"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_585f4a0d-827a-4cbc-af86-518505dadde8" xlink:to="loc_us-gaap_InventoryWorkInProcess_c3d2ecad-f59b-4f4b-8335-9cd693879722" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryFinishedGoods_14806231-455e-4263-a984-ebbf44b4b0df" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoods"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_585f4a0d-827a-4cbc-af86-518505dadde8" xlink:to="loc_us-gaap_InventoryFinishedGoods_14806231-455e-4263-a984-ebbf44b4b0df" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryGross_88de60d8-635a-41ab-88f0-f8e68330cbed" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryGross"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_585f4a0d-827a-4cbc-af86-518505dadde8" xlink:to="loc_us-gaap_InventoryGross_88de60d8-635a-41ab-88f0-f8e68330cbed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryAdjustments_a8e46955-cbbc-467a-bef9-5045fcdc366c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryAdjustments"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_585f4a0d-827a-4cbc-af86-518505dadde8" xlink:to="loc_us-gaap_InventoryAdjustments_a8e46955-cbbc-467a-bef9-5045fcdc366c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryNet_9627f026-2f1b-48a4-b1f0-f15e6e5e454e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_585f4a0d-827a-4cbc-af86-518505dadde8" xlink:to="loc_us-gaap_InventoryNet_9627f026-2f1b-48a4-b1f0-f15e6e5e454e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/InventoriesNetSummaryofActivitywithintheReserveforExcessObsoleteandSlowMovingInventoryDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#InventoriesNetSummaryofActivitywithintheReserveforExcessObsoleteandSlowMovingInventoryDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/InventoriesNetSummaryofActivitywithintheReserveforExcessObsoleteandSlowMovingInventoryDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_5aa8292c-05af-4aef-85a0-233371418f9d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InventoryRollForward_3ba8bc0a-3e12-41c9-a7c2-d03d65259bdd" xlink:href="rock-20231231.xsd#rock_InventoryRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_5aa8292c-05af-4aef-85a0-233371418f9d" xlink:to="loc_rock_InventoryRollForward_3ba8bc0a-3e12-41c9-a7c2-d03d65259bdd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryValuationReserves_032d8d2f-b445-4bdc-940f-6b0ace022718" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryValuationReserves"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rock_InventoryRollForward_3ba8bc0a-3e12-41c9-a7c2-d03d65259bdd" xlink:to="loc_us-gaap_InventoryValuationReserves_032d8d2f-b445-4bdc-940f-6b0ace022718" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InventoryValuationExcessObsoleteAndSlowMovingInventory_54d6508b-d15f-4e48-a67d-6874f912833b" xlink:href="rock-20231231.xsd#rock_InventoryValuationExcessObsoleteAndSlowMovingInventory"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rock_InventoryRollForward_3ba8bc0a-3e12-41c9-a7c2-d03d65259bdd" xlink:to="loc_rock_InventoryValuationExcessObsoleteAndSlowMovingInventory_54d6508b-d15f-4e48-a67d-6874f912833b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InventoryValuationScrappedInventoryAndOtherAdjustments_5c3b2a9a-af60-45e0-a98f-66d7d5a7ebb7" xlink:href="rock-20231231.xsd#rock_InventoryValuationScrappedInventoryAndOtherAdjustments"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rock_InventoryRollForward_3ba8bc0a-3e12-41c9-a7c2-d03d65259bdd" xlink:to="loc_rock_InventoryValuationScrappedInventoryAndOtherAdjustments_5c3b2a9a-af60-45e0-a98f-66d7d5a7ebb7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InventoryValuationReserves_d344cdab-ebe4-4d65-bf6c-20208bd4b954" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryValuationReserves"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rock_InventoryRollForward_3ba8bc0a-3e12-41c9-a7c2-d03d65259bdd" xlink:to="loc_us-gaap_InventoryValuationReserves_d344cdab-ebe4-4d65-bf6c-20208bd4b954" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#PropertyPlantandEquipmentNetDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_903a36ab-9876-4a10-96d5-e521070ebd49" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LandAndLandImprovements_12ed350e-df5d-4afd-bea6-3fc236ff26ae" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandAndLandImprovements"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_903a36ab-9876-4a10-96d5-e521070ebd49" xlink:to="loc_us-gaap_LandAndLandImprovements_12ed350e-df5d-4afd-bea6-3fc236ff26ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BuildingsAndImprovementsGross_4891c877-9ba9-4443-89d3-0581e43d8442" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingsAndImprovementsGross"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_903a36ab-9876-4a10-96d5-e521070ebd49" xlink:to="loc_us-gaap_BuildingsAndImprovementsGross_4891c877-9ba9-4443-89d3-0581e43d8442" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MachineryAndEquipmentGross_d40aaebe-c918-490b-916d-f15741145e09" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentGross"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_903a36ab-9876-4a10-96d5-e521070ebd49" xlink:to="loc_us-gaap_MachineryAndEquipmentGross_d40aaebe-c918-490b-916d-f15741145e09" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ConstructionInProgressGross_265ae880-00eb-4248-851e-79a17b78793c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConstructionInProgressGross"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_903a36ab-9876-4a10-96d5-e521070ebd49" xlink:to="loc_us-gaap_ConstructionInProgressGross_265ae880-00eb-4248-851e-79a17b78793c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_75a9cc1f-7d61-4493-b5df-0f2ff16d7d57" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_903a36ab-9876-4a10-96d5-e521070ebd49" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_75a9cc1f-7d61-4493-b5df-0f2ff16d7d57" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_4675b85f-3433-49b8-9809-f2d9731e18e7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_903a36ab-9876-4a10-96d5-e521070ebd49" xlink:to="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_4675b85f-3433-49b8-9809-f2d9731e18e7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_c2f50419-b779-4c88-a6af-4f00aa0e7ae8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_903a36ab-9876-4a10-96d5-e521070ebd49" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_c2f50419-b779-4c88-a6af-4f00aa0e7ae8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#AcquisitionsNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_42f1181a-e517-445d-b993-6d5daf687859" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_fcfc9b2b-4693-401f-ad79-072cfff205df" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_42f1181a-e517-445d-b993-6d5daf687859" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_fcfc9b2b-4693-401f-ad79-072cfff205df" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_aba23be4-0d1b-455c-bd0a-f3f9e170f370" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_fcfc9b2b-4693-401f-ad79-072cfff205df" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_aba23be4-0d1b-455c-bd0a-f3f9e170f370" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_be531681-f8a9-4540-bf1a-2458195d0960" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_aba23be4-0d1b-455c-bd0a-f3f9e170f370" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_be531681-f8a9-4540-bf1a-2458195d0960" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_QualityAluminumProductsMember_3156eb30-125d-49b6-aaba-e59a4abdd5f0" xlink:href="rock-20231231.xsd#rock_QualityAluminumProductsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_be531681-f8a9-4540-bf1a-2458195d0960" xlink:to="loc_rock_QualityAluminumProductsMember_3156eb30-125d-49b6-aaba-e59a4abdd5f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_PrivatelyHeldUtahBasedCompanyMember_cef725d3-12af-4ed1-b536-bf89919d60d7" xlink:href="rock-20231231.xsd#rock_PrivatelyHeldUtahBasedCompanyMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_be531681-f8a9-4540-bf1a-2458195d0960" xlink:to="loc_rock_PrivatelyHeldUtahBasedCompanyMember_cef725d3-12af-4ed1-b536-bf89919d60d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_c040e7f7-07e2-4858-ab96-ea37b8c642fb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_fcfc9b2b-4693-401f-ad79-072cfff205df" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_c040e7f7-07e2-4858-ab96-ea37b8c642fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_c3d2e3a8-ff29-4b3e-be50-9a42228ce1fc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_c040e7f7-07e2-4858-ab96-ea37b8c642fb" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_c3d2e3a8-ff29-4b3e-be50-9a42228ce1fc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_879f6d93-69cf-45c2-a695-24ad0909f08f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_c3d2e3a8-ff29-4b3e-be50-9a42228ce1fc" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_879f6d93-69cf-45c2-a695-24ad0909f08f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_5befe430-78a2-4d48-8156-48ed5a38e79c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_fcfc9b2b-4693-401f-ad79-072cfff205df" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_5befe430-78a2-4d48-8156-48ed5a38e79c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_001723d1-7055-426a-b807-56303f267ab8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferred1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5befe430-78a2-4d48-8156-48ed5a38e79c" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferred1_001723d1-7055-426a-b807-56303f267ab8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_36b5ecac-1e99-4b90-badd-fd207d6a6adc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5befe430-78a2-4d48-8156-48ed5a38e79c" xlink:to="loc_us-gaap_Goodwill_36b5ecac-1e99-4b90-badd-fd207d6a6adc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_FairValueMeasurementPeriod_27db59bd-052d-4089-a747-7acdc8788d32" xlink:href="rock-20231231.xsd#rock_FairValueMeasurementPeriod"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5befe430-78a2-4d48-8156-48ed5a38e79c" xlink:to="loc_rock_FairValueMeasurementPeriod_27db59bd-052d-4089-a747-7acdc8788d32" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_730dea5d-93b4-4490-a076-757aa4956a3e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_090ae82b-8589-445a-a11d-c1be7a49a581" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_730dea5d-93b4-4490-a076-757aa4956a3e" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_090ae82b-8589-445a-a11d-c1be7a49a581" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_e1e49eac-01ab-4bf2-976a-1eefd89a8758" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_090ae82b-8589-445a-a11d-c1be7a49a581" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_e1e49eac-01ab-4bf2-976a-1eefd89a8758" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_5568b799-2011-4bba-9743-9b7be48bd779" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_e1e49eac-01ab-4bf2-976a-1eefd89a8758" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_5568b799-2011-4bba-9743-9b7be48bd779" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_QualityAluminumProductsMember_a754f36b-435d-4680-950b-78f28136bb52" xlink:href="rock-20231231.xsd#rock_QualityAluminumProductsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_5568b799-2011-4bba-9743-9b7be48bd779" xlink:to="loc_rock_QualityAluminumProductsMember_a754f36b-435d-4680-950b-78f28136bb52" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_PrivatelyHeldUtahBasedCompanyMember_6824d1c3-5345-43ac-956f-7f754f98ffce" xlink:href="rock-20231231.xsd#rock_PrivatelyHeldUtahBasedCompanyMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_5568b799-2011-4bba-9743-9b7be48bd779" xlink:to="loc_rock_PrivatelyHeldUtahBasedCompanyMember_6824d1c3-5345-43ac-956f-7f754f98ffce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_edfac807-3d9f-4117-a7b1-feef31444e65" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_090ae82b-8589-445a-a11d-c1be7a49a581" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_edfac807-3d9f-4117-a7b1-feef31444e65" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_1efb6718-bedc-4929-80ed-fb2e862fe7ba" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_edfac807-3d9f-4117-a7b1-feef31444e65" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_1efb6718-bedc-4929-80ed-fb2e862fe7ba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital_157acdda-9a3b-4519-b47e-3dce968f2ed0" xlink:href="rock-20231231.xsd#rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_edfac807-3d9f-4117-a7b1-feef31444e65" xlink:to="loc_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital_157acdda-9a3b-4519-b47e-3dce968f2ed0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_c58ed9d1-f279-4f40-b470-e70b5fd8ccd1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_edfac807-3d9f-4117-a7b1-feef31444e65" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_c58ed9d1-f279-4f40-b470-e70b5fd8ccd1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_69f50b6e-dd14-4e90-a148-7cf252ab0707" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_edfac807-3d9f-4117-a7b1-feef31444e65" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill_69f50b6e-dd14-4e90-a148-7cf252ab0707" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_55083fc3-4968-4f16-8bee-711d9d405f3e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_edfac807-3d9f-4117-a7b1-feef31444e65" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther_55083fc3-4968-4f16-8bee-711d9d405f3e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther_f0cababd-e352-47be-a74b-790948226ced" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_edfac807-3d9f-4117-a7b1-feef31444e65" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther_f0cababd-e352-47be-a74b-790948226ced" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_2009e279-1f92-46fe-8d9c-40e007d4153b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_edfac807-3d9f-4117-a7b1-feef31444e65" xlink:to="loc_us-gaap_Goodwill_2009e279-1f92-46fe-8d9c-40e007d4153b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_97d465d1-4c7c-46ab-a25a-2a844803676b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_edfac807-3d9f-4117-a7b1-feef31444e65" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet_97d465d1-4c7c-46ab-a25a-2a844803676b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionsScheduleofAcquiredIntangibleAssetsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#AcquisitionsScheduleofAcquiredIntangibleAssetsDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AcquisitionsScheduleofAcquiredIntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_93cda3b1-3a90-428f-8ad0-aef3aa1ac306" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_5e0fe4d6-6f1d-4012-9eb7-e1ba2bf55a00" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_93cda3b1-3a90-428f-8ad0-aef3aa1ac306" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_5e0fe4d6-6f1d-4012-9eb7-e1ba2bf55a00" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_306554a8-55f1-480c-bb7b-9863ee7a3b50" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_5e0fe4d6-6f1d-4012-9eb7-e1ba2bf55a00" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_306554a8-55f1-480c-bb7b-9863ee7a3b50" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_7cef49ca-be3e-4be5-8604-7cde8ef218a3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_306554a8-55f1-480c-bb7b-9863ee7a3b50" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_7cef49ca-be3e-4be5-8604-7cde8ef218a3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_QualityAluminumProductsMember_1599a53b-5135-4196-88c7-6aa091a24aba" xlink:href="rock-20231231.xsd#rock_QualityAluminumProductsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_7cef49ca-be3e-4be5-8604-7cde8ef218a3" xlink:to="loc_rock_QualityAluminumProductsMember_1599a53b-5135-4196-88c7-6aa091a24aba" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_PrivatelyHeldUtahBasedCompanyMember_94311647-8551-4aec-9494-36c1dfb5b4e6" xlink:href="rock-20231231.xsd#rock_PrivatelyHeldUtahBasedCompanyMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_7cef49ca-be3e-4be5-8604-7cde8ef218a3" xlink:to="loc_rock_PrivatelyHeldUtahBasedCompanyMember_94311647-8551-4aec-9494-36c1dfb5b4e6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_4159d370-af11-4e62-ad00-bd4fdda76116" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_5e0fe4d6-6f1d-4012-9eb7-e1ba2bf55a00" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_4159d370-af11-4e62-ad00-bd4fdda76116" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_602e5656-3d22-49a8-a38a-ec442aef32ef" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_4159d370-af11-4e62-ad00-bd4fdda76116" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_602e5656-3d22-49a8-a38a-ec442aef32ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_79df9441-526d-471e-a9be-6d75c2dfaa29" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_602e5656-3d22-49a8-a38a-ec442aef32ef" xlink:to="loc_us-gaap_TrademarksMember_79df9441-526d-471e-a9be-6d75c2dfaa29" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_c29d9a70-bd69-403e-9e17-310031ef8c22" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_602e5656-3d22-49a8-a38a-ec442aef32ef" xlink:to="loc_us-gaap_CustomerRelationshipsMember_c29d9a70-bd69-403e-9e17-310031ef8c22" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_3c1492aa-d823-4876-8170-9af0c70e4b26" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_5e0fe4d6-6f1d-4012-9eb7-e1ba2bf55a00" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_3c1492aa-d823-4876-8170-9af0c70e4b26" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_95b60368-dac1-48c2-b6bd-f2e5deaf87f6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_3c1492aa-d823-4876-8170-9af0c70e4b26" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_95b60368-dac1-48c2-b6bd-f2e5deaf87f6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_4d1d99fc-8a3b-42f4-b125-b104e8e92a8f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_95b60368-dac1-48c2-b6bd-f2e5deaf87f6" xlink:to="loc_us-gaap_TrademarksMember_4d1d99fc-8a3b-42f4-b125-b104e8e92a8f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_e203e866-eec7-404a-8303-e0890992dfe3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_5e0fe4d6-6f1d-4012-9eb7-e1ba2bf55a00" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_e203e866-eec7-404a-8303-e0890992dfe3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefinitelivedIntangibleAssetsAcquired_7941cadf-6d04-4165-a58d-a3ed4ab53452" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefinitelivedIntangibleAssetsAcquired"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_e203e866-eec7-404a-8303-e0890992dfe3" xlink:to="loc_us-gaap_IndefinitelivedIntangibleAssetsAcquired_7941cadf-6d04-4165-a58d-a3ed4ab53452" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FinitelivedIntangibleAssetsAcquired1_e4a3d48e-0625-467a-8b7f-e0ed08cc2b44" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinitelivedIntangibleAssetsAcquired1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_e203e866-eec7-404a-8303-e0890992dfe3" xlink:to="loc_us-gaap_FinitelivedIntangibleAssetsAcquired1_e4a3d48e-0625-467a-8b7f-e0ed08cc2b44" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_a66b33fb-e475-4f60-9075-a0e4c1010ed2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_e203e866-eec7-404a-8303-e0890992dfe3" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_a66b33fb-e475-4f60-9075-a0e4c1010ed2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AcquisitionsAcquisitionRelatedCostsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#AcquisitionsAcquisitionRelatedCostsDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AcquisitionsAcquisitionRelatedCostsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_09cca4bf-a981-495f-a340-cf71fbb90cee" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_a3a7042c-e0a1-4887-8b36-3ff5eea004ac" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_09cca4bf-a981-495f-a340-cf71fbb90cee" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_a3a7042c-e0a1-4887-8b36-3ff5eea004ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_9ccce2c9-577b-4ff4-a6a1-c4a8ae849dda" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_a3a7042c-e0a1-4887-8b36-3ff5eea004ac" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_9ccce2c9-577b-4ff4-a6a1-c4a8ae849dda" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_3a1224f9-bf42-4bf0-be56-9c25c691364b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_9ccce2c9-577b-4ff4-a6a1-c4a8ae849dda" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_3a1224f9-bf42-4bf0-be56-9c25c691364b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_181442bb-9b30-4076-a3f3-5e4386faadab" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_3a1224f9-bf42-4bf0-be56-9c25c691364b" xlink:to="loc_us-gaap_CostOfSalesMember_181442bb-9b30-4076-a3f3-5e4386faadab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_9e01b230-6335-4418-8a5b-a7dff2e3a97f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_3a1224f9-bf42-4bf0-be56-9c25c691364b" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_9e01b230-6335-4418-8a5b-a7dff2e3a97f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_330db3e6-ac60-445c-a767-71d45ba403eb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_a3a7042c-e0a1-4887-8b36-3ff5eea004ac" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_330db3e6-ac60-445c-a767-71d45ba403eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationAcquisitionRelatedCosts_88255124-d07d-48ea-8324-3a5928936b35" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationAcquisitionRelatedCosts"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_330db3e6-ac60-445c-a767-71d45ba403eb" xlink:to="loc_us-gaap_BusinessCombinationAcquisitionRelatedCosts_88255124-d07d-48ea-8324-3a5928936b35" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_eedba8fd-0925-4202-bd3a-4a065534d99c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable_29e61014-3b9e-425f-b1f7-de0d14c14744" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfGoodwillTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_eedba8fd-0925-4202-bd3a-4a065534d99c" xlink:to="loc_us-gaap_ScheduleOfGoodwillTable_29e61014-3b9e-425f-b1f7-de0d14c14744" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_01997d10-8ef7-4089-8095-1fea62a24e08" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_29e61014-3b9e-425f-b1f7-de0d14c14744" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_01997d10-8ef7-4089-8095-1fea62a24e08" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_a1025cda-9f9b-40c0-9064-20de22e42d07" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_01997d10-8ef7-4089-8095-1fea62a24e08" xlink:to="loc_us-gaap_SegmentDomain_a1025cda-9f9b-40c0-9064-20de22e42d07" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewablesMember_91fc166c-4c51-4470-a178-420f0a9395df" xlink:href="rock-20231231.xsd#rock_RenewablesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_a1025cda-9f9b-40c0-9064-20de22e42d07" xlink:to="loc_rock_RenewablesMember_91fc166c-4c51-4470-a178-420f0a9395df" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialMember_78a59728-85c8-4f12-bf58-014efbf704e5" xlink:href="rock-20231231.xsd#rock_ResidentialMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_a1025cda-9f9b-40c0-9064-20de22e42d07" xlink:to="loc_rock_ResidentialMember_78a59728-85c8-4f12-bf58-014efbf704e5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AgtechMember_6935211b-7293-4d9c-91f5-53168ab5067c" xlink:href="rock-20231231.xsd#rock_AgtechMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_a1025cda-9f9b-40c0-9064-20de22e42d07" xlink:to="loc_rock_AgtechMember_6935211b-7293-4d9c-91f5-53168ab5067c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember_80baeeb8-9cbc-43e2-b283-d300491b5da9" xlink:href="rock-20231231.xsd#rock_InfrastructureMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_a1025cda-9f9b-40c0-9064-20de22e42d07" xlink:to="loc_rock_InfrastructureMember_80baeeb8-9cbc-43e2-b283-d300491b5da9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillLineItems_870c2e13-5ed3-499c-8af8-6b134fb95475" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_29e61014-3b9e-425f-b1f7-de0d14c14744" xlink:to="loc_us-gaap_GoodwillLineItems_870c2e13-5ed3-499c-8af8-6b134fb95475" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillRollForward_73904c31-d657-4c3a-aeae-a9c5dfcad9b2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillLineItems_870c2e13-5ed3-499c-8af8-6b134fb95475" xlink:to="loc_us-gaap_GoodwillRollForward_73904c31-d657-4c3a-aeae-a9c5dfcad9b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_1d56adc5-bdbf-40bf-9660-89b6ee2cf4c1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_73904c31-d657-4c3a-aeae-a9c5dfcad9b2" xlink:to="loc_us-gaap_Goodwill_1d56adc5-bdbf-40bf-9660-89b6ee2cf4c1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAcquiredDuringPeriod_1630e08a-7afe-465c-9dd9-66b1bd6ce680" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAcquiredDuringPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_73904c31-d657-4c3a-aeae-a9c5dfcad9b2" xlink:to="loc_us-gaap_GoodwillAcquiredDuringPeriod_1630e08a-7afe-465c-9dd9-66b1bd6ce680" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillPurchaseAccountingAdjustments_de39d75d-9eb2-493c-a171-3ad3c803a708" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillPurchaseAccountingAdjustments"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_73904c31-d657-4c3a-aeae-a9c5dfcad9b2" xlink:to="loc_us-gaap_GoodwillPurchaseAccountingAdjustments_de39d75d-9eb2-493c-a171-3ad3c803a708" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_fe7b146c-1bac-4b17-9d6d-609c90b74aff" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_73904c31-d657-4c3a-aeae-a9c5dfcad9b2" xlink:to="loc_us-gaap_GoodwillForeignCurrencyTranslationGainLoss_fe7b146c-1bac-4b17-9d6d-609c90b74aff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillWrittenOffRelatedToSaleOfBusinessUnit_f8c2476f-26b3-4003-b727-a29a0f1b0e76" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillWrittenOffRelatedToSaleOfBusinessUnit"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_73904c31-d657-4c3a-aeae-a9c5dfcad9b2" xlink:to="loc_us-gaap_GoodwillWrittenOffRelatedToSaleOfBusinessUnit_f8c2476f-26b3-4003-b727-a29a0f1b0e76" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_7ca0091a-11b3-43c5-a691-ef1c65d89f12" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_73904c31-d657-4c3a-aeae-a9c5dfcad9b2" xlink:to="loc_us-gaap_Goodwill_7ca0091a-11b3-43c5-a691-ef1c65d89f12" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsNarrativeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#GoodwillandRelatedIntangibleAssetsNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_fcf662f9-baa2-4bb6-b3d9-b80cf11915ca" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable_86ef363e-8f39-4bea-a8b5-54814a02c83e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfGoodwillTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_fcf662f9-baa2-4bb6-b3d9-b80cf11915ca" xlink:to="loc_us-gaap_ScheduleOfGoodwillTable_86ef363e-8f39-4bea-a8b5-54814a02c83e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_8bf7278a-b874-4d18-b8a2-5329efd7b1a5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_86ef363e-8f39-4bea-a8b5-54814a02c83e" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_8bf7278a-b874-4d18-b8a2-5329efd7b1a5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_cc5033b4-ec4e-4728-962c-d8f184013880" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_8bf7278a-b874-4d18-b8a2-5329efd7b1a5" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_cc5033b4-ec4e-4728-962c-d8f184013880" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_475189c9-466b-4166-9142-b501fe10fd3c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_cc5033b4-ec4e-4728-962c-d8f184013880" xlink:to="loc_us-gaap_TrademarksMember_475189c9-466b-4166-9142-b501fe10fd3c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillLineItems_53b386c1-48a5-4750-a018-2f058716afdd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_86ef363e-8f39-4bea-a8b5-54814a02c83e" xlink:to="loc_us-gaap_GoodwillLineItems_53b386c1-48a5-4750-a018-2f058716afdd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillImpairedAccumulatedImpairmentLoss_c7759c7b-ce91-4475-b2c8-7e602d80b98c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillImpairedAccumulatedImpairmentLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillLineItems_53b386c1-48a5-4750-a018-2f058716afdd" xlink:to="loc_us-gaap_GoodwillImpairedAccumulatedImpairmentLoss_c7759c7b-ce91-4475-b2c8-7e602d80b98c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillImpairmentLoss_bd9396de-eb64-4092-a7f2-cc0cd160dcfe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillImpairmentLoss"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillLineItems_53b386c1-48a5-4750-a018-2f058716afdd" xlink:to="loc_us-gaap_GoodwillImpairmentLoss_bd9396de-eb64-4092-a7f2-cc0cd160dcfe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill_01a653e3-dc5d-496a-a589-a278a2c30d51" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillLineItems_53b386c1-48a5-4750-a018-2f058716afdd" xlink:to="loc_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill_01a653e3-dc5d-496a-a589-a278a2c30d51" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits_a813caee-7b4b-4753-8200-f13d6fd08686" xlink:href="rock-20231231.xsd#rock_ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillLineItems_53b386c1-48a5-4750-a018-2f058716afdd" xlink:to="loc_rock_ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits_a813caee-7b4b-4753-8200-f13d6fd08686" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentOfIntangibleAssetIndefiniteLivedExcludingGoodwillStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration_8e54d438-196f-42b6-a743-f92503fb72ad" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOfIntangibleAssetIndefiniteLivedExcludingGoodwillStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillLineItems_53b386c1-48a5-4750-a018-2f058716afdd" xlink:to="loc_us-gaap_ImpairmentOfIntangibleAssetIndefiniteLivedExcludingGoodwillStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration_8e54d438-196f-42b6-a743-f92503fb72ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportingUnits_97036da0-07e1-41b7-949e-34a654ab264f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportingUnits"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillLineItems_53b386c1-48a5-4750-a018-2f058716afdd" xlink:to="loc_us-gaap_NumberOfReportingUnits_97036da0-07e1-41b7-949e-34a654ab264f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_f2dffb9c-d367-40f4-8843-722b9cb116ea" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e23e29dc-6363-4b99-a581-f029b877df75" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_f2dffb9c-d367-40f4-8843-722b9cb116ea" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e23e29dc-6363-4b99-a581-f029b877df75" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_ca3179e1-2210-4bde-b58d-6d3455cbc6ee" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e23e29dc-6363-4b99-a581-f029b877df75" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_ca3179e1-2210-4bde-b58d-6d3455cbc6ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_14916022-2567-411b-bb8c-848d754fbe6a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_ca3179e1-2210-4bde-b58d-6d3455cbc6ee" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_14916022-2567-411b-bb8c-848d754fbe6a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_14286719-9adb-463d-95c6-de4b81064d0d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_14916022-2567-411b-bb8c-848d754fbe6a" xlink:to="loc_us-gaap_TrademarksMember_14286719-9adb-463d-95c6-de4b81064d0d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a7239bfb-f343-4966-9ab1-42d0c80c9d81" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e23e29dc-6363-4b99-a581-f029b877df75" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a7239bfb-f343-4966-9ab1-42d0c80c9d81" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3339478b-04ed-4987-b99b-7f65e1c97447" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a7239bfb-f343-4966-9ab1-42d0c80c9d81" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3339478b-04ed-4987-b99b-7f65e1c97447" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_3c944b58-7114-467a-b0e3-2784c5995856" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3339478b-04ed-4987-b99b-7f65e1c97447" xlink:to="loc_us-gaap_TrademarksMember_3c944b58-7114-467a-b0e3-2784c5995856" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnpatentedTechnologyMember_edbaa605-c598-4475-be50-b5c9ef1fd704" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnpatentedTechnologyMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3339478b-04ed-4987-b99b-7f65e1c97447" xlink:to="loc_us-gaap_UnpatentedTechnologyMember_edbaa605-c598-4475-be50-b5c9ef1fd704" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CustomerRelationshipsMember_d86d0d4e-11b8-4ded-b3f0-20fa948581c0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3339478b-04ed-4987-b99b-7f65e1c97447" xlink:to="loc_us-gaap_CustomerRelationshipsMember_d86d0d4e-11b8-4ded-b3f0-20fa948581c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncompeteAgreementsMember_04df2b4b-25a5-4923-b39f-44869e826f62" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncompeteAgreementsMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_3339478b-04ed-4987-b99b-7f65e1c97447" xlink:to="loc_us-gaap_NoncompeteAgreementsMember_04df2b4b-25a5-4923-b39f-44869e826f62" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_04ddb2c0-711f-4e4a-a251-c8a5121d3f9f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_e23e29dc-6363-4b99-a581-f029b877df75" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_04ddb2c0-711f-4e4a-a251-c8a5121d3f9f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_3a22e8db-8bc0-494e-8992-11f5375c7972" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_04ddb2c0-711f-4e4a-a251-c8a5121d3f9f" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill_3a22e8db-8bc0-494e-8992-11f5375c7972" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_6f5cca89-fec0-4e73-8f53-6f3e12820c89" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_04ddb2c0-711f-4e4a-a251-c8a5121d3f9f" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_6f5cca89-fec0-4e73-8f53-6f3e12820c89" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AcquiredIntangibleAssetsTotal_08bbb2d1-bee7-46c6-97bf-7ae83ff4f2e2" xlink:href="rock-20231231.xsd#rock_AcquiredIntangibleAssetsTotal"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_04ddb2c0-711f-4e4a-a251-c8a5121d3f9f" xlink:to="loc_rock_AcquiredIntangibleAssetsTotal_08bbb2d1-bee7-46c6-97bf-7ae83ff4f2e2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_IndefiniteLivedAccumulatedAmortization_5b062dc0-d2b7-4f41-8bd4-48ff68151b6c" xlink:href="rock-20231231.xsd#rock_IndefiniteLivedAccumulatedAmortization"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_04ddb2c0-711f-4e4a-a251-c8a5121d3f9f" xlink:to="loc_rock_IndefiniteLivedAccumulatedAmortization_5b062dc0-d2b7-4f41-8bd4-48ff68151b6c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_ac05ed54-d075-411a-9cdd-2a0f5ebbcf39" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_04ddb2c0-711f-4e4a-a251-c8a5121d3f9f" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_ac05ed54-d075-411a-9cdd-2a0f5ebbcf39" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization_5371ae66-d157-472d-8e02-056df142250a" xlink:href="rock-20231231.xsd#rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_04ddb2c0-711f-4e4a-a251-c8a5121d3f9f" xlink:to="loc_rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization_5371ae66-d157-472d-8e02-056df142250a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofImpairmentChargesDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#GoodwillandRelatedIntangibleAssetsScheduleofImpairmentChargesDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofImpairmentChargesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_0a182089-e53c-4b4b-bb08-b63c35f22240" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_55e9724c-dcff-44c1-820b-39f6a002fb35" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_0a182089-e53c-4b4b-bb08-b63c35f22240" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_55e9724c-dcff-44c1-820b-39f6a002fb35" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_16c6ab47-2b43-4b0b-9fb8-dac5810ab3e3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_55e9724c-dcff-44c1-820b-39f6a002fb35" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_16c6ab47-2b43-4b0b-9fb8-dac5810ab3e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_cf51b63f-4b64-4334-86ce-e1ff2d836f66" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_16c6ab47-2b43-4b0b-9fb8-dac5810ab3e3" xlink:to="loc_us-gaap_SegmentDomain_cf51b63f-4b64-4334-86ce-e1ff2d836f66" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewablesMember_03d6cd9a-ca97-4830-8d8e-88c18eef2a92" xlink:href="rock-20231231.xsd#rock_RenewablesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_cf51b63f-4b64-4334-86ce-e1ff2d836f66" xlink:to="loc_rock_RenewablesMember_03d6cd9a-ca97-4830-8d8e-88c18eef2a92" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialMember_8399befb-366f-4ee4-9b97-31627c6289a6" xlink:href="rock-20231231.xsd#rock_ResidentialMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_cf51b63f-4b64-4334-86ce-e1ff2d836f66" xlink:to="loc_rock_ResidentialMember_8399befb-366f-4ee4-9b97-31627c6289a6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember_82173892-599c-4026-92e3-c74ca4b78263" xlink:href="rock-20231231.xsd#rock_InfrastructureMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_cf51b63f-4b64-4334-86ce-e1ff2d836f66" xlink:to="loc_rock_InfrastructureMember_82173892-599c-4026-92e3-c74ca4b78263" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_7eb2e820-29fb-43de-b8e1-293b477d4fa2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_55e9724c-dcff-44c1-820b-39f6a002fb35" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_7eb2e820-29fb-43de-b8e1-293b477d4fa2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_00cc2be2-2ae9-447f-94d5-e8a349baf401" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis_7eb2e820-29fb-43de-b8e1-293b477d4fa2" xlink:to="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_00cc2be2-2ae9-447f-94d5-e8a349baf401" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TrademarksMember_32d02fdc-c409-42bc-b956-c80abcd83794" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain_00cc2be2-2ae9-447f-94d5-e8a349baf401" xlink:to="loc_us-gaap_TrademarksMember_32d02fdc-c409-42bc-b956-c80abcd83794" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_8e9c6f16-20e8-44ff-88dc-759b53c875ac" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_55e9724c-dcff-44c1-820b-39f6a002fb35" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_8e9c6f16-20e8-44ff-88dc-759b53c875ac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill_601e1d21-db83-43b8-b4da-0d447ed9770f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_8e9c6f16-20e8-44ff-88dc-759b53c875ac" xlink:to="loc_us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill_601e1d21-db83-43b8-b4da-0d447ed9770f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_3e6f839e-62be-46d1-afbd-3fec20da74a3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_b24d9c50-44c1-4055-8a9b-5bafef0e47c3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_3e6f839e-62be-46d1-afbd-3fec20da74a3" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_b24d9c50-44c1-4055-8a9b-5bafef0e47c3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofFutureAmortizationExpenseDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#GoodwillandRelatedIntangibleAssetsScheduleofFutureAmortizationExpenseDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofFutureAmortizationExpenseDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_17bc2ff2-ef37-4ac1-9498-9123d935b3cf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_cf83a548-ee3e-44bf-81c2-f13f59380072" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_17bc2ff2-ef37-4ac1-9498-9123d935b3cf" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_cf83a548-ee3e-44bf-81c2-f13f59380072" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_f408b573-6413-46c5-8603-4af44dad97a8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_cf83a548-ee3e-44bf-81c2-f13f59380072" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_f408b573-6413-46c5-8603-4af44dad97a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_ecda4783-71d6-4c35-9e03-26f69b0d5047" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_cf83a548-ee3e-44bf-81c2-f13f59380072" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_ecda4783-71d6-4c35-9e03-26f69b0d5047" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_058353ac-78ca-4148-8010-0f73ed3d2f74" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_cf83a548-ee3e-44bf-81c2-f13f59380072" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_058353ac-78ca-4148-8010-0f73ed3d2f74" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_06cbcf76-f502-4ae1-87d6-b4e0e5ffa6a1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_cf83a548-ee3e-44bf-81c2-f13f59380072" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_06cbcf76-f502-4ae1-87d6-b4e0e5ffa6a1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_47e1224f-7ee8-4c63-9e31-8776ba20bcab" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_cf83a548-ee3e-44bf-81c2-f13f59380072" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_47e1224f-7ee8-4c63-9e31-8776ba20bcab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AccruedExpensesDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#AccruedExpensesDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AccruedExpensesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_f8294f56-06c5-420a-9483-3add4480f1d0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrentAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_c3ff609d-8421-458f-a543-08fc5858655d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_f8294f56-06c5-420a-9483-3add4480f1d0" xlink:to="loc_us-gaap_EmployeeRelatedLiabilitiesCurrent_c3ff609d-8421-458f-a543-08fc5858655d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AccruedCustomerRebatesCurrent_0238d817-98d6-4fd7-93e2-f8ee5193a794" xlink:href="rock-20231231.xsd#rock_AccruedCustomerRebatesCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_f8294f56-06c5-420a-9483-3add4480f1d0" xlink:to="loc_rock_AccruedCustomerRebatesCurrent_0238d817-98d6-4fd7-93e2-f8ee5193a794" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_e3ca844b-6ce7-44ef-9870-bd1872a5990e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_f8294f56-06c5-420a-9483-3add4480f1d0" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_e3ca844b-6ce7-44ef-9870-bd1872a5990e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_f7f90a40-b0fa-4a52-bb37-489a6d3247ae" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_f8294f56-06c5-420a-9483-3add4480f1d0" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_f7f90a40-b0fa-4a52-bb37-489a6d3247ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent_54335c92-0f32-47a4-8a78-1661e34e0fcb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_f8294f56-06c5-420a-9483-3add4480f1d0" xlink:to="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent_54335c92-0f32-47a4-8a78-1661e34e0fcb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedInsuranceCurrent_6ab081d8-3db7-41b1-8e92-55cd5ca6058b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedInsuranceCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_f8294f56-06c5-420a-9483-3add4480f1d0" xlink:to="loc_us-gaap_AccruedInsuranceCurrent_6ab081d8-3db7-41b1-8e92-55cd5ca6058b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent_6c67e3fd-5b5b-46f1-95a1-6adff24b57cf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedIncomeTaxesCurrent"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_f8294f56-06c5-420a-9483-3add4480f1d0" xlink:to="loc_us-gaap_AccruedIncomeTaxesCurrent_6c67e3fd-5b5b-46f1-95a1-6adff24b57cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent_e959182f-5888-4482-b397-42f060746425" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAccruedLiabilitiesCurrent"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_f8294f56-06c5-420a-9483-3add4480f1d0" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesCurrent_e959182f-5888-4482-b397-42f060746425" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrentAndNoncurrent_3351d9c4-aa70-483b-a179-10603edcee07" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrentAndNoncurrent"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_f8294f56-06c5-420a-9483-3add4480f1d0" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrentAndNoncurrent_3351d9c4-aa70-483b-a179-10603edcee07" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/DebtNarrativeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#DebtNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/DebtNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtAbstract_0c04bd3d-74d3-4ea7-b2e0-978ea973aafe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentTable_c8293c2b-5579-4f6d-b937-23bd67d9a03c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongTermDebtAbstract_0c04bd3d-74d3-4ea7-b2e0-978ea973aafe" xlink:to="loc_us-gaap_DebtInstrumentTable_c8293c2b-5579-4f6d-b937-23bd67d9a03c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeAxis_6c7999e8-69e4-4b1a-b62d-f57ed2240116" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_c8293c2b-5579-4f6d-b937-23bd67d9a03c" xlink:to="loc_us-gaap_LongtermDebtTypeAxis_6c7999e8-69e4-4b1a-b62d-f57ed2240116" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongtermDebtTypeDomain_d7f20e8e-d057-4c26-aa4c-697ce88c9d6b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeAxis_6c7999e8-69e4-4b1a-b62d-f57ed2240116" xlink:to="loc_us-gaap_LongtermDebtTypeDomain_d7f20e8e-d057-4c26-aa4c-697ce88c9d6b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditMember_93083680-5647-4665-8120-ccc005137a27" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_d7f20e8e-d057-4c26-aa4c-697ce88c9d6b" xlink:to="loc_us-gaap_LineOfCreditMember_93083680-5647-4665-8120-ccc005137a27" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MediumTermNotesMember_6973c467-e4b7-490e-a38a-50dc8060b8c1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MediumTermNotesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongtermDebtTypeDomain_d7f20e8e-d057-4c26-aa4c-697ce88c9d6b" xlink:to="loc_us-gaap_MediumTermNotesMember_6973c467-e4b7-490e-a38a-50dc8060b8c1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_8389f0ca-2945-420a-af7c-b9655e7f74d7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_c8293c2b-5579-4f6d-b937-23bd67d9a03c" xlink:to="loc_us-gaap_DebtInstrumentAxis_8389f0ca-2945-420a-af7c-b9655e7f74d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_3ea5a241-1d7a-488e-b399-297caf16e580" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_8389f0ca-2945-420a-af7c-b9655e7f74d7" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_3ea5a241-1d7a-488e-b399-297caf16e580" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2022SeniorCreditAgreementMember_d04bd859-fdaf-407a-9fd0-0b0e5fca0186" xlink:href="rock-20231231.xsd#rock_A2022SeniorCreditAgreementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_3ea5a241-1d7a-488e-b399-297caf16e580" xlink:to="loc_rock_A2022SeniorCreditAgreementMember_d04bd859-fdaf-407a-9fd0-0b0e5fca0186" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2019SeniorCreditAgreementMember_9109f297-87a4-4549-b0d1-610c68ce6634" xlink:href="rock-20231231.xsd#rock_A2019SeniorCreditAgreementMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_3ea5a241-1d7a-488e-b399-297caf16e580" xlink:to="loc_rock_A2019SeniorCreditAgreementMember_9109f297-87a4-4549-b0d1-610c68ce6634" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SeniorCreditAgreementMember_5eae38ee-486d-4694-9025-7f5b127e8de7" xlink:href="rock-20231231.xsd#rock_SeniorCreditAgreementMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_3ea5a241-1d7a-488e-b399-297caf16e580" xlink:to="loc_rock_SeniorCreditAgreementMember_5eae38ee-486d-4694-9025-7f5b127e8de7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_a714c776-e0a1-4ad0-a7d3-fb9ece048529" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_c8293c2b-5579-4f6d-b937-23bd67d9a03c" xlink:to="loc_us-gaap_CreditFacilityAxis_a714c776-e0a1-4ad0-a7d3-fb9ece048529" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_8105bbe5-ecf3-4488-b5f6-e5f9615ec5e6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityAxis_a714c776-e0a1-4ad0-a7d3-fb9ece048529" xlink:to="loc_us-gaap_CreditFacilityDomain_8105bbe5-ecf3-4488-b5f6-e5f9615ec5e6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StandbyLettersOfCreditMember_2382edb9-89e6-4a43-8a33-57b6ca559e1a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StandbyLettersOfCreditMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityDomain_8105bbe5-ecf3-4488-b5f6-e5f9615ec5e6" xlink:to="loc_us-gaap_StandbyLettersOfCreditMember_2382edb9-89e6-4a43-8a33-57b6ca559e1a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_1b634b0b-ffea-41d6-b07f-20e5843b2c2c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityDomain_8105bbe5-ecf3-4488-b5f6-e5f9615ec5e6" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_1b634b0b-ffea-41d6-b07f-20e5843b2c2c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_7081ef67-66f0-4781-9119-139b6ef1e5a7" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_c8293c2b-5579-4f6d-b937-23bd67d9a03c" xlink:to="loc_srt_RangeAxis_7081ef67-66f0-4781-9119-139b6ef1e5a7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_8c34c007-69dd-43e8-bc12-0e622386e3a8" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_7081ef67-66f0-4781-9119-139b6ef1e5a7" xlink:to="loc_srt_RangeMember_8c34c007-69dd-43e8-bc12-0e622386e3a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_908c322a-e8d4-4b02-9353-e01c04d3be15" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_8c34c007-69dd-43e8-bc12-0e622386e3a8" xlink:to="loc_srt_MinimumMember_908c322a-e8d4-4b02-9353-e01c04d3be15" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_ed0912a8-f144-4191-9fb6-c06cb43f6ff7" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_8c34c007-69dd-43e8-bc12-0e622386e3a8" xlink:to="loc_srt_MaximumMember_ed0912a8-f144-4191-9fb6-c06cb43f6ff7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis_13bb8889-31ac-475d-89ca-6c6011ccc371" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_c8293c2b-5579-4f6d-b937-23bd67d9a03c" xlink:to="loc_us-gaap_VariableRateAxis_13bb8889-31ac-475d-89ca-6c6011ccc371" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_f0e0b86e-c99f-48b9-899f-0db37da34658" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateAxis_13bb8889-31ac-475d-89ca-6c6011ccc371" xlink:to="loc_us-gaap_VariableRateDomain_f0e0b86e-c99f-48b9-899f-0db37da34658" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BaseRateMember_534fcad8-5031-47bf-8a3c-6ad6801479b3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BaseRateMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_f0e0b86e-c99f-48b9-899f-0db37da34658" xlink:to="loc_us-gaap_BaseRateMember_534fcad8-5031-47bf-8a3c-6ad6801479b3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SecuredOvernightFinancingRateSOFRMember_0d0c240d-4b10-41c5-b817-7c186698c405" xlink:href="rock-20231231.xsd#rock_SecuredOvernightFinancingRateSOFRMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_f0e0b86e-c99f-48b9-899f-0db37da34658" xlink:to="loc_rock_SecuredOvernightFinancingRateSOFRMember_0d0c240d-4b10-41c5-b817-7c186698c405" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_LondonInterbankOfferedRateLIBOR1Member_3d06495e-3acd-4481-9f6f-b7e5ee36d032" xlink:href="rock-20231231.xsd#rock_LondonInterbankOfferedRateLIBOR1Member"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_f0e0b86e-c99f-48b9-899f-0db37da34658" xlink:to="loc_rock_LondonInterbankOfferedRateLIBOR1Member_3d06495e-3acd-4481-9f6f-b7e5ee36d032" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DebtInstrumentApplicableRatePeriodAxis_6ae585ac-8c4b-4dfd-90c6-bcc16b09941e" xlink:href="rock-20231231.xsd#rock_DebtInstrumentApplicableRatePeriodAxis"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_c8293c2b-5579-4f6d-b937-23bd67d9a03c" xlink:to="loc_rock_DebtInstrumentApplicableRatePeriodAxis_6ae585ac-8c4b-4dfd-90c6-bcc16b09941e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DebtInstrumentApplicableRatePeriodDomain_016f60f2-a665-405b-ba8f-1a784ba168c9" xlink:href="rock-20231231.xsd#rock_DebtInstrumentApplicableRatePeriodDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rock_DebtInstrumentApplicableRatePeriodAxis_6ae585ac-8c4b-4dfd-90c6-bcc16b09941e" xlink:to="loc_rock_DebtInstrumentApplicableRatePeriodDomain_016f60f2-a665-405b-ba8f-1a784ba168c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ApplicableRatePeriod1Member_aa0e1509-2cc2-4037-895a-643fdb7cfd37" xlink:href="rock-20231231.xsd#rock_ApplicableRatePeriod1Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rock_DebtInstrumentApplicableRatePeriodDomain_016f60f2-a665-405b-ba8f-1a784ba168c9" xlink:to="loc_rock_ApplicableRatePeriod1Member_aa0e1509-2cc2-4037-895a-643fdb7cfd37" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ApplicableRatePeriod2Member_c2e2ff5f-429d-439a-a4e5-808649258f5e" xlink:href="rock-20231231.xsd#rock_ApplicableRatePeriod2Member"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rock_DebtInstrumentApplicableRatePeriodDomain_016f60f2-a665-405b-ba8f-1a784ba168c9" xlink:to="loc_rock_ApplicableRatePeriod2Member_c2e2ff5f-429d-439a-a4e5-808649258f5e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentTable_c8293c2b-5579-4f6d-b937-23bd67d9a03c" xlink:to="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_bab648f1-80d6-4102-89f0-70f82a1b8df6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:to="loc_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_bab648f1-80d6-4102-89f0-70f82a1b8df6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_1c24225a-b0be-4414-82cf-b84899d284f8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_1c24225a-b0be-4414-82cf-b84899d284f8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentFaceAmount_8f8f1d2f-883f-4e23-92cd-c9ef51e0d0e9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:to="loc_us-gaap_DebtInstrumentFaceAmount_8f8f1d2f-883f-4e23-92cd-c9ef51e0d0e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DebtInstrumentNumberOfDebtCovenants_a11d6e87-6b4b-4d0a-b4f7-11bf0606ff56" xlink:href="rock-20231231.xsd#rock_DebtInstrumentNumberOfDebtCovenants"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:to="loc_rock_DebtInstrumentNumberOfDebtCovenants_a11d6e87-6b4b-4d0a-b4f7-11bf0606ff56" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_4b9c2b83-7029-472f-8467-5d15ddfca2d0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:to="loc_us-gaap_DebtInstrumentInterestRateStatedPercentage_4b9c2b83-7029-472f-8467-5d15ddfca2d0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_83e1f0b6-9980-436d-a814-4c6c7ee39c36" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:to="loc_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_83e1f0b6-9980-436d-a814-4c6c7ee39c36" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt_88c896a5-689e-4430-8f25-35c5a956a888" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:to="loc_us-gaap_LongTermDebt_88c896a5-689e-4430-8f25-35c5a956a888" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_3109337a-8904-4717-bed6-ec77aa5f1fb8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:to="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_3109337a-8904-4717-bed6-ec77aa5f1fb8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityCommitmentFeePercentage_67673096-4588-4d06-9424-07fcd945b744" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityCommitmentFeePercentage"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:to="loc_us-gaap_LineOfCreditFacilityCommitmentFeePercentage_67673096-4588-4d06-9424-07fcd945b744" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_559adf1d-2f43-4b3d-b05e-6372f57d67b5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:to="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_559adf1d-2f43-4b3d-b05e-6372f57d67b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFinanceCostsNet_3047c5c0-0223-414a-b87c-5fdac7a3ef76" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFinanceCostsNet"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:to="loc_us-gaap_DeferredFinanceCostsNet_3047c5c0-0223-414a-b87c-5fdac7a3ef76" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentCarryingAmount_bfb741ec-b0e3-4a00-ad6d-13de44eb6c98" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentCarryingAmount"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentLineItems_532736c9-57a8-4584-8e3e-273b5f3366c6" xlink:to="loc_us-gaap_DebtInstrumentCarryingAmount_bfb741ec-b0e3-4a00-ad6d-13de44eb6c98" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/DebtScheduleofCashPaidforInterestDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#DebtScheduleofCashPaidforInterestDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/DebtScheduleofCashPaidforInterestDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebtAbstract_969b5977-77aa-4d8a-92bd-5e81a7f5bc62" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeExpenseNet_77baffbc-6bab-4e1d-b781-044f6c7a8f75" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeExpenseNet"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongTermDebtAbstract_969b5977-77aa-4d8a-92bd-5e81a7f5bc62" xlink:to="loc_us-gaap_InterestIncomeExpenseNet_77baffbc-6bab-4e1d-b781-044f6c7a8f75" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestIncomeOther_6c32a7e1-6b6b-4dea-926e-c7d6325b6922" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeOther"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongTermDebtAbstract_969b5977-77aa-4d8a-92bd-5e81a7f5bc62" xlink:to="loc_us-gaap_InterestIncomeOther_6c32a7e1-6b6b-4dea-926e-c7d6325b6922" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InterestAdjustment_6aa4b43e-09fa-4c1a-89c9-94704065e2b2" xlink:href="rock-20231231.xsd#rock_InterestAdjustment"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongTermDebtAbstract_969b5977-77aa-4d8a-92bd-5e81a7f5bc62" xlink:to="loc_rock_InterestAdjustment_6aa4b43e-09fa-4c1a-89c9-94704065e2b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestPaidNet_8189d4a4-fcf1-491f-9714-f5fa6f9c10e9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LongTermDebtAbstract_969b5977-77aa-4d8a-92bd-5e81a7f5bc62" xlink:to="loc_us-gaap_InterestPaidNet_8189d4a4-fcf1-491f-9714-f5fa6f9c10e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsScheduleofTotalExpenseforAllRetirementPlansDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#PensionandOtherPostretirementBenefitsScheduleofTotalExpenseforAllRetirementPlansDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsScheduleofTotalExpenseforAllRetirementPlansDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_rock_OtherPostretirementBenefitsAbstract_9704537e-c287-40e2-87bb-e3e96aad1800" xlink:href="rock-20231231.xsd#rock_OtherPostretirementBenefitsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_682ea7b4-baa8-4c08-8403-01f47aa52ec3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rock_OtherPostretirementBenefitsAbstract_9704537e-c287-40e2-87bb-e3e96aad1800" xlink:to="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_682ea7b4-baa8-4c08-8403-01f47aa52ec3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeAxis_91a6853f-715a-4c7c-bd0e-357d622b6ce5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_682ea7b4-baa8-4c08-8403-01f47aa52ec3" xlink:to="loc_us-gaap_RetirementPlanTypeAxis_91a6853f-715a-4c7c-bd0e-357d622b6ce5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_6cc43b0b-42ec-4de7-afd7-5fabcc1edc90" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_91a6853f-715a-4c7c-bd0e-357d622b6ce5" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_6cc43b0b-42ec-4de7-afd7-5fabcc1edc90" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A401kPlanMember_79877e42-b199-44e7-ab70-fdd3a23886cc" xlink:href="rock-20231231.xsd#rock_A401kPlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanTypeDomain_6cc43b0b-42ec-4de7-afd7-5fabcc1edc90" xlink:to="loc_rock_A401kPlanMember_79877e42-b199-44e7-ab70-fdd3a23886cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PensionPlansDefinedBenefitMember_ff3fc6a6-da98-41e2-8e69-ec088c24ddd1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionPlansDefinedBenefitMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanTypeDomain_6cc43b0b-42ec-4de7-afd7-5fabcc1edc90" xlink:to="loc_us-gaap_PensionPlansDefinedBenefitMember_ff3fc6a6-da98-41e2-8e69-ec088c24ddd1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_31c75b41-c124-4084-9316-1c35bd786726" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPostretirementHealthCoverageMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanTypeDomain_6cc43b0b-42ec-4de7-afd7-5fabcc1edc90" xlink:to="loc_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_31c75b41-c124-4084-9316-1c35bd786726" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_dc5ce898-9264-4507-a8de-53a792dda2ef" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_682ea7b4-baa8-4c08-8403-01f47aa52ec3" xlink:to="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_dc5ce898-9264-4507-a8de-53a792dda2ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PostemploymentBenefitsPeriodExpense_d8e721a9-22a4-42cd-a341-1b5812d4bca7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PostemploymentBenefitsPeriodExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_dc5ce898-9264-4507-a8de-53a792dda2ef" xlink:to="loc_us-gaap_PostemploymentBenefitsPeriodExpense_d8e721a9-22a4-42cd-a341-1b5812d4bca7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RetirementPlanNumberOfPlans_20fa45d0-3ba3-4917-89d5-5f78e1a0a2e1" xlink:href="rock-20231231.xsd#rock_RetirementPlanNumberOfPlans"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanDisclosureLineItems_dc5ce898-9264-4507-a8de-53a792dda2ef" xlink:to="loc_rock_RetirementPlanNumberOfPlans_20fa45d0-3ba3-4917-89d5-5f78e1a0a2e1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_rock_OtherPostretirementBenefitsAbstract_09a06d2e-e638-450f-9269-fea28c771496" xlink:href="rock-20231231.xsd#rock_OtherPostretirementBenefitsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_1981fad4-5c92-450d-a338-cb51be954322" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rock_OtherPostretirementBenefitsAbstract_09a06d2e-e638-450f-9269-fea28c771496" xlink:to="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_1981fad4-5c92-450d-a338-cb51be954322" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeAxis_4bd2bc83-e628-4165-9ec1-7dd9675bcdeb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_1981fad4-5c92-450d-a338-cb51be954322" xlink:to="loc_us-gaap_RetirementPlanTypeAxis_4bd2bc83-e628-4165-9ec1-7dd9675bcdeb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_e5bd4fef-2c1c-4ec6-bd78-ebfac37b8f2b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_4bd2bc83-e628-4165-9ec1-7dd9675bcdeb" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_e5bd4fef-2c1c-4ec6-bd78-ebfac37b8f2b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_aae54d25-4d01-4324-a79b-a8b90d7f23ae" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPostretirementHealthCoverageMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanTypeDomain_e5bd4fef-2c1c-4ec6-bd78-ebfac37b8f2b" xlink:to="loc_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_aae54d25-4d01-4324-a79b-a8b90d7f23ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_3d6c3304-117b-4623-bec8-d33f93267772" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_1981fad4-5c92-450d-a338-cb51be954322" xlink:to="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_3d6c3304-117b-4623-bec8-d33f93267772" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanChangeInBenefitObligationRollForward_cfd846c3-65fc-4e37-8866-48594c592e2d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanChangeInBenefitObligationRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_3d6c3304-117b-4623-bec8-d33f93267772" xlink:to="loc_us-gaap_DefinedBenefitPlanChangeInBenefitObligationRollForward_cfd846c3-65fc-4e37-8866-48594c592e2d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanBenefitObligation_ebabb646-5453-4da1-975d-5669c7f9d4dc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanBenefitObligation"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanChangeInBenefitObligationRollForward_cfd846c3-65fc-4e37-8866-48594c592e2d" xlink:to="loc_us-gaap_DefinedBenefitPlanBenefitObligation_ebabb646-5453-4da1-975d-5669c7f9d4dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanInterestCost_bfb7374b-c395-4b29-9992-aa55f93aeb6f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanInterestCost"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanChangeInBenefitObligationRollForward_cfd846c3-65fc-4e37-8866-48594c592e2d" xlink:to="loc_us-gaap_DefinedBenefitPlanInterestCost_bfb7374b-c395-4b29-9992-aa55f93aeb6f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanActuarialGainLoss_9bd7b992-d2df-430c-91a7-24da4ec754aa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanActuarialGainLoss"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanChangeInBenefitObligationRollForward_cfd846c3-65fc-4e37-8866-48594c592e2d" xlink:to="loc_us-gaap_DefinedBenefitPlanActuarialGainLoss_9bd7b992-d2df-430c-91a7-24da4ec754aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedNetLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid_a3efffcf-9d38-4a76-aa9e-38869ef8ade4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanChangeInBenefitObligationRollForward_cfd846c3-65fc-4e37-8866-48594c592e2d" xlink:to="loc_us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid_a3efffcf-9d38-4a76-aa9e-38869ef8ade4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanBenefitObligation_d64b3d5c-9bcc-4b46-832a-5eb998c0c177" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanBenefitObligation"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlanChangeInBenefitObligationRollForward_cfd846c3-65fc-4e37-8866-48594c592e2d" xlink:to="loc_us-gaap_DefinedBenefitPlanBenefitObligation_d64b3d5c-9bcc-4b46-832a-5eb998c0c177" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanFairValueOfPlanAssets_0811bc65-f0c7-48e7-96aa-689256e92a42" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanFairValueOfPlanAssets"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_3d6c3304-117b-4623-bec8-d33f93267772" xlink:to="loc_us-gaap_DefinedBenefitPlanFairValueOfPlanAssets_0811bc65-f0c7-48e7-96aa-689256e92a42" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanFundedStatusOfPlan_b9f2a20a-8575-4cc8-853c-fd76d8a220b1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanFundedStatusOfPlan"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_3d6c3304-117b-4623-bec8-d33f93267772" xlink:to="loc_us-gaap_DefinedBenefitPlanFundedStatusOfPlan_b9f2a20a-8575-4cc8-853c-fd76d8a220b1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax_cce08e78-303b-4ef9-ba78-ec3a51a657cb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_3d6c3304-117b-4623-bec8-d33f93267772" xlink:to="loc_us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax_cce08e78-303b-4ef9-ba78-ec3a51a657cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax_0f87fa22-e674-4d1d-ad19-794907a0d6dd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_3d6c3304-117b-4623-bec8-d33f93267772" xlink:to="loc_us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax_0f87fa22-e674-4d1d-ad19-794907a0d6dd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet_ccb930a4-67df-4559-aa98-097454ddd9a5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_3d6c3304-117b-4623-bec8-d33f93267772" xlink:to="loc_us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet_ccb930a4-67df-4559-aa98-097454ddd9a5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsAmountsRecognizedintheConsolidatedFinancialStatementsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#PensionandOtherPostretirementBenefitsAmountsRecognizedintheConsolidatedFinancialStatementsDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsAmountsRecognizedintheConsolidatedFinancialStatementsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_rock_OtherPostretirementBenefitsAbstract_812f5c6a-4eea-45c4-bd0b-0ab9f81cf465" xlink:href="rock-20231231.xsd#rock_OtherPostretirementBenefitsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_7dfd1aa6-5ad9-4625-a7e4-820558f9af5d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rock_OtherPostretirementBenefitsAbstract_812f5c6a-4eea-45c4-bd0b-0ab9f81cf465" xlink:to="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_7dfd1aa6-5ad9-4625-a7e4-820558f9af5d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeAxis_de89a9e3-1d78-43f6-b4fe-10677395e741" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_7dfd1aa6-5ad9-4625-a7e4-820558f9af5d" xlink:to="loc_us-gaap_RetirementPlanTypeAxis_de89a9e3-1d78-43f6-b4fe-10677395e741" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_157ffac5-91b0-4e2c-9478-ce01472ccab3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_de89a9e3-1d78-43f6-b4fe-10677395e741" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_157ffac5-91b0-4e2c-9478-ce01472ccab3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_89057298-1d68-4069-aceb-8724501e5639" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPostretirementHealthCoverageMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanTypeDomain_157ffac5-91b0-4e2c-9478-ce01472ccab3" xlink:to="loc_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_89057298-1d68-4069-aceb-8724501e5639" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_7c663435-4e54-4c44-b87e-591e9b62c8fa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_7dfd1aa6-5ad9-4625-a7e4-820558f9af5d" xlink:to="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_7c663435-4e54-4c44-b87e-591e9b62c8fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities_afb4262b-3f17-4348-989e-8d7a2477fa71" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_7c663435-4e54-4c44-b87e-591e9b62c8fa" xlink:to="loc_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities_afb4262b-3f17-4348-989e-8d7a2477fa71" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent_14366949-a5d4-4eac-b924-52a43efaffbf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_7c663435-4e54-4c44-b87e-591e9b62c8fa" xlink:to="loc_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent_14366949-a5d4-4eac-b924-52a43efaffbf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax_2b3651c2-f72f-4346-b290-884de6f5f4da" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_7c663435-4e54-4c44-b87e-591e9b62c8fa" xlink:to="loc_us-gaap_DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax_2b3651c2-f72f-4346-b290-884de6f5f4da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet_bfef6954-9d45-45c9-80cd-3b967ab63243" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_7c663435-4e54-4c44-b87e-591e9b62c8fa" xlink:to="loc_us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet_bfef6954-9d45-45c9-80cd-3b967ab63243" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_rock_OtherPostretirementBenefitsAbstract_e46226e4-e58a-42ed-881d-3801b27de98d" xlink:href="rock-20231231.xsd#rock_OtherPostretirementBenefitsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_NetPeriodicPostRetirementCostTable_2d74fba7-729e-480b-bbf5-f3267d1f9800" xlink:href="rock-20231231.xsd#rock_NetPeriodicPostRetirementCostTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rock_OtherPostretirementBenefitsAbstract_e46226e4-e58a-42ed-881d-3801b27de98d" xlink:to="loc_rock_NetPeriodicPostRetirementCostTable_2d74fba7-729e-480b-bbf5-f3267d1f9800" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeAxis_f424e765-1ab1-45ab-85fb-d3de57ef4e91" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rock_NetPeriodicPostRetirementCostTable_2d74fba7-729e-480b-bbf5-f3267d1f9800" xlink:to="loc_us-gaap_RetirementPlanTypeAxis_f424e765-1ab1-45ab-85fb-d3de57ef4e91" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_52d17362-51cf-4925-816a-e9b3cfde0b6a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_f424e765-1ab1-45ab-85fb-d3de57ef4e91" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_52d17362-51cf-4925-816a-e9b3cfde0b6a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_cd1d21fc-483f-4dea-8f91-f6ad68319245" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPostretirementHealthCoverageMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanTypeDomain_52d17362-51cf-4925-816a-e9b3cfde0b6a" xlink:to="loc_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_cd1d21fc-483f-4dea-8f91-f6ad68319245" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_e7b9e2be-cc9e-4616-b298-6bc29cee8bb9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rock_NetPeriodicPostRetirementCostTable_2d74fba7-729e-480b-bbf5-f3267d1f9800" xlink:to="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_e7b9e2be-cc9e-4616-b298-6bc29cee8bb9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanInterestCost_7cd0d39c-056b-432a-bbb1-a4370ad4b8ae" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanInterestCost"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_e7b9e2be-cc9e-4616-b298-6bc29cee8bb9" xlink:to="loc_us-gaap_DefinedBenefitPlanInterestCost_7cd0d39c-056b-432a-bbb1-a4370ad4b8ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_728e0aba-6b9d-4697-8ddd-be281735e2c0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_e7b9e2be-cc9e-4616-b298-6bc29cee8bb9" xlink:to="loc_us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit_728e0aba-6b9d-4697-8ddd-be281735e2c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses_f4f5b4a7-e85f-458a-ab14-e98f7fb2516f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_e7b9e2be-cc9e-4616-b298-6bc29cee8bb9" xlink:to="loc_us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses_f4f5b4a7-e85f-458a-ab14-e98f7fb2516f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_e06328df-8206-4ebb-94c1-fc85e3cb7b9a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_e7b9e2be-cc9e-4616-b298-6bc29cee8bb9" xlink:to="loc_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_e06328df-8206-4ebb-94c1-fc85e3cb7b9a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate_52a13e4f-fe1f-4278-aa41-256460ec22d1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_e7b9e2be-cc9e-4616-b298-6bc29cee8bb9" xlink:to="loc_us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate_52a13e4f-fe1f-4278-aa41-256460ec22d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65_cec75da9-60bd-489c-bfee-74e7507fa920" xlink:href="rock-20231231.xsd#rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_e7b9e2be-cc9e-4616-b298-6bc29cee8bb9" xlink:to="loc_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65_cec75da9-60bd-489c-bfee-74e7507fa920" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65_02c66392-57cb-4443-8033-2f3a8134be2b" xlink:href="rock-20231231.xsd#rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_e7b9e2be-cc9e-4616-b298-6bc29cee8bb9" xlink:to="loc_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65_02c66392-57cb-4443-8033-2f3a8134be2b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts_23ae3489-239d-40c6-b2db-0dacb5260429" xlink:href="rock-20231231.xsd#rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_e7b9e2be-cc9e-4616-b298-6bc29cee8bb9" xlink:to="loc_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts_23ae3489-239d-40c6-b2db-0dacb5260429" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanUltimateHealthCareCostTrendRate1_8b19e3ff-e760-44be-b207-c0be1a71d220" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanUltimateHealthCareCostTrendRate1"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_e7b9e2be-cc9e-4616-b298-6bc29cee8bb9" xlink:to="loc_us-gaap_DefinedBenefitPlanUltimateHealthCareCostTrendRate1_8b19e3ff-e760-44be-b207-c0be1a71d220" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsExpectedBenefitPaymentsfromthePlanDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#PensionandOtherPostretirementBenefitsExpectedBenefitPaymentsfromthePlanDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsExpectedBenefitPaymentsfromthePlanDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_rock_OtherPostretirementBenefitsAbstract_43be3a72-6279-43d3-b161-b2c8734abc9e" xlink:href="rock-20231231.xsd#rock_OtherPostretirementBenefitsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_ca799bce-536b-4011-a18b-1021b62187d2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_rock_OtherPostretirementBenefitsAbstract_43be3a72-6279-43d3-b161-b2c8734abc9e" xlink:to="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_ca799bce-536b-4011-a18b-1021b62187d2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeAxis_ae3633ae-1456-4b8d-80f4-4e0c5fb46c7c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_ca799bce-536b-4011-a18b-1021b62187d2" xlink:to="loc_us-gaap_RetirementPlanTypeAxis_ae3633ae-1456-4b8d-80f4-4e0c5fb46c7c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetirementPlanTypeDomain_116358ce-cb2d-4f34-ad2c-7b0d33a2d064" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanTypeAxis_ae3633ae-1456-4b8d-80f4-4e0c5fb46c7c" xlink:to="loc_us-gaap_RetirementPlanTypeDomain_116358ce-cb2d-4f34-ad2c-7b0d33a2d064" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_78972065-04f0-4187-9c04-2f80e1eca24d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPostretirementHealthCoverageMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RetirementPlanTypeDomain_116358ce-cb2d-4f34-ad2c-7b0d33a2d064" xlink:to="loc_us-gaap_DefinedBenefitPostretirementHealthCoverageMember_78972065-04f0-4187-9c04-2f80e1eca24d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_45cffce9-1205-4107-9349-c08c9f3ecaf2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable_ca799bce-536b-4011-a18b-1021b62187d2" xlink:to="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_45cffce9-1205-4107-9349-c08c9f3ecaf2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths_e4ed852b-6029-41b9-8cf1-263d103d8285" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_45cffce9-1205-4107-9349-c08c9f3ecaf2" xlink:to="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths_e4ed852b-6029-41b9-8cf1-263d103d8285" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo_eea9bba9-5540-4141-aff6-a6433183959d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_45cffce9-1205-4107-9349-c08c9f3ecaf2" xlink:to="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo_eea9bba9-5540-4141-aff6-a6433183959d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree_004f4146-a42f-4dfd-912f-7fc3b3ceeb82" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_45cffce9-1205-4107-9349-c08c9f3ecaf2" xlink:to="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree_004f4146-a42f-4dfd-912f-7fc3b3ceeb82" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour_62072e62-585d-44ea-a1fe-d0750364196c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_45cffce9-1205-4107-9349-c08c9f3ecaf2" xlink:to="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour_62072e62-585d-44ea-a1fe-d0750364196c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive_6f947ff4-7d5e-471a-9d37-20a099c8699f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_45cffce9-1205-4107-9349-c08c9f3ecaf2" xlink:to="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive_6f947ff4-7d5e-471a-9d37-20a099c8699f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter_daf57f65-600f-4050-81e2-69c680e0b31c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems_45cffce9-1205-4107-9349-c08c9f3ecaf2" xlink:to="loc_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter_daf57f65-600f-4050-81e2-69c680e0b31c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#AccumulatedOtherComprehensiveLossIncomeDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract_d5be4f34-e0b9-4e6a-8782-2f56f153dfc7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_f37f671d-d9a8-416c-92db-acd7c25d81a9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract_d5be4f34-e0b9-4e6a-8782-2f56f153dfc7" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_f37f671d-d9a8-416c-92db-acd7c25d81a9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_d6273500-010d-498f-a179-a6cea4f7d325" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_f37f671d-d9a8-416c-92db-acd7c25d81a9" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_d6273500-010d-498f-a179-a6cea4f7d325" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_7c1157b8-1aee-4a0c-b078-a166452dee08" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_d6273500-010d-498f-a179-a6cea4f7d325" xlink:to="loc_us-gaap_EquityComponentDomain_7c1157b8-1aee-4a0c-b078-a166452dee08" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedTranslationAdjustmentMember_edcf7645-d98b-4543-9fe6-c1bb3745252e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedTranslationAdjustmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_7c1157b8-1aee-4a0c-b078-a166452dee08" xlink:to="loc_us-gaap_AccumulatedTranslationAdjustmentMember_edcf7645-d98b-4543-9fe6-c1bb3745252e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_79d89668-0983-4c7a-9e70-8f8dc7709d04" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_7c1157b8-1aee-4a0c-b078-a166452dee08" xlink:to="loc_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_79d89668-0983-4c7a-9e70-8f8dc7709d04" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_67e5bd9b-e340-4f4d-a399-881bd611ee24" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_f37f671d-d9a8-416c-92db-acd7c25d81a9" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_67e5bd9b-e340-4f4d-a399-881bd611ee24" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1_47f828eb-9128-463a-b8a3-f677afff3c77" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_67e5bd9b-e340-4f4d-a399-881bd611ee24" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1_47f828eb-9128-463a-b8a3-f677afff3c77" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossBeforeTax_d743933c-9c5f-4137-898d-e2cff46d8f65" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeTax"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_67e5bd9b-e340-4f4d-a399-881bd611ee24" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossBeforeTax_d743933c-9c5f-4137-898d-e2cff46d8f65" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1_40aadcaa-6fc1-4c3d-951b-94264d61d8d7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_67e5bd9b-e340-4f4d-a399-881bd611ee24" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1_40aadcaa-6fc1-4c3d-951b-94264d61d8d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossTaxAbstract_daf5624f-5539-41f7-9ffc-23f64f240640" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossTaxAbstract"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_67e5bd9b-e340-4f4d-a399-881bd611ee24" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossTaxAbstract_daf5624f-5539-41f7-9ffc-23f64f240640" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AccumulatedOtherComprehensiveIncomeLossTax_72bfcd92-b1ae-4840-97e0-42accedb2ac2" xlink:href="rock-20231231.xsd#rock_AccumulatedOtherComprehensiveIncomeLossTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossTaxAbstract_daf5624f-5539-41f7-9ffc-23f64f240640" xlink:to="loc_rock_AccumulatedOtherComprehensiveIncomeLossTax_72bfcd92-b1ae-4840-97e0-42accedb2ac2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossTax_4894a0c3-d171-4129-af7d-028ec5b6f6a5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossTax"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossTaxAbstract_daf5624f-5539-41f7-9ffc-23f64f240640" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossTax_4894a0c3-d171-4129-af7d-028ec5b6f6a5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AccumulatedOtherComprehensiveIncomeLossTax_9fcfdbfc-3653-45ae-b0d1-248b651d57ea" xlink:href="rock-20231231.xsd#rock_AccumulatedOtherComprehensiveIncomeLossTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossTaxAbstract_daf5624f-5539-41f7-9ffc-23f64f240640" xlink:to="loc_rock_AccumulatedOtherComprehensiveIncomeLossTax_9fcfdbfc-3653-45ae-b0d1-248b651d57ea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_c3eaf7be-69b9-4626-b688-0bec7187c54a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AOCIAttributableToParentNetOfTaxRollForward"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_67e5bd9b-e340-4f4d-a399-881bd611ee24" xlink:to="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_c3eaf7be-69b9-4626-b688-0bec7187c54a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_b8ca1beb-05e9-46d8-a12d-e2568e7a6813" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_c3eaf7be-69b9-4626-b688-0bec7187c54a" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_b8ca1beb-05e9-46d8-a12d-e2568e7a6813" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax_2af0b39b-6d88-4e83-867b-12796d64802b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_c3eaf7be-69b9-4626-b688-0bec7187c54a" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax_2af0b39b-6d88-4e83-867b-12796d64802b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_83d9c1ff-09f5-4fc6-9601-b04d4b7d98f0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_c3eaf7be-69b9-4626-b688-0bec7187c54a" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_83d9c1ff-09f5-4fc6-9601-b04d4b7d98f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_25f00a8d-6811-498d-bb23-ef728da22260" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_c3eaf7be-69b9-4626-b688-0bec7187c54a" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_25f00a8d-6811-498d-bb23-ef728da22260" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#EquityBasedCompensationNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAbstract_14fcfc4a-bbe1-4edc-aa4f-670c17524d1c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_61ba9afb-c7bc-4d34-b8ee-90f4bfe94b7a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_14fcfc4a-bbe1-4edc-aa4f-670c17524d1c" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_61ba9afb-c7bc-4d34-b8ee-90f4bfe94b7a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_6a04b268-b562-4bfe-9571-3ee54b758fc8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_61ba9afb-c7bc-4d34-b8ee-90f4bfe94b7a" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_6a04b268-b562-4bfe-9571-3ee54b758fc8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_b7412f30-a464-4662-a7e1-7b3743c38c77" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_6a04b268-b562-4bfe-9571-3ee54b758fc8" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_b7412f30-a464-4662-a7e1-7b3743c38c77" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AccruedExpensesCurrentMember_50aa5945-9878-4f2e-8dbf-017a136f497d" xlink:href="rock-20231231.xsd#rock_AccruedExpensesCurrentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_b7412f30-a464-4662-a7e1-7b3743c38c77" xlink:to="loc_rock_AccruedExpensesCurrentMember_50aa5945-9878-4f2e-8dbf-017a136f497d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_NonCurrentLiabilitiesMember_0dbe9184-a760-4eb6-9bde-face79def6c6" xlink:href="rock-20231231.xsd#rock_NonCurrentLiabilitiesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_b7412f30-a464-4662-a7e1-7b3743c38c77" xlink:to="loc_rock_NonCurrentLiabilitiesMember_0dbe9184-a760-4eb6-9bde-face79def6c6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_dad16e6e-84bc-45e9-96f8-00bb16fb5b55" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_61ba9afb-c7bc-4d34-b8ee-90f4bfe94b7a" xlink:to="loc_us-gaap_PlanNameAxis_dad16e6e-84bc-45e9-96f8-00bb16fb5b55" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_19be69e4-0dd6-4bf9-b6a2-773775cd78df" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_dad16e6e-84bc-45e9-96f8-00bb16fb5b55" xlink:to="loc_us-gaap_PlanNameDomain_19be69e4-0dd6-4bf9-b6a2-773775cd78df" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2018PlanMember_1844fa4f-7a0c-4288-9187-19bc44055b15" xlink:href="rock-20231231.xsd#rock_A2018PlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_19be69e4-0dd6-4bf9-b6a2-773775cd78df" xlink:to="loc_rock_A2018PlanMember_1844fa4f-7a0c-4288-9187-19bc44055b15" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TwoThousandEighteenEquityIncentivePlanMember_fa5f361c-8913-47a7-be25-4b5c4db4ac1f" xlink:href="rock-20231231.xsd#rock_TwoThousandEighteenEquityIncentivePlanMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_19be69e4-0dd6-4bf9-b6a2-773775cd78df" xlink:to="loc_rock_TwoThousandEighteenEquityIncentivePlanMember_fa5f361c-8913-47a7-be25-4b5c4db4ac1f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_NonEmployeeDirectorsPlanMember_5cb53564-3c29-484a-aebe-2586a26c36bd" xlink:href="rock-20231231.xsd#rock_NonEmployeeDirectorsPlanMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_19be69e4-0dd6-4bf9-b6a2-773775cd78df" xlink:to="loc_rock_NonEmployeeDirectorsPlanMember_5cb53564-3c29-484a-aebe-2586a26c36bd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ManagementStockPurchasePlanMember_c655b661-0038-44c1-8986-25c9c1f7392a" xlink:href="rock-20231231.xsd#rock_ManagementStockPurchasePlanMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_19be69e4-0dd6-4bf9-b6a2-773775cd78df" xlink:to="loc_rock_ManagementStockPurchasePlanMember_c655b661-0038-44c1-8986-25c9c1f7392a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_Amended2018PlanMember_5d8252dd-2b15-446f-aefa-657b73499309" xlink:href="rock-20231231.xsd#rock_Amended2018PlanMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_19be69e4-0dd6-4bf9-b6a2-773775cd78df" xlink:to="loc_rock_Amended2018PlanMember_5d8252dd-2b15-446f-aefa-657b73499309" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2015PlanMember_ed4a3d3c-9d14-4cd1-9174-c75db008c60c" xlink:href="rock-20231231.xsd#rock_A2015PlanMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_19be69e4-0dd6-4bf9-b6a2-773775cd78df" xlink:to="loc_rock_A2015PlanMember_ed4a3d3c-9d14-4cd1-9174-c75db008c60c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_6de0c604-7699-48ae-b121-afca3ac73469" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_61ba9afb-c7bc-4d34-b8ee-90f4bfe94b7a" xlink:to="loc_us-gaap_AwardTypeAxis_6de0c604-7699-48ae-b121-afca3ac73469" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d335f699-6b79-42ea-a222-4dae0034b30c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_6de0c604-7699-48ae-b121-afca3ac73469" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d335f699-6b79-42ea-a222-4dae0034b30c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_b09a4925-96cd-442a-8fba-fb2a7a2baabb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d335f699-6b79-42ea-a222-4dae0034b30c" xlink:to="loc_us-gaap_CommonStockMember_b09a4925-96cd-442a-8fba-fb2a7a2baabb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_463a5d1e-1e5a-4cb0-aa75-d21376460587" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PerformanceSharesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d335f699-6b79-42ea-a222-4dae0034b30c" xlink:to="loc_us-gaap_PerformanceSharesMember_463a5d1e-1e5a-4cb0-aa75-d21376460587" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_fb17a4e3-55c1-4f11-b52c-ff442f2821e3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_d335f699-6b79-42ea-a222-4dae0034b30c" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_fb17a4e3-55c1-4f11-b52c-ff442f2821e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_36f884ad-6412-472e-a9cb-3e226e90c117" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_61ba9afb-c7bc-4d34-b8ee-90f4bfe94b7a" xlink:to="loc_srt_RangeAxis_36f884ad-6412-472e-a9cb-3e226e90c117" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_dfae184e-5ab7-4e6d-af0b-28c02c261b34" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_36f884ad-6412-472e-a9cb-3e226e90c117" xlink:to="loc_srt_RangeMember_dfae184e-5ab7-4e6d-af0b-28c02c261b34" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_fa511489-4fbd-4567-ad18-af63082f3304" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_dfae184e-5ab7-4e6d-af0b-28c02c261b34" xlink:to="loc_srt_MaximumMember_fa511489-4fbd-4567-ad18-af63082f3304" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_22ac1160-f07c-42f0-9c8f-37b5c5ef906d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_61ba9afb-c7bc-4d34-b8ee-90f4bfe94b7a" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_22ac1160-f07c-42f0-9c8f-37b5c5ef906d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_4a47f492-9607-4d82-ae6d-ae87873c31c3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_22ac1160-f07c-42f0-9c8f-37b5c5ef906d" xlink:to="loc_us-gaap_EquityComponentDomain_4a47f492-9607-4d82-ae6d-ae87873c31c3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ManagementStockPurchasePlanMember_8928e56c-9bca-486e-ba0d-432e357e26dc" xlink:href="rock-20231231.xsd#rock_ManagementStockPurchasePlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_4a47f492-9607-4d82-ae6d-ae87873c31c3" xlink:to="loc_rock_ManagementStockPurchasePlanMember_8928e56c-9bca-486e-ba0d-432e357e26dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_61ba9afb-c7bc-4d34-b8ee-90f4bfe94b7a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_bccc3631-c708-4023-9cf4-fc1db2e91fbd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_bccc3631-c708-4023-9cf4-fc1db2e91fbd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_852bbb98-9b60-4ffe-8196-b8ec75fca5f3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_852bbb98-9b60-4ffe-8196-b8ec75fca5f3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_738eee53-0cb9-45bb-adb4-bc11fbfa2363" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_738eee53-0cb9-45bb-adb4-bc11fbfa2363" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_9325e667-a33b-4a12-8f8e-c3c87df0829b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_9325e667-a33b-4a12-8f8e-c3c87df0829b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_MarketPriceOfCommonStockPerShare_e6c6e8e8-a6fe-4759-aff6-a1cb46e69cf4" xlink:href="rock-20231231.xsd#rock_MarketPriceOfCommonStockPerShare"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_rock_MarketPriceOfCommonStockPerShare_e6c6e8e8-a6fe-4759-aff6-a1cb46e69cf4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_d76e3e63-68d2-43eb-a356-1d799ae52e91" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_d76e3e63-68d2-43eb-a356-1d799ae52e91" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod_9f67eb47-a7cf-4b05-a989-551263a940ce" xlink:href="rock-20231231.xsd#rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod_9f67eb47-a7cf-4b05-a989-551263a940ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_4fbf7124-b4d7-474c-b170-ec9aa9c7eae6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_4fbf7124-b4d7-474c-b170-ec9aa9c7eae6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_9af237da-8e56-45f1-9ac2-d53f521689d6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_9af237da-8e56-45f1-9ac2-d53f521689d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_18e8f49d-cde0-4e0b-98bb-c3e1fa01c855" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_18e8f49d-cde0-4e0b-98bb-c3e1fa01c855" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_2c53ce54-bb7a-448e-94f1-54d803b2451d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_2c53ce54-bb7a-448e-94f1-54d803b2451d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AccruedEquityBasedCompensation_f099bf74-77dc-47e0-a3a0-8c3ac13ee0de" xlink:href="rock-20231231.xsd#rock_AccruedEquityBasedCompensation"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_rock_AccruedEquityBasedCompensation_f099bf74-77dc-47e0-a3a0-8c3ac13ee0de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod_1ac647c9-2998-4489-95a1-1065bd1e6b35" xlink:href="rock-20231231.xsd#rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod_1ac647c9-2998-4489-95a1-1065bd1e6b35" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantOutstandingNumber_e09b39e6-619f-4764-9b4b-c5ff8d385142" xlink:href="rock-20231231.xsd#rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantOutstandingNumber"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_34b30513-e377-4ff6-8386-83fc291a173a" xlink:to="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantOutstandingNumber_e09b39e6-619f-4764-9b4b-c5ff8d385142" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofCompensationExpenseConnectionwithAwardsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#EquityBasedCompensationSummaryofCompensationExpenseConnectionwithAwardsDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofCompensationExpenseConnectionwithAwardsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAbstract_448ed10a-d489-4894-9538-ad1ef930a211" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d9c006b4-04c6-4687-80b9-8b4144ad2360" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_448ed10a-d489-4894-9538-ad1ef930a211" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d9c006b4-04c6-4687-80b9-8b4144ad2360" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_f788a621-f771-4baa-a1e4-7b7b4a42888d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d9c006b4-04c6-4687-80b9-8b4144ad2360" xlink:to="loc_us-gaap_PlanNameAxis_f788a621-f771-4baa-a1e4-7b7b4a42888d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_30ec5603-1f73-4ca6-8722-8f7bc614d362" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_f788a621-f771-4baa-a1e4-7b7b4a42888d" xlink:to="loc_us-gaap_PlanNameDomain_30ec5603-1f73-4ca6-8722-8f7bc614d362" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2015PlanMember_8687cd4c-13e8-4045-b8ca-78dde48bfec9" xlink:href="rock-20231231.xsd#rock_A2015PlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_30ec5603-1f73-4ca6-8722-8f7bc614d362" xlink:to="loc_rock_A2015PlanMember_8687cd4c-13e8-4045-b8ca-78dde48bfec9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2018PlanMember_acaf5d6a-bed4-4091-91ba-7bb8555df279" xlink:href="rock-20231231.xsd#rock_A2018PlanMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_30ec5603-1f73-4ca6-8722-8f7bc614d362" xlink:to="loc_rock_A2018PlanMember_acaf5d6a-bed4-4091-91ba-7bb8555df279" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0338d1d4-a82d-4027-bafe-209b351d5308" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_d9c006b4-04c6-4687-80b9-8b4144ad2360" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0338d1d4-a82d-4027-bafe-209b351d5308" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_0b520ffe-bbb1-4e92-af97-a96fdb518904" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0338d1d4-a82d-4027-bafe-209b351d5308" xlink:to="loc_us-gaap_ShareBasedCompensation_0b520ffe-bbb1-4e92-af97-a96fdb518904" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_fa0fd149-b6bf-46f1-8534-b16a954be8b8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_0338d1d4-a82d-4027-bafe-209b351d5308" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_fa0fd149-b6bf-46f1-8534-b16a954be8b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAbstract_30c24c7e-ef27-4315-9672-a0bb13016c61" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2fe13363-ead8-4215-a215-05f9a65ccdc3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_30c24c7e-ef27-4315-9672-a0bb13016c61" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2fe13363-ead8-4215-a215-05f9a65ccdc3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardDateAxis_73f2cf7d-89d2-456a-8665-652f874a00c7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardDateAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2fe13363-ead8-4215-a215-05f9a65ccdc3" xlink:to="loc_us-gaap_AwardDateAxis_73f2cf7d-89d2-456a-8665-652f874a00c7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardDateDomain_10054d26-1e29-4641-84b5-9d159491a8dd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardDateDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardDateAxis_73f2cf7d-89d2-456a-8665-652f874a00c7" xlink:to="loc_us-gaap_AwardDateDomain_10054d26-1e29-4641-84b5-9d159491a8dd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2019Member_22be4690-d4a6-4c46-9f00-f57ae5bb86f9" xlink:href="rock-20231231.xsd#rock_A2019Member"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardDateDomain_10054d26-1e29-4641-84b5-9d159491a8dd" xlink:to="loc_rock_A2019Member_22be4690-d4a6-4c46-9f00-f57ae5bb86f9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2018Member_61f2bf1f-1528-4ce9-a5a4-1a6d2e0e9e6c" xlink:href="rock-20231231.xsd#rock_A2018Member"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardDateDomain_10054d26-1e29-4641-84b5-9d159491a8dd" xlink:to="loc_rock_A2018Member_61f2bf1f-1528-4ce9-a5a4-1a6d2e0e9e6c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2017Member_d9d0b492-5dae-4b8b-8178-01b7670a0a6c" xlink:href="rock-20231231.xsd#rock_A2017Member"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardDateDomain_10054d26-1e29-4641-84b5-9d159491a8dd" xlink:to="loc_rock_A2017Member_d9d0b492-5dae-4b8b-8178-01b7670a0a6c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_b12a073d-dd78-49a3-ba2b-0002ca1d6a54" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2fe13363-ead8-4215-a215-05f9a65ccdc3" xlink:to="loc_us-gaap_AwardTypeAxis_b12a073d-dd78-49a3-ba2b-0002ca1d6a54" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_691d4cce-a5b5-4f0a-9cb3-a079fef6e8b6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_b12a073d-dd78-49a3-ba2b-0002ca1d6a54" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_691d4cce-a5b5-4f0a-9cb3-a079fef6e8b6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DeferredStockUnitsMember_febdd222-8d84-4b19-8c3d-8c6cf17f58ed" xlink:href="rock-20231231.xsd#rock_DeferredStockUnitsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_691d4cce-a5b5-4f0a-9cb3-a079fef6e8b6" xlink:to="loc_rock_DeferredStockUnitsMember_febdd222-8d84-4b19-8c3d-8c6cf17f58ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_91b40ff9-fa67-4b8d-9488-94825e6bfbee" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_691d4cce-a5b5-4f0a-9cb3-a079fef6e8b6" xlink:to="loc_us-gaap_RestrictedStockMember_91b40ff9-fa67-4b8d-9488-94825e6bfbee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_ee7d59a5-e998-477c-b310-db797e088561" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_691d4cce-a5b5-4f0a-9cb3-a079fef6e8b6" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_ee7d59a5-e998-477c-b310-db797e088561" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_25326602-f21e-4ef9-8148-f046b4bc30cc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PerformanceSharesMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_691d4cce-a5b5-4f0a-9cb3-a079fef6e8b6" xlink:to="loc_us-gaap_PerformanceSharesMember_25326602-f21e-4ef9-8148-f046b4bc30cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_76b779b9-3ed5-400d-a18a-0ed48d58fae0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2fe13363-ead8-4215-a215-05f9a65ccdc3" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_76b779b9-3ed5-400d-a18a-0ed48d58fae0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_33d67177-f694-4866-9bee-5dc3f90bc39c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_76b779b9-3ed5-400d-a18a-0ed48d58fae0" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_33d67177-f694-4866-9bee-5dc3f90bc39c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_df985bc4-35a1-4216-8024-0d5a50beb689" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_76b779b9-3ed5-400d-a18a-0ed48d58fae0" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_df985bc4-35a1-4216-8024-0d5a50beb689" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofRangesofOutstandingandExercisableOptionsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#EquityBasedCompensationSummaryofRangesofOutstandingandExercisableOptionsDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofRangesofOutstandingandExercisableOptionsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAbstract_0a86374b-a965-4619-b175-a8f04b0596b1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_8b261ba5-f050-4d7e-90de-251c56a909a5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_0a86374b-a965-4619-b175-a8f04b0596b1" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_8b261ba5-f050-4d7e-90de-251c56a909a5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_2e4a01ca-18bd-4ca7-9f6d-18d942d558dd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_8b261ba5-f050-4d7e-90de-251c56a909a5" xlink:to="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_2e4a01ca-18bd-4ca7-9f6d-18d942d558dd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_11182170-ffd3-4e1b-bd73-3242abb24641" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis_2e4a01ca-18bd-4ca7-9f6d-18d942d558dd" xlink:to="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_11182170-ffd3-4e1b-bd73-3242abb24641" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ExercisePriceRangeOneMember_be2f47e5-52bb-485e-9b0c-799559a2dd43" xlink:href="rock-20231231.xsd#rock_ExercisePriceRangeOneMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain_11182170-ffd3-4e1b-bd73-3242abb24641" xlink:to="loc_rock_ExercisePriceRangeOneMember_be2f47e5-52bb-485e-9b0c-799559a2dd43" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_4840cdce-50d6-47f3-8caf-29bed5391e35" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_8b261ba5-f050-4d7e-90de-251c56a909a5" xlink:to="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_4840cdce-50d6-47f3-8caf-29bed5391e35" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit_aab6999b-a7e7-4ed4-8129-0a4e0c0059d4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_4840cdce-50d6-47f3-8caf-29bed5391e35" xlink:to="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit_aab6999b-a7e7-4ed4-8129-0a4e0c0059d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_c3d92711-0f68-483b-beb8-562843e39db0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_4840cdce-50d6-47f3-8caf-29bed5391e35" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_c3d92711-0f68-483b-beb8-562843e39db0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_b12b4477-b3b3-48c3-92f1-a8769fe6e93e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_4840cdce-50d6-47f3-8caf-29bed5391e35" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_b12b4477-b3b3-48c3-92f1-a8769fe6e93e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_88575d00-242e-40ce-8d07-3c560c3c6a0d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_4840cdce-50d6-47f3-8caf-29bed5391e35" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_88575d00-242e-40ce-8d07-3c560c3c6a0d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_b390a5a9-b1be-4831-849c-3c30762797ae" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_4840cdce-50d6-47f3-8caf-29bed5391e35" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_b390a5a9-b1be-4831-849c-3c30762797ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_b88e93fe-f397-4c00-a07c-a37c5ad4ebbb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_4840cdce-50d6-47f3-8caf-29bed5391e35" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_b88e93fe-f397-4c00-a07c-a37c5ad4ebbb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofStockOptionTransactionsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#EquityBasedCompensationSummaryofStockOptionTransactionsDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofStockOptionTransactionsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAbstract_d9027bb7-fa6a-4891-ad7b-3a2d2c8caf2f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_4966d5e7-ae95-46dd-bbfa-ff8284a107fa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_d9027bb7-fa6a-4891-ad7b-3a2d2c8caf2f" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_4966d5e7-ae95-46dd-bbfa-ff8284a107fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_c77d17c9-753a-41f2-b44d-eb4570cec6ce" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_4966d5e7-ae95-46dd-bbfa-ff8284a107fa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_c77d17c9-753a-41f2-b44d-eb4570cec6ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_bb4d705e-1221-4712-9b70-5125fe3adf80" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_4966d5e7-ae95-46dd-bbfa-ff8284a107fa" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_bb4d705e-1221-4712-9b70-5125fe3adf80" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_bf718b6a-bf74-418d-bbdb-7c49c5000583" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_4966d5e7-ae95-46dd-bbfa-ff8284a107fa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_bf718b6a-bf74-418d-bbdb-7c49c5000583" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_3c9a1df0-d08e-4e94-b093-1d160420a283" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_4966d5e7-ae95-46dd-bbfa-ff8284a107fa" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_3c9a1df0-d08e-4e94-b093-1d160420a283" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_c5bf8b91-0238-4b8f-b205-f13bc9ace2a6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_d9027bb7-fa6a-4891-ad7b-3a2d2c8caf2f" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_c5bf8b91-0238-4b8f-b205-f13bc9ace2a6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_53aed5c4-8959-4af0-ae81-91d971068da1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_c5bf8b91-0238-4b8f-b205-f13bc9ace2a6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_53aed5c4-8959-4af0-ae81-91d971068da1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_87dfd212-8220-47ad-85ce-792a05a44729" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_c5bf8b91-0238-4b8f-b205-f13bc9ace2a6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_87dfd212-8220-47ad-85ce-792a05a44729" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_5c673354-94b0-4d07-83a5-23069afc6f0b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_c5bf8b91-0238-4b8f-b205-f13bc9ace2a6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_5c673354-94b0-4d07-83a5-23069afc6f0b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_4f9c57cb-53fd-4c25-a2e7-657bd281dfc3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_c5bf8b91-0238-4b8f-b205-f13bc9ace2a6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_4f9c57cb-53fd-4c25-a2e7-657bd281dfc3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_c8cffb5a-39fb-4c99-9168-310ead2057c8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_d9027bb7-fa6a-4891-ad7b-3a2d2c8caf2f" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_c8cffb5a-39fb-4c99-9168-310ead2057c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_9f6148e5-0ae3-4ed0-9dee-4e98115cd57a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_d9027bb7-fa6a-4891-ad7b-3a2d2c8caf2f" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_9f6148e5-0ae3-4ed0-9dee-4e98115cd57a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAbstract_7e35463d-a424-455f-be40-ca9b68b31566" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_616d6bc3-1180-4f69-bdd3-438e20418f9f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_7e35463d-a424-455f-be40-ca9b68b31566" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_616d6bc3-1180-4f69-bdd3-438e20418f9f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameAxis_5c311f9f-9603-4e52-8e7b-993de626095d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_616d6bc3-1180-4f69-bdd3-438e20418f9f" xlink:to="loc_us-gaap_PlanNameAxis_5c311f9f-9603-4e52-8e7b-993de626095d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PlanNameDomain_72b0afa2-cce8-4abb-b4c7-2dfdc13aff9a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_5c311f9f-9603-4e52-8e7b-993de626095d" xlink:to="loc_us-gaap_PlanNameDomain_72b0afa2-cce8-4abb-b4c7-2dfdc13aff9a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_TwoThousandEighteenEquityIncentivePlanMember_7e0d5af2-8247-448a-ad8f-f92f1e9a9dc3" xlink:href="rock-20231231.xsd#rock_TwoThousandEighteenEquityIncentivePlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_72b0afa2-cce8-4abb-b4c7-2dfdc13aff9a" xlink:to="loc_rock_TwoThousandEighteenEquityIncentivePlanMember_7e0d5af2-8247-448a-ad8f-f92f1e9a9dc3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_A2018PlanMember_100492c3-d17f-4834-9cc2-2c99cd88f974" xlink:href="rock-20231231.xsd#rock_A2018PlanMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_72b0afa2-cce8-4abb-b4c7-2dfdc13aff9a" xlink:to="loc_rock_A2018PlanMember_100492c3-d17f-4834-9cc2-2c99cd88f974" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MeasurementInputTypeAxis_75404079-b743-4d88-ae94-8bc257fff3e2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_616d6bc3-1180-4f69-bdd3-438e20418f9f" xlink:to="loc_us-gaap_MeasurementInputTypeAxis_75404079-b743-4d88-ae94-8bc257fff3e2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MeasurementInputTypeDomain_443a2df8-62a0-488f-ac0d-846985923e18" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MeasurementInputTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MeasurementInputTypeAxis_75404079-b743-4d88-ae94-8bc257fff3e2" xlink:to="loc_us-gaap_MeasurementInputTypeDomain_443a2df8-62a0-488f-ac0d-846985923e18" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember_fdefaa21-a8c8-46d9-b6fd-ddc549f2ba51" xlink:href="rock-20231231.xsd#rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MeasurementInputTypeDomain_443a2df8-62a0-488f-ac0d-846985923e18" xlink:to="loc_rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember_fdefaa21-a8c8-46d9-b6fd-ddc549f2ba51" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_0c8944ca-c7a7-4ade-bc74-287367ddb10f" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_616d6bc3-1180-4f69-bdd3-438e20418f9f" xlink:to="loc_srt_RangeAxis_0c8944ca-c7a7-4ade-bc74-287367ddb10f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_34b5bbb9-8fd1-45ed-81d2-1beef1ce4b49" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_0c8944ca-c7a7-4ade-bc74-287367ddb10f" xlink:to="loc_srt_RangeMember_34b5bbb9-8fd1-45ed-81d2-1beef1ce4b49" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_51781483-5acd-4217-98ca-8fe28d7264ee" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_34b5bbb9-8fd1-45ed-81d2-1beef1ce4b49" xlink:to="loc_srt_MinimumMember_51781483-5acd-4217-98ca-8fe28d7264ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_04952244-f488-4eab-9ffd-631de0cac5b1" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_34b5bbb9-8fd1-45ed-81d2-1beef1ce4b49" xlink:to="loc_srt_MaximumMember_04952244-f488-4eab-9ffd-631de0cac5b1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_5e5d09d5-94f1-496f-a256-e8a678bd1f80" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_616d6bc3-1180-4f69-bdd3-438e20418f9f" xlink:to="loc_us-gaap_AwardTypeAxis_5e5d09d5-94f1-496f-a256-e8a678bd1f80" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_9743aecd-7747-4396-b86b-65780217468b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_5e5d09d5-94f1-496f-a256-e8a678bd1f80" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_9743aecd-7747-4396-b86b-65780217468b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_f59f04f0-3aa6-424d-8173-ed4fd1c77658" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_9743aecd-7747-4396-b86b-65780217468b" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_f59f04f0-3aa6-424d-8173-ed4fd1c77658" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_c198d837-9933-45d1-8b4a-6943ca498c74" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_9743aecd-7747-4396-b86b-65780217468b" xlink:to="loc_us-gaap_RestrictedStockMember_c198d837-9933-45d1-8b4a-6943ca498c74" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PerformanceSharesMember_aea28bd7-89f6-4b7a-88ed-921d9551c381" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PerformanceSharesMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_9743aecd-7747-4396-b86b-65780217468b" xlink:to="loc_us-gaap_PerformanceSharesMember_aea28bd7-89f6-4b7a-88ed-921d9551c381" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DeferredStockUnitsMember_718f0731-9ee8-4d14-99b0-02cdbf9cf443" xlink:href="rock-20231231.xsd#rock_DeferredStockUnitsMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_9743aecd-7747-4396-b86b-65780217468b" xlink:to="loc_rock_DeferredStockUnitsMember_718f0731-9ee8-4d14-99b0-02cdbf9cf443" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee10c90e-495b-40d6-8876-3860e65270a1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_616d6bc3-1180-4f69-bdd3-438e20418f9f" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee10c90e-495b-40d6-8876-3860e65270a1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_35ed674b-fbfe-4408-953e-5d3cd885d902" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee10c90e-495b-40d6-8876-3860e65270a1" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_35ed674b-fbfe-4408-953e-5d3cd885d902" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_1874e645-8956-4e26-a5b4-64d03069f0ed" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_35ed674b-fbfe-4408-953e-5d3cd885d902" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_1874e645-8956-4e26-a5b4-64d03069f0ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_32a656bf-577b-4ab7-aaa8-89a6e83ac8de" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_35ed674b-fbfe-4408-953e-5d3cd885d902" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_32a656bf-577b-4ab7-aaa8-89a6e83ac8de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod_03a6aeac-4fce-48ef-b9c5-d23aceb8317b" xlink:href="rock-20231231.xsd#rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_35ed674b-fbfe-4408-953e-5d3cd885d902" xlink:to="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod_03a6aeac-4fce-48ef-b9c5-d23aceb8317b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_b7fe45d0-f3b7-4d8e-9abb-970fcc23d323" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_35ed674b-fbfe-4408-953e-5d3cd885d902" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_b7fe45d0-f3b7-4d8e-9abb-970fcc23d323" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_4490d994-f5a0-4643-a0d5-55073ef3470f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_35ed674b-fbfe-4408-953e-5d3cd885d902" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_4490d994-f5a0-4643-a0d5-55073ef3470f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_4b7302d9-6818-49cb-9cf0-05b76e0da138" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_35ed674b-fbfe-4408-953e-5d3cd885d902" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_4b7302d9-6818-49cb-9cf0-05b76e0da138" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_a5b96902-8181-4edf-b6d7-176d9c371948" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee10c90e-495b-40d6-8876-3860e65270a1" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_a5b96902-8181-4edf-b6d7-176d9c371948" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_92eb82ec-e914-41be-bf31-93d8591fa1e3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_a5b96902-8181-4edf-b6d7-176d9c371948" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_92eb82ec-e914-41be-bf31-93d8591fa1e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_69b3d602-d9b3-4969-8b72-aeee772d4266" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_a5b96902-8181-4edf-b6d7-176d9c371948" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_69b3d602-d9b3-4969-8b72-aeee772d4266" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue_83f18c7e-6070-440b-a8ba-92458962013e" xlink:href="rock-20231231.xsd#rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_a5b96902-8181-4edf-b6d7-176d9c371948" xlink:to="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue_83f18c7e-6070-440b-a8ba-92458962013e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_f79d9de8-3f1c-4802-a795-54b0b1fc7873" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_a5b96902-8181-4edf-b6d7-176d9c371948" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_f79d9de8-3f1c-4802-a795-54b0b1fc7873" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_709abbd5-bbb8-4337-abd6-ad58eb3aad4f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_a5b96902-8181-4edf-b6d7-176d9c371948" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_709abbd5-bbb8-4337-abd6-ad58eb3aad4f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_6b843dc9-8070-4a6d-88ac-bf71ce03f443" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_a5b96902-8181-4edf-b6d7-176d9c371948" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_6b843dc9-8070-4a6d-88ac-bf71ce03f443" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent_b2f98122-2591-4b99-9abe-25f683e44fda" xlink:href="rock-20231231.xsd#rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee10c90e-495b-40d6-8876-3860e65270a1" xlink:to="loc_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent_b2f98122-2591-4b99-9abe-25f683e44fda" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod_e3cac280-7382-42aa-976c-a5e8d085c509" xlink:href="rock-20231231.xsd#rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee10c90e-495b-40d6-8876-3860e65270a1" xlink:to="loc_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod_e3cac280-7382-42aa-976c-a5e8d085c509" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved_ef81fbdf-3636-41a4-b323-9ec2fb615f87" xlink:href="rock-20231231.xsd#rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee10c90e-495b-40d6-8876-3860e65270a1" xlink:to="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved_ef81fbdf-3636-41a4-b323-9ec2fb615f87" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetPortionGranted_e1bac505-8a57-4b09-b530-e964b4db6ecb" xlink:href="rock-20231231.xsd#rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetPortionGranted"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_ee10c90e-495b-40d6-8876-3860e65270a1" xlink:to="loc_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetPortionGranted_e1bac505-8a57-4b09-b530-e964b4db6ecb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationAggregateIntrinsicValueofOptionsExercisedandAggregateFairValueofRestrictedStockUnitsandRestrictedSharesthatVestedDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#EquityBasedCompensationAggregateIntrinsicValueofOptionsExercisedandAggregateFairValueofRestrictedStockUnitsandRestrictedSharesthatVestedDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/EquityBasedCompensationAggregateIntrinsicValueofOptionsExercisedandAggregateFairValueofRestrictedStockUnitsandRestrictedSharesthatVestedDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAbstract_133444df-7d9c-4681-a32e-8659b05ec1a8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_f25d2bd7-8992-418c-b6bd-2df6aee23f6a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_133444df-7d9c-4681-a32e-8659b05ec1a8" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_f25d2bd7-8992-418c-b6bd-2df6aee23f6a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_aca571d6-fe12-4a3d-b8f0-4dc34adcfa1d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_f25d2bd7-8992-418c-b6bd-2df6aee23f6a" xlink:to="loc_us-gaap_AwardTypeAxis_aca571d6-fe12-4a3d-b8f0-4dc34adcfa1d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_76c7532c-f595-4005-87b6-31219de4c7da" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_aca571d6-fe12-4a3d-b8f0-4dc34adcfa1d" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_76c7532c-f595-4005-87b6-31219de4c7da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_7ab37797-b6d3-4419-a433-5e37b9870ea1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_76c7532c-f595-4005-87b6-31219de4c7da" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_7ab37797-b6d3-4419-a433-5e37b9870ea1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockMember_0e646db9-8feb-4a63-8b67-3341a053bb02" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_76c7532c-f595-4005-87b6-31219de4c7da" xlink:to="loc_us-gaap_RestrictedStockMember_0e646db9-8feb-4a63-8b67-3341a053bb02" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_PerformanceStockUnitsMember_e00586f0-cab0-4bf1-8e29-661f9d2eb33e" xlink:href="rock-20231231.xsd#rock_PerformanceStockUnitsMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_76c7532c-f595-4005-87b6-31219de4c7da" xlink:to="loc_rock_PerformanceStockUnitsMember_e00586f0-cab0-4bf1-8e29-661f9d2eb33e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DeferredStockUnitsMember_a4bc5f8f-a131-4c27-be8b-3ab2baea2113" xlink:href="rock-20231231.xsd#rock_DeferredStockUnitsMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_76c7532c-f595-4005-87b6-31219de4c7da" xlink:to="loc_rock_DeferredStockUnitsMember_a4bc5f8f-a131-4c27-be8b-3ab2baea2113" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e05cab29-220b-413c-94f0-b71a29d670eb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_f25d2bd7-8992-418c-b6bd-2df6aee23f6a" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e05cab29-220b-413c-94f0-b71a29d670eb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_74b063c1-1608-48e5-85ad-99e66973b72e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e05cab29-220b-413c-94f0-b71a29d670eb" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_74b063c1-1608-48e5-85ad-99e66973b72e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_98358f7b-8a6e-4b60-a3e7-e43976295422" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_e05cab29-220b-413c-94f0-b71a29d670eb" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_98358f7b-8a6e-4b60-a3e7-e43976295422" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EquityBasedCompensationCashPaidtoSettleLiabilityAwardsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#EquityBasedCompensationCashPaidtoSettleLiabilityAwardsDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/EquityBasedCompensationCashPaidtoSettleLiabilityAwardsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationAbstract_996c7e63-1580-49ff-b921-e96ea7df74e7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b0954c83-6bb5-46bb-bcc7-10258c446dc3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationAbstract_996c7e63-1580-49ff-b921-e96ea7df74e7" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b0954c83-6bb5-46bb-bcc7-10258c446dc3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualAxis_33428ff6-2bfc-4ca6-9bbe-bee343c56127" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b0954c83-6bb5-46bb-bcc7-10258c446dc3" xlink:to="loc_srt_TitleOfIndividualAxis_33428ff6-2bfc-4ca6-9bbe-bee343c56127" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_565db0a2-6ac5-4efb-a884-29d2334732e2" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualAxis_33428ff6-2bfc-4ca6-9bbe-bee343c56127" xlink:to="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_565db0a2-6ac5-4efb-a884-29d2334732e2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ManagementMember_d8ac0685-c69d-4678-b95a-d1c8302f5cb9" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ManagementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_TitleOfIndividualWithRelationshipToEntityDomain_565db0a2-6ac5-4efb-a884-29d2334732e2" xlink:to="loc_srt_ManagementMember_d8ac0685-c69d-4678-b95a-d1c8302f5cb9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AwardTypeAxis_ed8ae0ff-505b-4594-aff4-aafe11f7cd71" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b0954c83-6bb5-46bb-bcc7-10258c446dc3" xlink:to="loc_us-gaap_AwardTypeAxis_ed8ae0ff-505b-4594-aff4-aafe11f7cd71" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_70cb8c90-e034-499c-ab64-861f63dc36e9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_ed8ae0ff-505b-4594-aff4-aafe11f7cd71" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_70cb8c90-e034-499c-ab64-861f63dc36e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestrictedStockUnitsRSUMember_4e208aaf-649d-41b1-b259-2f185360b177" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_70cb8c90-e034-499c-ab64-861f63dc36e9" xlink:to="loc_us-gaap_RestrictedStockUnitsRSUMember_4e208aaf-649d-41b1-b259-2f185360b177" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_cf152248-ca51-465c-b06d-1b715d57aef6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b0954c83-6bb5-46bb-bcc7-10258c446dc3" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_cf152248-ca51-465c-b06d-1b715d57aef6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_1fdd4821-8e0e-4b73-9360-26ddf75006ed" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_cf152248-ca51-465c-b06d-1b715d57aef6" xlink:to="loc_us-gaap_EquityComponentDomain_1fdd4821-8e0e-4b73-9360-26ddf75006ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ManagementStockPurchasePlanMember_bd06ac80-caa8-412a-b658-de8938385027" xlink:href="rock-20231231.xsd#rock_ManagementStockPurchasePlanMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_1fdd4821-8e0e-4b73-9360-26ddf75006ed" xlink:to="loc_rock_ManagementStockPurchasePlanMember_bd06ac80-caa8-412a-b658-de8938385027" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc3f7e70-6580-4871-aeef-09699fa0c7a4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_b0954c83-6bb5-46bb-bcc7-10258c446dc3" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc3f7e70-6580-4871-aeef-09699fa0c7a4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_e692a4a6-5e47-43fc-8155-496dc5c2584a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc3f7e70-6580-4871-aeef-09699fa0c7a4" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted_e692a4a6-5e47-43fc-8155-496dc5c2584a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_4b490c7b-83f7-4edd-9d1b-7e6cb46c0d67" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc3f7e70-6580-4871-aeef-09699fa0c7a4" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber_4b490c7b-83f7-4edd-9d1b-7e6cb46c0d67" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid_faa7fdf9-22ec-43d2-ae9b-c49a58494133" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc3f7e70-6580-4871-aeef-09699fa0c7a4" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid_faa7fdf9-22ec-43d2-ae9b-c49a58494133" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ManagementStockPurchasePlanCompensationExpense_a62eeb27-01c3-4bab-b4cc-e7d19146f873" xlink:href="rock-20231231.xsd#rock_ManagementStockPurchasePlanCompensationExpense"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_fc3f7e70-6580-4871-aeef-09699fa0c7a4" xlink:to="loc_rock_ManagementStockPurchasePlanCompensationExpense_a62eeb27-01c3-4bab-b4cc-e7d19146f873" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/FairValueMeasurementsNarrativeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#FairValueMeasurementsNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/FairValueMeasurementsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_86939148-8c20-49d7-9454-a6b9e4f667bf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfExtinguishmentOfDebtTable_9cd8596f-6c4d-4a59-8f8f-c7608e154d9c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfExtinguishmentOfDebtTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_86939148-8c20-49d7-9454-a6b9e4f667bf" xlink:to="loc_us-gaap_ScheduleOfExtinguishmentOfDebtTable_9cd8596f-6c4d-4a59-8f8f-c7608e154d9c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_b7450d6b-d979-43de-9e68-0575b8f74542" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfExtinguishmentOfDebtTable_9cd8596f-6c4d-4a59-8f8f-c7608e154d9c" xlink:to="loc_us-gaap_CreditFacilityAxis_b7450d6b-d979-43de-9e68-0575b8f74542" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_6e195f57-330c-491b-819f-cc2f3f8dc7a7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityAxis_b7450d6b-d979-43de-9e68-0575b8f74542" xlink:to="loc_us-gaap_CreditFacilityDomain_6e195f57-330c-491b-819f-cc2f3f8dc7a7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_016d88e7-b443-4821-acde-5da2822fd766" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityDomain_6e195f57-330c-491b-819f-cc2f3f8dc7a7" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_016d88e7-b443-4821-acde-5da2822fd766" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_31ddfbbf-f34d-4f99-8a99-8b4dd93369fe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfExtinguishmentOfDebtTable_9cd8596f-6c4d-4a59-8f8f-c7608e154d9c" xlink:to="loc_us-gaap_DebtInstrumentAxis_31ddfbbf-f34d-4f99-8a99-8b4dd93369fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_609fa5f5-5560-4240-a34f-e36dfb18bf05" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_31ddfbbf-f34d-4f99-8a99-8b4dd93369fe" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_609fa5f5-5560-4240-a34f-e36dfb18bf05" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SeniorCreditAgreementMember_da48807d-89a4-4288-8d52-839a88ac76b0" xlink:href="rock-20231231.xsd#rock_SeniorCreditAgreementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_609fa5f5-5560-4240-a34f-e36dfb18bf05" xlink:to="loc_rock_SeniorCreditAgreementMember_da48807d-89a4-4288-8d52-839a88ac76b0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ExtinguishmentOfDebtLineItems_4dc62bba-c9ec-4fc1-8a96-03f37a3e809c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ExtinguishmentOfDebtLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfExtinguishmentOfDebtTable_9cd8596f-6c4d-4a59-8f8f-c7608e154d9c" xlink:to="loc_us-gaap_ExtinguishmentOfDebtLineItems_4dc62bba-c9ec-4fc1-8a96-03f37a3e809c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermDebt_de6761b4-5dda-438e-bd78-eede68b1b52f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ExtinguishmentOfDebtLineItems_4dc62bba-c9ec-4fc1-8a96-03f37a3e809c" xlink:to="loc_us-gaap_LongTermDebt_de6761b4-5dda-438e-bd78-eede68b1b52f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#DiscontinuedOperationsNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_5a4d6527-e797-45c4-b613-a55196575695" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_54dcab87-580a-473b-abc4-2777a9cc00e3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_5a4d6527-e797-45c4-b613-a55196575695" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_54dcab87-580a-473b-abc4-2777a9cc00e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis_2112dbcc-8370-439a-8899-a5152ff63b67" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupClassificationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_54dcab87-580a-473b-abc4-2777a9cc00e3" xlink:to="loc_us-gaap_DisposalGroupClassificationAxis_2112dbcc-8370-439a-8899-a5152ff63b67" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_ce31f966-1bde-44ee-b1be-fdae915368e1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupClassificationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_2112dbcc-8370-439a-8899-a5152ff63b67" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_ce31f966-1bde-44ee-b1be-fdae915368e1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_da21b248-fce8-4e7a-9c94-de4e6e29e547" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_ce31f966-1bde-44ee-b1be-fdae915368e1" xlink:to="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_da21b248-fce8-4e7a-9c94-de4e6e29e547" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupDisposedOfBySaleNotDiscontinuedOperationsMember_c7d197f6-67ae-4f88-aa38-d598007fb726" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupDisposedOfBySaleNotDiscontinuedOperationsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_ce31f966-1bde-44ee-b1be-fdae915368e1" xlink:to="loc_us-gaap_DisposalGroupDisposedOfBySaleNotDiscontinuedOperationsMember_c7d197f6-67ae-4f88-aa38-d598007fb726" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_b1c78825-03a5-4a89-a19b-e39edce9f94d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_54dcab87-580a-473b-abc4-2777a9cc00e3" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_b1c78825-03a5-4a89-a19b-e39edce9f94d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_d5272add-b46a-4e81-be56-d91daeea3a0b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_b1c78825-03a5-4a89-a19b-e39edce9f94d" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_d5272add-b46a-4e81-be56-d91daeea3a0b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_IndustrialBusinessSegmentMember_b3b09df8-cbc4-4846-8ae8-4b9dcefcccf2" xlink:href="rock-20231231.xsd#rock_IndustrialBusinessSegmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_d5272add-b46a-4e81-be56-d91daeea3a0b" xlink:to="loc_rock_IndustrialBusinessSegmentMember_b3b09df8-cbc4-4846-8ae8-4b9dcefcccf2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_JapanBasedSolarRackingBusinessMember_e10dbfe5-aab5-4cd2-994e-37eaa21b000b" xlink:href="rock-20231231.xsd#rock_JapanBasedSolarRackingBusinessMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_d5272add-b46a-4e81-be56-d91daeea3a0b" xlink:to="loc_rock_JapanBasedSolarRackingBusinessMember_e10dbfe5-aab5-4cd2-994e-37eaa21b000b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_1024dc97-0372-4083-aeb2-0a298ddc434e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable_54dcab87-580a-473b-abc4-2777a9cc00e3" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_1024dc97-0372-4083-aeb2-0a298ddc434e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_4d6eb6bc-7fd8-4333-9966-b9cbac1df49b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_1024dc97-0372-4083-aeb2-0a298ddc434e" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_4d6eb6bc-7fd8-4333-9966-b9cbac1df49b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1_34084df2-16ce-47a8-9909-a9b5799dd1c5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_1024dc97-0372-4083-aeb2-0a298ddc434e" xlink:to="loc_us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1_34084df2-16ce-47a8-9909-a9b5799dd1c5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_ace04ff4-4a3a-4594-8fcd-c274c8f3a50e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_1024dc97-0372-4083-aeb2-0a298ddc434e" xlink:to="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_ace04ff4-4a3a-4594-8fcd-c274c8f3a50e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfBusiness_6d810ac6-a41e-4953-b627-e2f5ed9a809a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfBusiness"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_1024dc97-0372-4083-aeb2-0a298ddc434e" xlink:to="loc_us-gaap_GainLossOnSaleOfBusiness_6d810ac6-a41e-4953-b627-e2f5ed9a809a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_1cfcd7cc-9ada-46cf-9d80-8450e160219f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_1024dc97-0372-4083-aeb2-0a298ddc434e" xlink:to="loc_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_1cfcd7cc-9ada-46cf-9d80-8450e160219f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue_49f139ea-acfd-4b23-9f97-f99015e87837" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_1024dc97-0372-4083-aeb2-0a298ddc434e" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue_49f139ea-acfd-4b23-9f97-f99015e87837" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationOperatingExpense_14e65fd1-462a-4943-a2e1-545e9700681b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationOperatingExpense"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_1024dc97-0372-4083-aeb2-0a298ddc434e" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationOperatingExpense_14e65fd1-462a-4943-a2e1-545e9700681b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax_632a49ae-00bd-4055-8410-fed36ba7c9af" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_1024dc97-0372-4083-aeb2-0a298ddc434e" xlink:to="loc_us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax_632a49ae-00bd-4055-8410-fed36ba7c9af" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries_a2bdcb71-6ffd-48b4-8133-70f3db6a320a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_1024dc97-0372-4083-aeb2-0a298ddc434e" xlink:to="loc_us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries_a2bdcb71-6ffd-48b4-8133-70f3db6a320a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag_8414ecdc-f4a3-4a15-a1db-79d54bd24d1b" xlink:href="rock-20231231.xsd#rock_DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems_1024dc97-0372-4083-aeb2-0a298ddc434e" xlink:to="loc_rock_DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag_8414ecdc-f4a3-4a15-a1db-79d54bd24d1b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsNarrativeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#ExitActivityCostsandAssetImpairmentsNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_a54fe338-9397-403e-9590-405753be8714" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RestructuringandRelatedCostNumberofFacilitiestobeClosed_888739f3-caef-4a24-9dd6-18216927caa5" xlink:href="rock-20231231.xsd#rock_RestructuringandRelatedCostNumberofFacilitiestobeClosed"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_a54fe338-9397-403e-9590-405753be8714" xlink:to="loc_rock_RestructuringandRelatedCostNumberofFacilitiestobeClosed_888739f3-caef-4a24-9dd6-18216927caa5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RestructuringAndRelatedCostNumberOfFacilitiesRelocated_1806dab7-f783-46c6-9343-793de292d891" xlink:href="rock-20231231.xsd#rock_RestructuringAndRelatedCostNumberOfFacilitiesRelocated"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_a54fe338-9397-403e-9590-405753be8714" xlink:to="loc_rock_RestructuringAndRelatedCostNumberOfFacilitiesRelocated_1806dab7-f783-46c6-9343-793de292d891" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GainLossOnSaleOfBusiness_80f296ef-4c95-4011-b9ac-3ff8cd3ca802" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfBusiness"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_a54fe338-9397-403e-9590-405753be8714" xlink:to="loc_us-gaap_GainLossOnSaleOfBusiness_80f296ef-4c95-4011-b9ac-3ff8cd3ca802" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsScheduleOfAssetImpairmentChargesRelatedToRestructuringActivitiesDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#ExitActivityCostsandAssetImpairmentsScheduleOfAssetImpairmentChargesRelatedToRestructuringActivitiesDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsScheduleOfAssetImpairmentChargesRelatedToRestructuringActivitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_1ba6134a-ca61-48ee-b5da-e45f868e0698" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_4e64e738-d60f-4199-888e-43a53571e016" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_1ba6134a-ca61-48ee-b5da-e45f868e0698" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_4e64e738-d60f-4199-888e-43a53571e016" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_5c377ca3-0641-4047-b088-c9c32fda711f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_4e64e738-d60f-4199-888e-43a53571e016" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_5c377ca3-0641-4047-b088-c9c32fda711f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_5dbfdb46-fc2e-4210-a73a-520ecbb1a00a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_5c377ca3-0641-4047-b088-c9c32fda711f" xlink:to="loc_us-gaap_SegmentDomain_5dbfdb46-fc2e-4210-a73a-520ecbb1a00a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewablesMember_accaca7a-2c40-4c8c-afab-93bed73696bf" xlink:href="rock-20231231.xsd#rock_RenewablesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_5dbfdb46-fc2e-4210-a73a-520ecbb1a00a" xlink:to="loc_rock_RenewablesMember_accaca7a-2c40-4c8c-afab-93bed73696bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialMember_2c0e905b-9b39-4d97-aa9b-eaf3f4fd058e" xlink:href="rock-20231231.xsd#rock_ResidentialMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_5dbfdb46-fc2e-4210-a73a-520ecbb1a00a" xlink:to="loc_rock_ResidentialMember_2c0e905b-9b39-4d97-aa9b-eaf3f4fd058e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember_6030b759-e115-4dde-8af3-05d0d7ed0acd" xlink:href="rock-20231231.xsd#rock_InfrastructureMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_5dbfdb46-fc2e-4210-a73a-520ecbb1a00a" xlink:to="loc_rock_InfrastructureMember_6030b759-e115-4dde-8af3-05d0d7ed0acd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AgtechMember_0308c06a-97ae-4f5a-b8a7-5fef76115ea7" xlink:href="rock-20231231.xsd#rock_AgtechMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_5dbfdb46-fc2e-4210-a73a-520ecbb1a00a" xlink:to="loc_rock_AgtechMember_0308c06a-97ae-4f5a-b8a7-5fef76115ea7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_1495858a-affe-42a8-9316-09e14d5b0fb5" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_4e64e738-d60f-4199-888e-43a53571e016" xlink:to="loc_srt_ConsolidationItemsAxis_1495858a-affe-42a8-9316-09e14d5b0fb5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_1c26d66e-abb4-4d62-8806-c962d3de4e52" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsAxis_1495858a-affe-42a8-9316-09e14d5b0fb5" xlink:to="loc_srt_ConsolidationItemsDomain_1c26d66e-abb4-4d62-8806-c962d3de4e52" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_4d936b9e-343a-4c9b-944e-dc181afdd1d0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_1c26d66e-abb4-4d62-8806-c962d3de4e52" xlink:to="loc_us-gaap_OperatingSegmentsMember_4d936b9e-343a-4c9b-944e-dc181afdd1d0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember_e14e914e-5b80-412d-9921-0db40d14682c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_1c26d66e-abb4-4d62-8806-c962d3de4e52" xlink:to="loc_us-gaap_CorporateNonSegmentMember_e14e914e-5b80-412d-9921-0db40d14682c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems_1caf2502-9552-43e8-b92a-e1be99fc8654" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCostAndReserveLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_4e64e738-d60f-4199-888e-43a53571e016" xlink:to="loc_us-gaap_RestructuringCostAndReserveLineItems_1caf2502-9552-43e8-b92a-e1be99fc8654" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessExitCosts1_a5a08985-b15d-4fb5-b8c7-04e30deb2e9d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessExitCosts1"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_1caf2502-9552-43e8-b92a-e1be99fc8654" xlink:to="loc_us-gaap_BusinessExitCosts1_a5a08985-b15d-4fb5-b8c7-04e30deb2e9d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringSettlementAndImpairmentProvisions_a57023f4-02b2-417d-bd5f-ec5d3bebc8c1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringSettlementAndImpairmentProvisions"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_1caf2502-9552-43e8-b92a-e1be99fc8654" xlink:to="loc_us-gaap_RestructuringSettlementAndImpairmentProvisions_a57023f4-02b2-417d-bd5f-ec5d3bebc8c1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCharges_fe29091a-6309-4515-ab93-6eb7bb85e87f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCharges"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_1caf2502-9552-43e8-b92a-e1be99fc8654" xlink:to="loc_us-gaap_RestructuringCharges_fe29091a-6309-4515-ab93-6eb7bb85e87f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryOfExitActivityCostsAndAssetImpairmentsRecordedintheConsolidatedStatementsofOperationsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#ExitActivityCostsandAssetImpairmentsSummaryOfExitActivityCostsAndAssetImpairmentsRecordedintheConsolidatedStatementsofOperationsDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryOfExitActivityCostsAndAssetImpairmentsRecordedintheConsolidatedStatementsofOperationsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_38acba6b-4a2d-4e13-801a-727a10a6b1a1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_24bb2500-a9a1-4d9e-8de7-ee815334d617" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRestructuringAndRelatedCostsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_38acba6b-4a2d-4e13-801a-727a10a6b1a1" xlink:to="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_24bb2500-a9a1-4d9e-8de7-ee815334d617" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveAxis_e2145453-6033-40f2-8b7b-a3509f165b14" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCostAndReserveAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_24bb2500-a9a1-4d9e-8de7-ee815334d617" xlink:to="loc_us-gaap_RestructuringCostAndReserveAxis_e2145453-6033-40f2-8b7b-a3509f165b14" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TypeOfRestructuringDomain_0c94234f-c9ad-4c88-82f3-81fb0f0800e3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfRestructuringDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveAxis_e2145453-6033-40f2-8b7b-a3509f165b14" xlink:to="loc_us-gaap_TypeOfRestructuringDomain_0c94234f-c9ad-4c88-82f3-81fb0f0800e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfSalesMember_ccf390fa-dd06-41dc-9803-c7806e72978c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_0c94234f-c9ad-4c88-82f3-81fb0f0800e3" xlink:to="loc_us-gaap_CostOfSalesMember_ccf390fa-dd06-41dc-9803-c7806e72978c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_SellingGeneralAndAdministrativeExpenseMember_7a41adfd-ac72-4a37-9144-da5112a340ff" xlink:href="rock-20231231.xsd#rock_SellingGeneralAndAdministrativeExpenseMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TypeOfRestructuringDomain_0c94234f-c9ad-4c88-82f3-81fb0f0800e3" xlink:to="loc_rock_SellingGeneralAndAdministrativeExpenseMember_7a41adfd-ac72-4a37-9144-da5112a340ff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCostAndReserveLineItems_fc577a81-ec33-440b-973d-7d37957aef93" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCostAndReserveLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRestructuringAndRelatedCostsTable_24bb2500-a9a1-4d9e-8de7-ee815334d617" xlink:to="loc_us-gaap_RestructuringCostAndReserveLineItems_fc577a81-ec33-440b-973d-7d37957aef93" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringCharges_71ec9402-7c1f-4b1b-add6-b86489742414" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringCharges"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringCostAndReserveLineItems_fc577a81-ec33-440b-973d-7d37957aef93" xlink:to="loc_us-gaap_RestructuringCharges_71ec9402-7c1f-4b1b-add6-b86489742414" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsReconcilesOfLiabilityForExitActivityCostsRelatingToFacilityConsolidationEffortsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#ExitActivityCostsandAssetImpairmentsReconcilesOfLiabilityForExitActivityCostsRelatingToFacilityConsolidationEffortsDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsReconcilesOfLiabilityForExitActivityCostsRelatingToFacilityConsolidationEffortsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_fa0b40c5-1479-4d6f-9568-7c9c9442d159" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringAndRelatedActivitiesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserveRollForward_4d3ff6c8-b5ea-4df2-9638-6f30a62c0349" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringReserveRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringAndRelatedActivitiesAbstract_fa0b40c5-1479-4d6f-9568-7c9c9442d159" xlink:to="loc_us-gaap_RestructuringReserveRollForward_4d3ff6c8-b5ea-4df2-9638-6f30a62c0349" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_96726b44-174f-4030-abbb-3bcead68e3c9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringReserve"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringReserveRollForward_4d3ff6c8-b5ea-4df2-9638-6f30a62c0349" xlink:to="loc_us-gaap_RestructuringReserve_96726b44-174f-4030-abbb-3bcead68e3c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessExitCosts1_0ee7d625-2d82-4c7b-bf60-795a1538b326" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessExitCosts1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringReserveRollForward_4d3ff6c8-b5ea-4df2-9638-6f30a62c0349" xlink:to="loc_us-gaap_BusinessExitCosts1_0ee7d625-2d82-4c7b-bf60-795a1538b326" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRestructuring_13f24fa6-a02f-4aa9-90a2-e1d479dd2731" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForRestructuring"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringReserveRollForward_4d3ff6c8-b5ea-4df2-9638-6f30a62c0349" xlink:to="loc_us-gaap_PaymentsForRestructuring_13f24fa6-a02f-4aa9-90a2-e1d479dd2731" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RestructuringReserve_b0a9fe76-a616-4029-8a2a-5a94466c59d7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestructuringReserve"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RestructuringReserveRollForward_4d3ff6c8-b5ea-4df2-9638-6f30a62c0349" xlink:to="loc_us-gaap_RestructuringReserve_b0a9fe76-a616-4029-8a2a-5a94466c59d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/IncomeTaxesComponentsofIncomeLossbeforeTaxesfromContinuingOperationsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#IncomeTaxesComponentsofIncomeLossbeforeTaxesfromContinuingOperationsDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/IncomeTaxesComponentsofIncomeLossbeforeTaxesfromContinuingOperationsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_279f180a-a444-4031-9988-02df170f0626" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_a33b437e-2a39-4d33-a370-5f1d92c4251a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_279f180a-a444-4031-9988-02df170f0626" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_a33b437e-2a39-4d33-a370-5f1d92c4251a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_98ee76a4-e256-4c06-b6a4-2fed47d238a5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_279f180a-a444-4031-9988-02df170f0626" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_98ee76a4-e256-4c06-b6a4-2fed47d238a5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_122e479f-4f29-4131-976a-45b590f68797" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_279f180a-a444-4031-9988-02df170f0626" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_122e479f-4f29-4131-976a-45b590f68797" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#IncomeTaxesBenefitofProvisionforIncomeTaxesDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_3fdb2ee8-0b52-4337-88a5-d9210244d8db" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxContingencyTable_a7979e3f-e0a7-471d-8147-39d6281d6b6a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_3fdb2ee8-0b52-4337-88a5-d9210244d8db" xlink:to="loc_us-gaap_IncomeTaxContingencyTable_a7979e3f-e0a7-471d-8147-39d6281d6b6a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOperatingActivitiesSegmentAxis_824c0d56-8929-4d14-9474-3c8a81a262a5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOperatingActivitiesSegmentAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_a7979e3f-e0a7-471d-8147-39d6281d6b6a" xlink:to="loc_us-gaap_StatementOperatingActivitiesSegmentAxis_824c0d56-8929-4d14-9474-3c8a81a262a5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentOperatingActivitiesDomain_98d32941-2485-4413-9eee-e366a7a5c1d9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentOperatingActivitiesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOperatingActivitiesSegmentAxis_824c0d56-8929-4d14-9474-3c8a81a262a5" xlink:to="loc_us-gaap_SegmentOperatingActivitiesDomain_98d32941-2485-4413-9eee-e366a7a5c1d9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentContinuingOperationsMember_18350396-c0ef-469c-8126-c1c2d8c49ca7" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentContinuingOperationsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentOperatingActivitiesDomain_98d32941-2485-4413-9eee-e366a7a5c1d9" xlink:to="loc_us-gaap_SegmentContinuingOperationsMember_18350396-c0ef-469c-8126-c1c2d8c49ca7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxContingencyLineItems_18cd1697-cd6a-4b42-8549-c4c6ea2d14fb" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_a7979e3f-e0a7-471d-8147-39d6281d6b6a" xlink:to="loc_us-gaap_IncomeTaxContingencyLineItems_18cd1697-cd6a-4b42-8549-c4c6ea2d14fb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_8adfd833-5fef-4f14-a655-d2bdcf900e68" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_18cd1697-cd6a-4b42-8549-c4c6ea2d14fb" xlink:to="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_8adfd833-5fef-4f14-a655-d2bdcf900e68" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentFederalTaxExpenseBenefit_3876fecc-7068-4198-9eb1-0fa8af7157f4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_8adfd833-5fef-4f14-a655-d2bdcf900e68" xlink:to="loc_us-gaap_CurrentFederalTaxExpenseBenefit_3876fecc-7068-4198-9eb1-0fa8af7157f4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_786355d0-2540-49ae-87e2-4baa9ae30109" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_8adfd833-5fef-4f14-a655-d2bdcf900e68" xlink:to="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_786355d0-2540-49ae-87e2-4baa9ae30109" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentForeignTaxExpenseBenefit_59b24311-35f8-4492-86f8-5e295724251a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentForeignTaxExpenseBenefit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_8adfd833-5fef-4f14-a655-d2bdcf900e68" xlink:to="loc_us-gaap_CurrentForeignTaxExpenseBenefit_59b24311-35f8-4492-86f8-5e295724251a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_7a06b436-819c-4e24-8e94-222bcc24e9f8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_8adfd833-5fef-4f14-a655-d2bdcf900e68" xlink:to="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_7a06b436-819c-4e24-8e94-222bcc24e9f8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_3d819d9a-9b40-4f30-93d5-a5eb6e061761" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_18cd1697-cd6a-4b42-8549-c4c6ea2d14fb" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_3d819d9a-9b40-4f30-93d5-a5eb6e061761" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_106bbb6d-abe3-465a-b9c8-89d6f9e6311f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_3d819d9a-9b40-4f30-93d5-a5eb6e061761" xlink:to="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_106bbb6d-abe3-465a-b9c8-89d6f9e6311f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_e383f86b-8688-4a76-a9db-6d827fb41123" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_3d819d9a-9b40-4f30-93d5-a5eb6e061761" xlink:to="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_e383f86b-8688-4a76-a9db-6d827fb41123" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_fb79ecff-2305-48d7-b048-01d6818fffd1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_3d819d9a-9b40-4f30-93d5-a5eb6e061761" xlink:to="loc_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_fb79ecff-2305-48d7-b048-01d6818fffd1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_2e360ab1-d511-4e28-92cf-eba581399a6d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_3d819d9a-9b40-4f30-93d5-a5eb6e061761" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_2e360ab1-d511-4e28-92cf-eba581399a6d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_340e2c40-de63-45ac-a577-c750f8b890be" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_18cd1697-cd6a-4b42-8549-c4c6ea2d14fb" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_340e2c40-de63-45ac-a577-c750f8b890be" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_77107340-3030-4d99-be0e-bd8905432a4d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_c3736856-1982-43f4-837c-d1edf8db7793" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_77107340-3030-4d99-be0e-bd8905432a4d" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_c3736856-1982-43f4-837c-d1edf8db7793" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_b8e047e0-9e8d-46d8-9bbe-5d871a0fd60e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_c3736856-1982-43f4-837c-d1edf8db7793" xlink:to="loc_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_b8e047e0-9e8d-46d8-9bbe-5d871a0fd60e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_7edf4d71-983d-49a3-80a9-e92834be3c0f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_c3736856-1982-43f4-837c-d1edf8db7793" xlink:to="loc_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes_7edf4d71-983d-49a3-80a9-e92834be3c0f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationTaxCredits_c81cef9a-4e01-4474-9594-e8fa68984b02" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationTaxCredits"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_c3736856-1982-43f4-837c-d1edf8db7793" xlink:to="loc_us-gaap_IncomeTaxReconciliationTaxCredits_c81cef9a-4e01-4474-9594-e8fa68984b02" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount_6cd2814f-4712-4ca1-ac95-2c4776b78465" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_c3736856-1982-43f4-837c-d1edf8db7793" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount_6cd2814f-4712-4ca1-ac95-2c4776b78465" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount_65917b42-9f5d-498d-93c3-15014a36b76b" xlink:href="rock-20231231.xsd#rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_c3736856-1982-43f4-837c-d1edf8db7793" xlink:to="loc_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount_65917b42-9f5d-498d-93c3-15014a36b76b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReconciliationOtherAdjustments_15d62ddf-6d56-4112-8054-19fd739b49f0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_c3736856-1982-43f4-837c-d1edf8db7793" xlink:to="loc_us-gaap_IncomeTaxReconciliationOtherAdjustments_15d62ddf-6d56-4112-8054-19fd739b49f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_fa4a9770-4d77-4ea7-9aa2-44782f179823" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract_c3736856-1982-43f4-837c-d1edf8db7793" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_fa4a9770-4d77-4ea7-9aa2-44782f179823" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_c3f9c448-037d-4dd7-b416-eb46d752aa52" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_77107340-3030-4d99-be0e-bd8905432a4d" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_c3f9c448-037d-4dd7-b416-eb46d752aa52" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_893810f3-5974-4292-b58c-18e6e968dcca" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_c3f9c448-037d-4dd7-b416-eb46d752aa52" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_893810f3-5974-4292-b58c-18e6e968dcca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_0789c5c8-e78d-4c6f-8d0e-5b01402285f1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_c3f9c448-037d-4dd7-b416-eb46d752aa52" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_0789c5c8-e78d-4c6f-8d0e-5b01402285f1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_dd283980-8dd1-43c7-939c-9e51f79f2e01" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_c3f9c448-037d-4dd7-b416-eb46d752aa52" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_dd283980-8dd1-43c7-939c-9e51f79f2e01" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_f05791df-5328-4489-a6cb-5c341d733f73" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_c3f9c448-037d-4dd7-b416-eb46d752aa52" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_f05791df-5328-4489-a6cb-5c341d733f73" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent_e3113e72-5ca0-4391-94de-25847e618b81" xlink:href="rock-20231231.xsd#rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_c3f9c448-037d-4dd7-b416-eb46d752aa52" xlink:to="loc_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent_e3113e72-5ca0-4391-94de-25847e618b81" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_7607a370-07ee-4b8a-9806-399d59074ea9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_c3f9c448-037d-4dd7-b416-eb46d752aa52" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_7607a370-07ee-4b8a-9806-399d59074ea9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_31a5d11b-eecb-4517-bd90-548d1d0d64ca" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_c3f9c448-037d-4dd7-b416-eb46d752aa52" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_31a5d11b-eecb-4517-bd90-548d1d0d64ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#IncomeTaxesDeferredTaxLiabilitiesAssetsDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_15205cc7-9da5-460e-bd61-8148a070ea99" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_b9ff6685-0ce1-4a71-a1a6-7633db31b54b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_15205cc7-9da5-460e-bd61-8148a070ea99" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_b9ff6685-0ce1-4a71-a1a6-7633db31b54b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill_dbfe6058-5b5e-4bae-b2e3-0b9fedea014e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_15205cc7-9da5-460e-bd61-8148a070ea99" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill_dbfe6058-5b5e-4bae-b2e3-0b9fedea014e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesLeasingArrangements_fc6abcb3-1429-41b9-befb-993acde302e9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesLeasingArrangements"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_15205cc7-9da5-460e-bd61-8148a070ea99" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesLeasingArrangements_fc6abcb3-1429-41b9-befb-993acde302e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_78867879-777b-431c-bcf3-c3fb6a419f70" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_15205cc7-9da5-460e-bd61-8148a070ea99" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_78867879-777b-431c-bcf3-c3fb6a419f70" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesOther_b11110c5-7b85-4eec-b566-d5bf11e1fddd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesOther"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_15205cc7-9da5-460e-bd61-8148a070ea99" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesOther_b11110c5-7b85-4eec-b566-d5bf11e1fddd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilities_e1ffb132-4261-4f39-a04a-e62d28f71493" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_15205cc7-9da5-460e-bd61-8148a070ea99" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilities_e1ffb132-4261-4f39-a04a-e62d28f71493" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_cf28fa8f-b441-4972-85c0-c4a6d7ec0474" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_15205cc7-9da5-460e-bd61-8148a070ea99" xlink:to="loc_us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment_cf28fa8f-b441-4972-85c0-c4a6d7ec0474" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_990b7b30-e896-4016-a174-5c8747a1296d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_15205cc7-9da5-460e-bd61-8148a070ea99" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_990b7b30-e896-4016-a174-5c8747a1296d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DeferredTaxAssetOperatingLeases_fd5f46aa-bf58-4fb4-8854-2eb005d9ac3e" xlink:href="rock-20231231.xsd#rock_DeferredTaxAssetOperatingLeases"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_15205cc7-9da5-460e-bd61-8148a070ea99" xlink:to="loc_rock_DeferredTaxAssetOperatingLeases_fd5f46aa-bf58-4fb4-8854-2eb005d9ac3e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness_e8aa2be5-a029-4a88-9c50-38c1a1dc5515" xlink:href="rock-20231231.xsd#rock_DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_15205cc7-9da5-460e-bd61-8148a070ea99" xlink:to="loc_rock_DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness_e8aa2be5-a029-4a88-9c50-38c1a1dc5515" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsCapitalLossCarryforwards_42c1a60b-4153-4663-9ec7-d91f01b5cdb6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsCapitalLossCarryforwards"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_15205cc7-9da5-460e-bd61-8148a070ea99" xlink:to="loc_us-gaap_DeferredTaxAssetsCapitalLossCarryforwards_42c1a60b-4153-4663-9ec7-d91f01b5cdb6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOther_cc881503-c87f-4a94-901d-66b971958719" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOther"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_15205cc7-9da5-460e-bd61-8148a070ea99" xlink:to="loc_us-gaap_DeferredTaxAssetsOther_cc881503-c87f-4a94-901d-66b971958719" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsGross_1997424a-77ba-4867-9632-629191ce546d" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_15205cc7-9da5-460e-bd61-8148a070ea99" xlink:to="loc_us-gaap_DeferredTaxAssetsGross_1997424a-77ba-4867-9632-629191ce546d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_7d2cca62-81e0-4a01-a612-cb62e84f739a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_15205cc7-9da5-460e-bd61-8148a070ea99" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_7d2cca62-81e0-4a01-a612-cb62e84f739a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsNet_496526e3-d8cb-47b4-90cf-5ff0bd602699" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_15205cc7-9da5-460e-bd61-8148a070ea99" xlink:to="loc_us-gaap_DeferredTaxAssetsNet_496526e3-d8cb-47b4-90cf-5ff0bd602699" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilities_8a3029f4-dc09-4090-8a22-7c65978f6841" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilities"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_15205cc7-9da5-460e-bd61-8148a070ea99" xlink:to="loc_us-gaap_DeferredTaxLiabilities_8a3029f4-dc09-4090-8a22-7c65978f6841" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#IncomeTaxesNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_81b651c7-f974-4c1d-97cb-558f18c895b1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsTable_f34829bf-a45f-4c03-b2d4-68381754c0cd" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_81b651c7-f974-4c1d-97cb-558f18c895b1" xlink:to="loc_us-gaap_OperatingLossCarryforwardsTable_f34829bf-a45f-4c03-b2d4-68381754c0cd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_70253ee0-f797-4a80-882b-4ab789de1360" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable_f34829bf-a45f-4c03-b2d4-68381754c0cd" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_70253ee0-f797-4a80-882b-4ab789de1360" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_32afd428-0fd9-4790-a8ef-47233da739e2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_70253ee0-f797-4a80-882b-4ab789de1360" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_32afd428-0fd9-4790-a8ef-47233da739e2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DomesticCountryMember_c565d206-e5f2-4b90-a1b5-52eb438703f6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DomesticCountryMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_32afd428-0fd9-4790-a8ef-47233da739e2" xlink:to="loc_us-gaap_DomesticCountryMember_c565d206-e5f2-4b90-a1b5-52eb438703f6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StateAndLocalJurisdictionMember_07eb2492-8674-4824-8d00-c234eb27ebea" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StateAndLocalJurisdictionMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_32afd428-0fd9-4790-a8ef-47233da739e2" xlink:to="loc_us-gaap_StateAndLocalJurisdictionMember_07eb2492-8674-4824-8d00-c234eb27ebea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ForeignCountryMember_1086616d-02bc-4f20-b79c-f14530fe639a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCountryMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_32afd428-0fd9-4790-a8ef-47233da739e2" xlink:to="loc_us-gaap_ForeignCountryMember_1086616d-02bc-4f20-b79c-f14530fe639a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_a2c2ad63-7f91-4465-98e6-bfa751c0321c" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable_f34829bf-a45f-4c03-b2d4-68381754c0cd" xlink:to="loc_srt_RangeAxis_a2c2ad63-7f91-4465-98e6-bfa751c0321c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_e1867144-82d9-4765-8c23-4255d4c87088" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_a2c2ad63-7f91-4465-98e6-bfa751c0321c" xlink:to="loc_srt_RangeMember_e1867144-82d9-4765-8c23-4255d4c87088" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_bd14872a-d1f9-465c-9ccb-cd69669626f5" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_e1867144-82d9-4765-8c23-4255d4c87088" xlink:to="loc_srt_MinimumMember_bd14872a-d1f9-465c-9ccb-cd69669626f5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_5c619b60-d5c8-47a4-8850-ae9065ecc8a5" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_e1867144-82d9-4765-8c23-4255d4c87088" xlink:to="loc_srt_MaximumMember_5c619b60-d5c8-47a4-8850-ae9065ecc8a5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwardsLineItems_e640cd3a-e6f7-436f-ace9-20e03ee0df61" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwardsLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsTable_f34829bf-a45f-4c03-b2d4-68381754c0cd" xlink:to="loc_us-gaap_OperatingLossCarryforwardsLineItems_e640cd3a-e6f7-436f-ace9-20e03ee0df61" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_e298d464-5c51-4e6c-bb70-63fdcd1150a8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e640cd3a-e6f7-436f-ace9-20e03ee0df61" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_e298d464-5c51-4e6c-bb70-63fdcd1150a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLossCarryforwards_6acd33c0-5502-4a76-8846-09c68a6840cf" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e640cd3a-e6f7-436f-ace9-20e03ee0df61" xlink:to="loc_us-gaap_OperatingLossCarryforwards_6acd33c0-5502-4a76-8846-09c68a6840cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_72129f40-6172-427f-a7dd-1fa2f570ca74" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e640cd3a-e6f7-436f-ace9-20e03ee0df61" xlink:to="loc_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_72129f40-6172-427f-a7dd-1fa2f570ca74" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesUndistributedForeignEarnings_d4e512ab-10fc-4579-acaf-e3ad0227b3d9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesUndistributedForeignEarnings"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e640cd3a-e6f7-436f-ace9-20e03ee0df61" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesUndistributedForeignEarnings_d4e512ab-10fc-4579-acaf-e3ad0227b3d9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_IncomeTaxStatueOfLimitationsExpirationPeriod_139f8bd2-9ccd-4d05-bb88-1905fe15545a" xlink:href="rock-20231231.xsd#rock_IncomeTaxStatueOfLimitationsExpirationPeriod"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e640cd3a-e6f7-436f-ace9-20e03ee0df61" xlink:to="loc_rock_IncomeTaxStatueOfLimitationsExpirationPeriod_139f8bd2-9ccd-4d05-bb88-1905fe15545a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_CapitalLossCarryforward_9de6c1c7-770b-4994-9c95-6c4b7e5d3646" xlink:href="rock-20231231.xsd#rock_CapitalLossCarryforward"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e640cd3a-e6f7-436f-ace9-20e03ee0df61" xlink:to="loc_rock_CapitalLossCarryforward_9de6c1c7-770b-4994-9c95-6c4b7e5d3646" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_CapitalLossCarryforwardAmendedReturns_4bf4c400-98b3-4494-9381-87bab7e8f103" xlink:href="rock-20231231.xsd#rock_CapitalLossCarryforwardAmendedReturns"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e640cd3a-e6f7-436f-ace9-20e03ee0df61" xlink:to="loc_rock_CapitalLossCarryforwardAmendedReturns_4bf4c400-98b3-4494-9381-87bab7e8f103" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredTaxAssetsCapitalLossCarryforwards_e4b88adb-a154-4e44-a39e-ea5bfc9f86f0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsCapitalLossCarryforwards"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e640cd3a-e6f7-436f-ace9-20e03ee0df61" xlink:to="loc_us-gaap_DeferredTaxAssetsCapitalLossCarryforwards_e4b88adb-a154-4e44-a39e-ea5bfc9f86f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_bdbf4744-e877-4003-88fc-a95dfdbc7bb9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLossCarryforwardsLineItems_e640cd3a-e6f7-436f-ace9-20e03ee0df61" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_bdbf4744-e877-4003-88fc-a95dfdbc7bb9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/IncomeTaxesSummaryofValuationAllowanceDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#IncomeTaxesSummaryofValuationAllowanceDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/IncomeTaxesSummaryofValuationAllowanceDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_ea9c61a3-ce6e-4740-96bf-fc524023b5c9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_f39b1869-c198-4433-99de-4c803c502056" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_ea9c61a3-ce6e-4740-96bf-fc524023b5c9" xlink:to="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_f39b1869-c198-4433-99de-4c803c502056" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_f0265932-fd0c-4651-85ad-e2a2fe94119e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_f39b1869-c198-4433-99de-4c803c502056" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_f0265932-fd0c-4651-85ad-e2a2fe94119e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain_f90e8375-1042-4d71-87ed-7dd619e4f4c8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_f0265932-fd0c-4651-85ad-e2a2fe94119e" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDomain_f90e8375-1042-4d71-87ed-7dd619e4f4c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_dc7569b2-71ff-4aed-a8d4-917c7fcc4145" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain_f90e8375-1042-4d71-87ed-7dd619e4f4c8" xlink:to="loc_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_dc7569b2-71ff-4aed-a8d4-917c7fcc4145" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems_5b3f00e9-d06e-4a52-a016-858bbae30648" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureTable_f39b1869-c198-4433-99de-4c803c502056" xlink:to="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems_5b3f00e9-d06e-4a52-a016-858bbae30648" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_6ab16629-058f-48f0-bff7-646cdb6fd4be" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ValuationAndQualifyingAccountsDisclosureLineItems_5b3f00e9-d06e-4a52-a016-858bbae30648" xlink:to="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_6ab16629-058f-48f0-bff7-646cdb6fd4be" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance_38e82b07-ad24-4c5e-89ea-31319e2bc58a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_6ab16629-058f-48f0-bff7-646cdb6fd4be" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesBalance_38e82b07-ad24-4c5e-89ea-31319e2bc58a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_52e9c5ae-1dd8-45ba-b447-818cbe26107a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_6ab16629-058f-48f0-bff7-646cdb6fd4be" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_52e9c5ae-1dd8-45ba-b447-818cbe26107a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDeductions_7f01b842-21b0-4dfd-bdb3-c3de072ba045" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDeductions"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_6ab16629-058f-48f0-bff7-646cdb6fd4be" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDeductions_7f01b842-21b0-4dfd-bdb3-c3de072ba045" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedNetLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesAdjustments_ed2b4f98-53fb-4861-8322-7c51ad0d0ae3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesAdjustments"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_6ab16629-058f-48f0-bff7-646cdb6fd4be" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesAdjustments_ed2b4f98-53fb-4861-8322-7c51ad0d0ae3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance_0e56cdca-1141-4d9f-9b7d-55b23a3a0c3c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesBalance"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_6ab16629-058f-48f0-bff7-646cdb6fd4be" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesBalance_0e56cdca-1141-4d9f-9b7d-55b23a3a0c3c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/IncomeTaxesIncomeTaxesPaidNetofTaxRefundsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#IncomeTaxesIncomeTaxesPaidNetofTaxRefundsDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/IncomeTaxesIncomeTaxesPaidNetofTaxRefundsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_ffb0c6d2-7932-4841-8529-eab9f8e88783" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesPaidNet_76cba3c8-22a0-4274-8ca5-bd8c51cc6a5e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaidNet"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_ffb0c6d2-7932-4841-8529-eab9f8e88783" xlink:to="loc_us-gaap_IncomeTaxesPaidNet_76cba3c8-22a0-4274-8ca5-bd8c51cc6a5e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EarningsperShareNarrativeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#EarningsperShareNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/EarningsperShareNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_9329f36c-fc60-4761-893c-e58b674536ba" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_18a29659-f0e9-4c32-81ed-df91e9c59d70" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_9329f36c-fc60-4761-893c-e58b674536ba" xlink:to="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_18a29659-f0e9-4c32-81ed-df91e9c59d70" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_8fb2eafc-c13a-4556-adf3-c32a227dce66" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_18a29659-f0e9-4c32-81ed-df91e9c59d70" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_8fb2eafc-c13a-4556-adf3-c32a227dce66" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesNameDomain_86e97376-ba3d-49c3-a07d-60dd90f88853" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_8fb2eafc-c13a-4556-adf3-c32a227dce66" xlink:to="loc_us-gaap_AntidilutiveSecuritiesNameDomain_86e97376-ba3d-49c3-a07d-60dd90f88853" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_f9c92218-10cc-44b8-b0be-01d9d82c4a15" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesNameDomain_86e97376-ba3d-49c3-a07d-60dd90f88853" xlink:to="loc_us-gaap_CommonStockMember_f9c92218-10cc-44b8-b0be-01d9d82c4a15" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_bbdfe770-152d-4613-80d7-f9b4d8b0579f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_18a29659-f0e9-4c32-81ed-df91e9c59d70" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_bbdfe770-152d-4613-80d7-f9b4d8b0579f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_d31e282d-2191-4520-9cde-42ef9701e776" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_bbdfe770-152d-4613-80d7-f9b4d8b0579f" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_d31e282d-2191-4520-9cde-42ef9701e776" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/EarningsperShareScheduleofComputationofBasicandDilutedEarningsperShareDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#EarningsperShareScheduleofComputationofBasicandDilutedEarningsperShareDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/EarningsperShareScheduleofComputationofBasicandDilutedEarningsperShareDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_03c49925-07ae-4e7f-8367-1857d690313a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperations_b68099a1-6e84-499a-b5ed-c3628ba9b202" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperations"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_03c49925-07ae-4e7f-8367-1857d690313a" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperations_b68099a1-6e84-499a-b5ed-c3628ba9b202" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_33a75fb0-ad5a-4c5d-ac5c-554ce5a5ce25" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_03c49925-07ae-4e7f-8367-1857d690313a" xlink:to="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_33a75fb0-ad5a-4c5d-ac5c-554ce5a5ce25" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_7475e7fb-9b8c-48a6-a458-1c3158249742" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_03c49925-07ae-4e7f-8367-1857d690313a" xlink:to="loc_us-gaap_NetIncomeLoss_7475e7fb-9b8c-48a6-a458-1c3158249742" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_c187b38c-5a37-4090-8036-4cb8484b5355" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_03c49925-07ae-4e7f-8367-1857d690313a" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_c187b38c-5a37-4090-8036-4cb8484b5355" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_37b39a64-bfc2-4f92-8786-07c98b2ba64a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_03c49925-07ae-4e7f-8367-1857d690313a" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_37b39a64-bfc2-4f92-8786-07c98b2ba64a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_831d9ab0-eb30-4494-b4ec-739b4d1a876f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_03c49925-07ae-4e7f-8367-1857d690313a" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_831d9ab0-eb30-4494-b4ec-739b4d1a876f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/LeasesNarrativeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#LeasesNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/LeasesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_31855523-a687-4c5c-91b1-c5f408a6b1da" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionTable_8f281c19-883d-4008-a95e-f48142993d53" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_31855523-a687-4c5c-91b1-c5f408a6b1da" xlink:to="loc_us-gaap_LesseeLeaseDescriptionTable_8f281c19-883d-4008-a95e-f48142993d53" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_167923f9-8b54-4159-9b46-0c88cd0be967" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_8f281c19-883d-4008-a95e-f48142993d53" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_167923f9-8b54-4159-9b46-0c88cd0be967" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_f4c04e2b-e19e-43b4-9a7c-632c5efebe24" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_167923f9-8b54-4159-9b46-0c88cd0be967" xlink:to="loc_us-gaap_EquityComponentDomain_f4c04e2b-e19e-43b4-9a7c-632c5efebe24" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_234b749d-11ea-4a56-906c-9fd6008a7156" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_f4c04e2b-e19e-43b4-9a7c-632c5efebe24" xlink:to="loc_us-gaap_RetainedEarningsMember_234b749d-11ea-4a56-906c-9fd6008a7156" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_4e2250ce-81dc-4143-9ac5-24071235e810" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_8f281c19-883d-4008-a95e-f48142993d53" xlink:to="loc_srt_RangeAxis_4e2250ce-81dc-4143-9ac5-24071235e810" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_62ed0917-93e4-49a5-ab79-58ddb02c7d78" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_4e2250ce-81dc-4143-9ac5-24071235e810" xlink:to="loc_srt_RangeMember_62ed0917-93e4-49a5-ab79-58ddb02c7d78" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_9cd0208f-6fb0-4080-b263-d53804714718" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_62ed0917-93e4-49a5-ab79-58ddb02c7d78" xlink:to="loc_srt_MinimumMember_9cd0208f-6fb0-4080-b263-d53804714718" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_ccb1837d-0400-4a51-96fa-04acf974efc9" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_62ed0917-93e4-49a5-ab79-58ddb02c7d78" xlink:to="loc_srt_MaximumMember_ccb1837d-0400-4a51-96fa-04acf974efc9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionLineItems_ec5cdaee-40f9-4953-93ba-48f41f862f4a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_8f281c19-883d-4008-a95e-f48142993d53" xlink:to="loc_us-gaap_LesseeLeaseDescriptionLineItems_ec5cdaee-40f9-4953-93ba-48f41f862f4a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseRenewalTerm_c2cfed22-7f38-4a95-82bc-520163b4efec" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseRenewalTerm"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_ec5cdaee-40f9-4953-93ba-48f41f862f4a" xlink:to="loc_us-gaap_LesseeOperatingLeaseRenewalTerm_c2cfed22-7f38-4a95-82bc-520163b4efec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_4e85e0c8-be8b-400c-a13c-32a844788db3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_ec5cdaee-40f9-4953-93ba-48f41f862f4a" xlink:to="loc_us-gaap_StockholdersEquity_4e85e0c8-be8b-400c-a13c-32a844788db3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/LeasesAssetsandLiabilitiesofLesseeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#LeasesAssetsandLiabilitiesofLesseeDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/LeasesAssetsandLiabilitiesofLesseeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_995815c0-10be-4d53-a504-d7921b086c21" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_0353cfa2-68fd-42ac-b48e-470f713476d2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_995815c0-10be-4d53-a504-d7921b086c21" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_0353cfa2-68fd-42ac-b48e-470f713476d2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_441b36d3-aba0-492c-b9b2-e93467abcaa0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_995815c0-10be-4d53-a504-d7921b086c21" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_441b36d3-aba0-492c-b9b2-e93467abcaa0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_8245b33b-8365-4417-8a1e-ba84380b3a57" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_995815c0-10be-4d53-a504-d7921b086c21" xlink:to="loc_us-gaap_OperatingLeaseLiability_8245b33b-8365-4417-8a1e-ba84380b3a57" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/LeasesScheduleofLeaseCostandAssumptionsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#LeasesScheduleofLeaseCostandAssumptionsDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/LeasesScheduleofLeaseCostandAssumptionsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_18779785-5e0b-4c87-b11e-62a8faea1daa" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost_6c2f2a04-82e5-4f5c-9ba9-3c15054e4496" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseCost"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_18779785-5e0b-4c87-b11e-62a8faea1daa" xlink:to="loc_us-gaap_OperatingLeaseCost_6c2f2a04-82e5-4f5c-9ba9-3c15054e4496" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermLeaseCost_88e09f75-9fdd-442e-bfb2-4f76bcec5601" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermLeaseCost"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_18779785-5e0b-4c87-b11e-62a8faea1daa" xlink:to="loc_us-gaap_ShortTermLeaseCost_88e09f75-9fdd-442e-bfb2-4f76bcec5601" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCost_44e6e17b-3fe6-4366-85dd-d356e380d8e4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCost"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_18779785-5e0b-4c87-b11e-62a8faea1daa" xlink:to="loc_us-gaap_LeaseCost_44e6e17b-3fe6-4366-85dd-d356e380d8e4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeasePayments_f7dd34c5-7dd4-4790-ada9-7b834cd11d2c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_18779785-5e0b-4c87-b11e-62a8faea1daa" xlink:to="loc_us-gaap_OperatingLeasePayments_f7dd34c5-7dd4-4790-ada9-7b834cd11d2c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_44977496-731e-4e5c-8cdc-559c1dac87c3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_18779785-5e0b-4c87-b11e-62a8faea1daa" xlink:to="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_44977496-731e-4e5c-8cdc-559c1dac87c3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_6bcf20ed-27f9-4ce3-b39f-e39c02194bb5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_18779785-5e0b-4c87-b11e-62a8faea1daa" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_6bcf20ed-27f9-4ce3-b39f-e39c02194bb5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_1fbab124-b6bb-43c6-9216-b8de7a6a8d82" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_18779785-5e0b-4c87-b11e-62a8faea1daa" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_1fbab124-b6bb-43c6-9216-b8de7a6a8d82" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#LeasesMaturityofLeasePaymentsDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_c50054b2-0d12-44f2-ae35-f036de7fde81" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_320dc998-8650-4346-99c3-b9f485b34452" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_c50054b2-0d12-44f2-ae35-f036de7fde81" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_320dc998-8650-4346-99c3-b9f485b34452" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_3a762589-4124-4c35-aa4e-c3d38667e6ce" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_c50054b2-0d12-44f2-ae35-f036de7fde81" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_3a762589-4124-4c35-aa4e-c3d38667e6ce" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_de80098c-8680-42dd-be2f-ba7f46b2ddb6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_c50054b2-0d12-44f2-ae35-f036de7fde81" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_de80098c-8680-42dd-be2f-ba7f46b2ddb6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_bf906621-c623-4cb7-880b-104a025d76e6" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_c50054b2-0d12-44f2-ae35-f036de7fde81" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_bf906621-c623-4cb7-880b-104a025d76e6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_38c66bdd-9b80-4370-be31-5d8d59103c22" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_c50054b2-0d12-44f2-ae35-f036de7fde81" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_38c66bdd-9b80-4370-be31-5d8d59103c22" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_10ddea31-ff51-4629-ba9b-587e8a6dd663" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_c50054b2-0d12-44f2-ae35-f036de7fde81" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_10ddea31-ff51-4629-ba9b-587e8a6dd663" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_1d21d8cc-4a1f-4f29-8c67-50b08625305a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_c50054b2-0d12-44f2-ae35-f036de7fde81" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_1d21d8cc-4a1f-4f29-8c67-50b08625305a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_f831a32b-fd45-4ab5-bcdb-4483e64f814e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_c50054b2-0d12-44f2-ae35-f036de7fde81" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_f831a32b-fd45-4ab5-bcdb-4483e64f814e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_fd8c5e30-de9a-4250-adc2-4bb6df10941b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_c50054b2-0d12-44f2-ae35-f036de7fde81" xlink:to="loc_us-gaap_OperatingLeaseLiability_fd8c5e30-de9a-4250-adc2-4bb6df10941b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails_1" xlink:type="simple" xlink:href="rock-20231231.xsd#LeasesMaturityofLeasePaymentsDetails_1"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails_1" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/SegmentInformationNarrativeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#SegmentInformationNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/SegmentInformationNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationRevenueAbstract_9e76dfb1-f4b6-4794-a22c-eeb8671e934c" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationRevenueAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportableSegments_45efdeff-0b81-4bfe-8915-1db695172fe8" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportableSegments"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationRevenueAbstract_9e76dfb1-f4b6-4794-a22c-eeb8671e934c" xlink:to="loc_us-gaap_NumberOfReportableSegments_45efdeff-0b81-4bfe-8915-1db695172fe8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationRevenueAbstract_ba933612-dcc0-4009-81e3-8d01e61302a5" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationRevenueAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable_5ef6203e-2b44-4585-839c-e4c88a14d41a" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationRevenueAbstract_ba933612-dcc0-4009-81e3-8d01e61302a5" xlink:to="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable_5ef6203e-2b44-4585-839c-e4c88a14d41a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_9412af7e-dbd0-41ee-b2fe-4f0bdd90baf4" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable_5ef6203e-2b44-4585-839c-e4c88a14d41a" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_9412af7e-dbd0-41ee-b2fe-4f0bdd90baf4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_5688c879-dbb6-4ead-8e5c-d14a200a96e0" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_9412af7e-dbd0-41ee-b2fe-4f0bdd90baf4" xlink:to="loc_us-gaap_SegmentDomain_5688c879-dbb6-4ead-8e5c-d14a200a96e0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewablesMember_4fb82b1f-67ac-4ce6-8008-4915f09a64d8" xlink:href="rock-20231231.xsd#rock_RenewablesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_5688c879-dbb6-4ead-8e5c-d14a200a96e0" xlink:to="loc_rock_RenewablesMember_4fb82b1f-67ac-4ce6-8008-4915f09a64d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialMember_c55798f8-2d46-4cc7-a5ff-45bf0f10a70d" xlink:href="rock-20231231.xsd#rock_ResidentialMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_5688c879-dbb6-4ead-8e5c-d14a200a96e0" xlink:to="loc_rock_ResidentialMember_c55798f8-2d46-4cc7-a5ff-45bf0f10a70d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AgtechMember_119b36fd-61dc-4cf3-a6db-524520002dcb" xlink:href="rock-20231231.xsd#rock_AgtechMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_5688c879-dbb6-4ead-8e5c-d14a200a96e0" xlink:to="loc_rock_AgtechMember_119b36fd-61dc-4cf3-a6db-524520002dcb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember_7fcda087-52ef-43d5-b24d-48340dae12fe" xlink:href="rock-20231231.xsd#rock_InfrastructureMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_5688c879-dbb6-4ead-8e5c-d14a200a96e0" xlink:to="loc_rock_InfrastructureMember_7fcda087-52ef-43d5-b24d-48340dae12fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_0210c990-b017-485f-bcf0-363e6d31dfc7" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable_5ef6203e-2b44-4585-839c-e4c88a14d41a" xlink:to="loc_srt_ConsolidationItemsAxis_0210c990-b017-485f-bcf0-363e6d31dfc7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_ec4ef487-b9cf-4ac0-94df-61f23666f238" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsAxis_0210c990-b017-485f-bcf0-363e6d31dfc7" xlink:to="loc_srt_ConsolidationItemsDomain_ec4ef487-b9cf-4ac0-94df-61f23666f238" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_beb5def5-7787-472e-b503-b40917d09a14" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_ec4ef487-b9cf-4ac0-94df-61f23666f238" xlink:to="loc_us-gaap_OperatingSegmentsMember_beb5def5-7787-472e-b503-b40917d09a14" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember_bbb7ec3f-98db-4374-9ddf-267df5f00375" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_ec4ef487-b9cf-4ac0-94df-61f23666f238" xlink:to="loc_us-gaap_CorporateNonSegmentMember_bbb7ec3f-98db-4374-9ddf-267df5f00375" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_fda66247-2de6-4dbd-832b-3e6e48682f75" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable_5ef6203e-2b44-4585-839c-e4c88a14d41a" xlink:to="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_fda66247-2de6-4dbd-832b-3e6e48682f75" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_1e2f3c7b-7a02-4dff-adc6-fccd5b8ac4dc" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_fda66247-2de6-4dbd-832b-3e6e48682f75" xlink:to="loc_us-gaap_Revenues_1e2f3c7b-7a02-4dff-adc6-fccd5b8ac4dc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_40fc3fc8-7454-43fa-a89d-f35a4eaf0b74" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_fda66247-2de6-4dbd-832b-3e6e48682f75" xlink:to="loc_us-gaap_OperatingIncomeLoss_40fc3fc8-7454-43fa-a89d-f35a4eaf0b74" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization_31219350-b735-480e-86f9-c8be106db493" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_fda66247-2de6-4dbd-832b-3e6e48682f75" xlink:to="loc_us-gaap_DepreciationDepletionAndAmortization_31219350-b735-480e-86f9-c8be106db493" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_25ac6119-15fb-4aa5-ac9c-14dc8bf3e816" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_fda66247-2de6-4dbd-832b-3e6e48682f75" xlink:to="loc_us-gaap_Assets_25ac6119-15fb-4aa5-ac9c-14dc8bf3e816" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_1fb76588-2f39-4bf0-a5e5-0a863230ec3b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems_fda66247-2de6-4dbd-832b-3e6e48682f75" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_1fb76588-2f39-4bf0-a5e5-0a863230ec3b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/SegmentInformationNetSalesbyContractTypeDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#SegmentInformationNetSalesbyContractTypeDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/SegmentInformationNetSalesbyContractTypeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_bfb0aab2-fed3-405a-ae20-d15fe97d98e1" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_c31b3bac-7a5f-48d8-b2f2-04544fc19178" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_bfb0aab2-fed3-405a-ae20-d15fe97d98e1" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_c31b3bac-7a5f-48d8-b2f2-04544fc19178" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_9648d05e-54d4-4aa0-a4a3-21be6bae3f81" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_c31b3bac-7a5f-48d8-b2f2-04544fc19178" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_9648d05e-54d4-4aa0-a4a3-21be6bae3f81" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_dad33429-acec-4602-ab46-a05fec1b2e39" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_9648d05e-54d4-4aa0-a4a3-21be6bae3f81" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_dad33429-acec-4602-ab46-a05fec1b2e39" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredAtPointInTimeMember_1c7cfdea-abc8-458f-a8f1-de8bcfdaf9e3" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransferredAtPointInTimeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_dad33429-acec-4602-ab46-a05fec1b2e39" xlink:to="loc_us-gaap_TransferredAtPointInTimeMember_1c7cfdea-abc8-458f-a8f1-de8bcfdaf9e3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredOverTimeMember_ec06e96b-cab7-4fbb-861a-f1b825c7a191" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransferredOverTimeMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_dad33429-acec-4602-ab46-a05fec1b2e39" xlink:to="loc_us-gaap_TransferredOverTimeMember_ec06e96b-cab7-4fbb-861a-f1b825c7a191" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_e9b0f20e-b1e3-417f-8be5-15afce40f9fe" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_c31b3bac-7a5f-48d8-b2f2-04544fc19178" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_e9b0f20e-b1e3-417f-8be5-15afce40f9fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_5570c403-8b06-4b24-993b-b639a1a74227" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_e9b0f20e-b1e3-417f-8be5-15afce40f9fe" xlink:to="loc_us-gaap_SegmentDomain_5570c403-8b06-4b24-993b-b639a1a74227" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_RenewablesMember_95230315-299e-4eef-816b-a884a28b8355" xlink:href="rock-20231231.xsd#rock_RenewablesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_5570c403-8b06-4b24-993b-b639a1a74227" xlink:to="loc_rock_RenewablesMember_95230315-299e-4eef-816b-a884a28b8355" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_ResidentialMember_02f04258-bba7-4cc6-a3a0-2d7392560f5b" xlink:href="rock-20231231.xsd#rock_ResidentialMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_5570c403-8b06-4b24-993b-b639a1a74227" xlink:to="loc_rock_ResidentialMember_02f04258-bba7-4cc6-a3a0-2d7392560f5b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_AgtechMember_90c40635-8745-474c-9ad2-7dd6bf925bd0" xlink:href="rock-20231231.xsd#rock_AgtechMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_5570c403-8b06-4b24-993b-b639a1a74227" xlink:to="loc_rock_AgtechMember_90c40635-8745-474c-9ad2-7dd6bf925bd0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_rock_InfrastructureMember_0a1426d8-2542-4187-91a2-66e7896431e5" xlink:href="rock-20231231.xsd#rock_InfrastructureMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_5570c403-8b06-4b24-993b-b639a1a74227" xlink:to="loc_rock_InfrastructureMember_0a1426d8-2542-4187-91a2-66e7896431e5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_361b969e-d7c8-47b5-a5be-75ff020060e2" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_c31b3bac-7a5f-48d8-b2f2-04544fc19178" xlink:to="loc_us-gaap_DisaggregationOfRevenueLineItems_361b969e-d7c8-47b5-a5be-75ff020060e2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_3118be5e-8fb5-4a25-8fc3-7cf64dcaf53b" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_361b969e-d7c8-47b5-a5be-75ff020060e2" xlink:to="loc_us-gaap_Revenues_3118be5e-8fb5-4a25-8fc3-7cf64dcaf53b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.gibraltar1.com/role/SegmentInformationNetSalesbyRegionorOriginandLongLivedAssetsbyRegionofDomicileDetails" xlink:type="simple" xlink:href="rock-20231231.xsd#SegmentInformationNetSalesbyRegionorOriginandLongLivedAssetsbyRegionofDomicileDetails"/>
  <link:presentationLink xlink:role="http://www.gibraltar1.com/role/SegmentInformationNetSalesbyRegionorOriginandLongLivedAssetsbyRegionofDomicileDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationRevenueAbstract_f0c73e0f-b4ed-4f2a-b747-edc648d19b22" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationRevenueAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_110fa7cf-b9d6-4526-8d31-743dbf77847e" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationRevenueAbstract_f0c73e0f-b4ed-4f2a-b747-edc648d19b22" xlink:to="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_110fa7cf-b9d6-4526-8d31-743dbf77847e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_StatementGeographicalAxis_ff0d9a13-2ccb-4773-97fa-7088a7620a76" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_110fa7cf-b9d6-4526-8d31-743dbf77847e" xlink:to="loc_srt_StatementGeographicalAxis_ff0d9a13-2ccb-4773-97fa-7088a7620a76" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_SegmentGeographicalDomain_a524d041-0e9e-4f0b-ac5a-d7a0dcce8c66" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_StatementGeographicalAxis_ff0d9a13-2ccb-4773-97fa-7088a7620a76" xlink:to="loc_srt_SegmentGeographicalDomain_a524d041-0e9e-4f0b-ac5a-d7a0dcce8c66" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NorthAmericaMember_5ec072b6-094e-420b-a824-06f6d4f6d69f" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NorthAmericaMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_a524d041-0e9e-4f0b-ac5a-d7a0dcce8c66" xlink:to="loc_srt_NorthAmericaMember_5ec072b6-094e-420b-a824-06f6d4f6d69f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_AsiaMember_b521fbc3-6f4a-4712-a518-ca5d4309d2d4" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_AsiaMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_a524d041-0e9e-4f0b-ac5a-d7a0dcce8c66" xlink:to="loc_srt_AsiaMember_b521fbc3-6f4a-4712-a518-ca5d4309d2d4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_7bc2a35e-828c-414c-8c2d-f926ac3faef9" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_110fa7cf-b9d6-4526-8d31-743dbf77847e" xlink:to="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_7bc2a35e-828c-414c-8c2d-f926ac3faef9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Revenues_ee65ef59-f397-4016-b8aa-e02c8cfcb13f" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_7bc2a35e-828c-414c-8c2d-f926ac3faef9" xlink:to="loc_us-gaap_Revenues_ee65ef59-f397-4016-b8aa-e02c8cfcb13f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NoncurrentAssets_1d5b9f31-99a6-4c6d-9d30-7c95bd667532" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncurrentAssets"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_7bc2a35e-828c-414c-8c2d-f926ac3faef9" xlink:to="loc_us-gaap_NoncurrentAssets_1d5b9f31-99a6-4c6d-9d30-7c95bd667532" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>14
<FILENAME>rock-20231231_g1.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 rock-20231231_g1.jpg
M_]C_X0 817AI9@  24DJ  @              /_L !%$=6-K>0 !  0   !D
M  #_X0,O:'1T<#HO+VYS+F%D;V)E+F-O;2]X87 O,2XP+P \/WAP86-K970@
M8F5G:6X](N^[OR(@:60](E<U33!-<$-E:&E(>G)E4WI.5&-Z:V,Y9"(_/B \
M>#IX;7!M971A('AM;&YS.G@](F%D;V)E.FYS.FUE=&$O(B!X.GAM<'1K/2)!
M9&]B92!835 @0V]R92 W+C$M8S P," W.2YE9&$R8C-F86,L(#(P,C$O,3$O
M,3<M,3<Z,C,Z,3D@(" @(" @("(^(#QR9&8Z4D1&('AM;&YS.G)D9CTB:'1T
M<#HO+W=W=RYW,RYO<F<O,3DY.2\P,B\R,BUR9&8M<WEN=&%X+6YS(R(^(#QR
M9&8Z1&5S8W)I<'1I;VX@<F1F.F%B;W5T/2(B('AM;&YS.GAM<#TB:'1T<#HO
M+VYS+F%D;V)E+F-O;2]X87 O,2XP+R(@>&UL;G,Z>&UP34T](FAT=' Z+R]N
M<RYA9&]B92YC;VTO>&%P+S$N,"]M;2\B('AM;&YS.G-T4F5F/2)H='1P.B\O
M;G,N861O8F4N8V]M+WAA<"\Q+C O<U1Y<&4O4F5S;W5R8V52968C(B!X;7 Z
M0W)E871O<E1O;VP](D%D;V)E(%!H;W1O<VAO<" R,RXQ("A7:6YD;W=S*2(@
M>&UP34TZ26YS=&%N8V5)1#TB>&UP+FEI9#HT,34U-#4P.3@R13@Q,45#04$Y
M,D0U1C=#-C5&038Q0B(@>&UP34TZ1&]C=6UE;G1)1#TB>&UP+F1I9#HT,34U
M-#4P03@R13@Q,45#04$Y,D0U1C=#-C5&038Q0B(^(#QX;7!-33I$97)I=F5D
M1G)O;2!S=%)E9CII;G-T86YC94E$/2)X;7 N:6ED.C0Q-34T-3 W.#)%.#$Q
M14-!03DR1#5&-T,V-49!-C%"(B!S=%)E9CID;V-U;65N=$E$/2)X;7 N9&ED
M.C0Q-34T-3 X.#)%.#$Q14-!03DR1#5&-T,V-49!-C%"(B\^(#PO<F1F.D1E
M<V-R:7!T:6]N/B \+W)D9CI21$8^(#PO>#IX;7!M971A/B \/WAP86-K970@
M96YD/2)R(C\^_^X #D%D;V)E &3      ?_; (0  0$! 0$! 0$! 0$! 0$!
M 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0(" @(" @(" @(" P,# P,#
M P,# P$! 0$! 0$" 0$" @(! @(# P,# P,# P,# P,# P,# P,# P,# P,#
M P,# P,# P,# P,# P,# P,# P,# P,#_\  $0@!A0NX P$1  (1 0,1 ?_$
M -L  0 " P$! 0$! 0         *"P<("08%! ," 0$!  (# 0$!
M      <(! 4& P(!$  ! P0! @(#"@L%!08% P4  @,$ 04&!P@1$A,)(10*
M(A5VEK8W=[=8&C&U%C875]<X>!DY03(CT]8DE=6G&&%",R6'N%$T:*CH5'0G
M4D-3DR81 0 ! @,"!@H." 4$ @,!   ! @,1! 4A!C%!46$2<G&!D;$BDK)S
M- >A,D*"$R,S4],45!4U%\%28M*S=!8VT:+"HR3P0X,EX>/Q8V3#_]H # ,!
M  (1 Q$ /P"?P
M
M
M                                                        #Y-O
MOUDNTZ^VRV7:W7"XXO<8UHR.##EL2)=BNDRSVS((EONL=I:G8$N38[U$EMMN
M42I<>2VY2E4KI6OW5;KHIIJJB8IJC&)Y8QF,8Y=L3'9B7Q37155533,353.$
MQR3A$X3R;)B>Q+ZQ\/L
M
M                                    '^''&VFUNNK0TTTA3CCCBJ(;
M;;12JEK6M5:)0A":=:UKZ*4'#LCA.#;/ ^;8K[9<HLEFR7&[O;;_ ([D5JM]
M]L%]LTV-<K/>K+=XC-PM5WM5QAN/1+A;;E!D-O,/M+4VZTM*DUJFM*GW<MUV
MJYM7(FFY3,Q,3&$Q,;)B8XIB>&'S171<HBY;F*K=41,3&V)B=L3$\<3' ^J?
M#Z
M
M
M
M                                                       QWMS:
M6'Z1U?GVWL_N-+7AFN,4O67Y%,]Q5ZENLD%V:Y&AM+6WZU<IZFTL16*5[WY+
MB&T]5*I0R,IE;V=S5O*9>,;URN*8[,SQ\T<,SQ1M8^:S-K)Y:O-7YPLVZ9JG
ML1'?G@B..40SR=O,CR[(O,<V^SN2[^%;.=%\E2DQERE.6K%]H6)<V5K"T6]V
M3[MJTIQ5<C%XJ$(H])<K;:.*K1FA+>]^[EJWN[9G)QX61I[=5$X=.9Y^EA7/
M)X6'"BO=/>&[<W@NQFY\'.U=JFN/:1'-T<:(Y?!Y$S<AQ+@
M
M
M    ./\ YV?+W_I7X6Y39<<N;T#:._UR]38,N&[X4ZV6FXPZN;#REM=*4<91
M:,4<7#:>:4EYBXW.(XG^[6M.NW+TC[TUFFNY&.5R_P 95R3,>TI[=6WDF*9<
MIOCJOW9I%5%N<,S?\"GEB)]M5VJ=G-,PP1[/CRTKNSB?<=!Y/<O6<[XS7.-8
M[=22^IR9<]3Y4Y/N6$R:*?7WO?DW<8UQL]6VDU;B08D"BJT4ZFE<_?\ TGZE
MJL9^U&%C,QC/-<IPBKNQA5SS-7(P=Q-4^N:7.1N3\?EIPCGHJQFGN3C3S1%/
M*[[G!.Y
M                                       /FW:\V>P07KI?;K;;+;(]
M*JD7&[3HMN@L)HE2JJ>ES'68[5*)36O52J>BE3ZHHKN5=&W$U53Q1&,OFNNB
MW3TJYB*>69PAK5EO.3AA@CJX^7<L..EBFMK['+;,W+K^MV37Q%M5K6T,W]VY
M]B'4*2I7A=J*TK15:&RM:)K-_;9RF8JCE^#KP[N&#77=:TBQ.%W-9>F>3X2G
M'N8XM?;MYP?EK65=6YG+#!7E4C^M=;39<\OZ/#I5Q/;1VQ8E<FJR.K5?\'KX
MO2M*]O12>NPHW0WDKX,I<X>.:8[]4,&O>O=ZC9.:H[453WJ9>$_GD>5M]J#_
M )*<B/V2'O\ T1O1]E_W+7TCP_K/=K[3_MW?W#^>1Y6WVH/^2G(C]D@_HC>C
M[+_N6OI#^L]VOM/^W=_<>@MGG1>61=F$2(O*G'VFUN5:2FYX#MZROT4FM$UJ
MN+>->P)+;?6OH6I%$5IZ:5Z'G5N;O+1.$Y6KM56Y[U<O2G>_=RJ,8S5/;IKC
MOTPR]CWF:>7WD[M&;;S#T#&75QQJE<AV)8L1:[FV*R%5J_EDBRLI;JW3HE=5
M=BE^X36JZ]IB7-VM?M1C5D\Q/8HFKR<65;WCT*Y.%.;L1V:XI\K!LQAF[-,[
M&\+]'NW-8YWX_;X'Y&9[BN4>-W?W?"]Y+K.\3N_LZ=>IK+V2SF6](LW;?6IJ
MI[\0V-G.93,?(7;=>/ZM5,]Z99.,9D@
M
M
M                                        $8GVCWEZK$=:Z_X<8E='
M&+YM)R'LO:C<9=4J1KO'KI(8PZPRZTKT6QDV;6MR:I-.BT>\*.ON'NBI,]76
MD?#9FYK%V/ M>!1UYCPI[5,X>^YD<>L#5?@LO;TFU/AW?#KZD3X,=NJ,?>\Z
M(!C61WS#\CL&78Q<Y5ER7%KU:LCQZ\PET;FVF^62<Q<[3<XBU)4E$J!/BMNM
MUK2M*+13T$N7+=%ZW5:NQ%5NJF8F)X)B8PF.W"*;=RNU<INVYF+E,Q,3R3$X
MQ/:E9J<+^2=AY<<8]0[]L:XB'\WQ6(O*;7$<[TX]G5IJNSYMCZDKHEYM%KR6
M%)0Q5Q**O1:M/4IV.)K6M6LZ;<TG4[V0KQPHJ\&>6F=M,]NF8QY)QCB6+TC4
M:-5TVUGJ,,:Z?"CDJC95':G'#FPEM":QL@
M
M                                                  KZ/.NY=UY4
M<U<NM>/7*LS6&@TS-0X+1B2E^W7&Y6>X.JS_ "N-1I;D5=;[E:'([3[:E)DV
MVW0U]:?@I/VY>D?=>BT57(PS5_XRKEB)CP*>U3MPXIF4$[X:K]YZQ73;G'+6
M/BZ>29B?"J[=6S'CB(8A\JCEE7AYS3U=L*[W&L#7>72E:MVM5;R68C>#9K+A
M17+S-6M:$)BXAD,:!>7*^E56[>I"?[YE[TZ5][Z-=R]$8YBB.G1UJ<=D=:,:
M>VQ=V-4^Z=8M7ZYPR]<]"OJU<<]6<*NTL=$J2M*5H51254HI*DUHI*DJIUHI
M-:=:5I6E?14KLL _Z
M                                            ?&R#(\>Q.SSLARJ^
MV;&;!;&JR+E?,@ND&S6>WL4K2E7IUSN+\:%$:I6O]YQ::'W;MW+M<6[5,U7)
MX(B)F9[$1M?%RY;M43<NU13;CAF9B(CLS+DMO_SS?+XT8Y-MEKV7<]YY+$0Y
M_P"3:0LZ,JMJGJ*JVQ3\N;G-L6 28[CE*U4N'<Y:T-TJKPU5JA*^KR&Y&\&>
MPJJMQ8M3QW)Z,^+$37W:8<MGM]-!R6---R;UR.*W'2CQIPI[DRXQ[I]I@W1>
MES(.@>/NO\!A*[F8U]V7>[UL.]U;K3I28S:K%7![/;9=*^E+;J[DTGIZ>_\
ML[+)>K;)T859_,7+E7)1$41W9Z4S[#D<YZQ,Y7C3D;%NW'+7,U3W(Z,1[+EC
MM7S>/,7VZN0F^\HL]QB"]WI;MNKO>G5+,9E=*4JPW.U_;L?OCZ/1_>D2WG/3
M6G=T]!U&5W2W=RGR>5MU5<M>-?L5S,=R(<UFMZM?S?M\S733R484>S3$3W9:
M"Y9G6;9[<*W;.LQRK-+K5;[E;GEF0W?([A5R2I*Y*ZS+Q+F2>^0M%*KKW=5U
MI2M>O0WUJQ9L4]"Q1313R4Q$1[#1W;]Z_5TK]=5=7+5,S/LO+'J\@      &
MQ>N.7W*K4+T=[67(W=F$MQUJ6F!8=F9?#LSO=Z5(F6*EV59;@RI7154/L.(J
MJE%=.M*5IKLSI&EYN,,SE[-?/-%./:G#&.U+89?5=3RLXY;,7J.:*ZL.YCA/
M;AT:U)Y^GF*ZT<BM9)G6#;HM4=24>]VS]?V5#]8WN:+;]_-??D)?GW^E%52]
M*D25T4KW7>FE$'/9O</=[,Q,VZ*[-?+17/>KZ4=R(;_*[\:_EL(N5T7J8XJZ
M8[]/1GNS+JWI'VF775S5 MW(GCGE>).*4AF;E.I,CMN96]2W*]*3%8CE2<3N
M%MALJK3Q$-W2XO412JD46KHW7E<[ZM<Q3C5I^8HKCBIN1-,]CI4]*)GWL?I=
M/D_6+EZL*<_EZJ/VJ)BJ/%JZ,QW9_0[3\>_,KX0<GJV^%JGD)@SV3W)QN-&P
M3,)J]?YV_.<3158%OQ?,V[+<;\^W6O2J[:F:Q6O]UQ5/2<9J&[>MZ9C5FLO7
M\%'NJ8Z=.'+-5.,1[["789#>+1M2PC*WZ/A)]S5X-7:IJPF>UBWH-&W0
M                              #C_P N/.LXL<,=Y9+H#:& \@+]F6+6
M['+G<+G@6*ZZNF,O,918H.00$0YF0[5Q:ZN/,PK@A+U%PFTI=HJB:K32BJ]=
MI.YFJ:SD:<_E;F7ILU3,1%55<5>#,Q/!15'%RN4U7?#3-(SM61S-%^J]3$3,
MTTT3&V(F.&NF>/D:T_>5."_ZJ.67Q%T_^W8V7Y;ZY\[E/&N?1-=^8>B_-9KQ
M;?TA]Y4X+_JHY9?$73_[=A^6^N?.Y3QKGT1^8>B_-9KQ;?TA]Y4X+_JHY9?$
M73_[=A^6^N?.Y3QKGT1^8>B_-9KQ;?TA]Y4X+_JHY9?$73_[=A^6^N?.Y3QK
MGT1^8>B_-9KQ;?TA]Y4X+_JHY9?$73_[=A^6^N?.Y3QKGT1^8>B_-9KQ;?TC
M(>HO:">&FY]KZQT]B^L^3D#)ML;#PO6N.SK_ (9JN+8H5]SO)+;B]HEWJ3;M
MT76X1K3&N%U;7)<8BR7D,T55#3BJ417'S>X&L9/*W<Y=NY:;5JW57,157C,4
MQ-4X8VXC'"-F,QV7OE=^](SF:MY2U;S,7+MRFB)FFC#&J8IC'"Y,X8SMPB>P
M[IG#NU                       '!O8OM#G"S66P<[UM?M8<H9=\U[F63X
M/>I=HPO5$BTRKMB=[G6&XR+6_,W7 F/6YZ9 6IA;K##JFJIJIM"NJ:=UE_5]
MK.9R]O,V[N5BBY135&-5S'"J(F,?BYV[=NV7$YC?W1\M?KR]=O,S7;KFF<*:
M,,:9F)P^,C9LY'C?O*G!?]5'++XBZ?\ V['M^6^N?.Y3QKGT3Q_,/1?FLUXM
MOZ0^\J<%_P!5'++XBZ?_ &[#\M]<^=RGC7/HC\P]%^:S7BV_I#[RIP7_ %4<
MLOB+I_\ ;L/RWUSYW*>-<^B/S#T7YK->+;^D/O*G!?\ 51RR^(NG_P!NP_+?
M7/G<IXUSZ(_,/1?FLUXMOZ0^\J<%_P!5'++XBZ?_ &[#\M]<^=RGC7/HC\P]
M%^:S7BV_I'\)/M*W"!$=Y4/4?*M^6EM58[,G#=11([KM*>X0]*:W;-<8;4K\
M*DLN5I3_ +M?P'['JWUO'PKV5PZUSZ.'Y/K#T;#9:S6/5H^D>9^\P<4?U"\A
M?_\ 5K?_ %P>OY;:K\_E_P#/^Z\_S$TSYB__ )/WGJH'M*7!U]$1,_5/*>!(
M>\%,NK>&:HFP8:UU31U=)"=T,S),=GK6O<F-1Q2:>AOKZ#RJ]7&MQCT;N5F.
MM7$_P_TO6GUAZ-.'2M9F)ZM&'\3]#*^/>T)>73>EI3<K[M_$DJ==;JYD.KIL
ME"$-L4>1(53%+IDSE6GW*^$BB4U<HY3JI*4>[,2YZO\ >&CVM-FOL5_O1#)M
M[^:!7[:J[1V:)_TS+8O#?.2\M/.%1VK5RHQ.UOOK;:JUF6,[#P1,=Y=(_<W(
MF9EA]CMR$-*E)HIVCRF.J5UHNJ4+K377MS]Y+'MLK7,?LU45>35,_I;"SO;N
M[>]KF:(G]J*J?*IB/T-PM>\H>->VJQT:OY Z5V$_)\&C4/#-H85D=P\1]NCC
M<=VW6J]2IT>7VJ]TRXVEU%>M%)I6E:&HS&F:EE/2LO>MQ'ZU%41W9C#MMM8U
M+3LUZ-?LW)G]6NF9[D3BSJ8+-
M<"LN]HOX2X9E>3X?=-7<IW[GB>0WK&KB_ PG4KL%Z=8KE)M<MV$[(W?%D.1'
M)$556U.--KJBM*J2FO6E.\M>KS6KUJF]3=RO1KIB8QJN8X3&.WXMP]W?_1[-
MVJS5:S/2HJF)PIHPQB<-GQCSWWE3@O\ JHY9?$73_P"W8]/RWUSYW*>-<^B>
M?YAZ+\UFO%M_2'WE3@O^JCEE\1=/_MV'Y;ZY\[E/&N?1'YAZ+\UFO%M_2'WE
M3@O^JCEE\1=/_MV'Y;ZY\[E/&N?1'YAZ+\UFO%M_2'WE3@O^JCEE\1=/_MV'
MY;ZY\[E/&N?1'YAZ+\UFO%M_2'WE3@O^JCEE\1=/_MV'Y;ZY\[E/&N?1'YAZ
M+\UFO%M_2'WE3@O^JCEE\1=/_MV'Y;ZY\[E/&N?1'YAZ+\UFO%M_2'WE3@O^
MJCEE\1=/_MV'Y;ZY\[E/&N?1'YAZ+\UFO%M_2'WE3@O^JCEE\1=/_MV'Y;ZY
M\[E/&N?1'YAZ+\UFO%M_2/36[VC;@%-9C.R<=Y&6A;]:4=CW'7>(.O0Z5<JC
MNDJM.RKG'52B:=_^"X[7MK^#N]R>=7J[UZF9B*LO/8KJ_31#TI]8&A51$S3F
M([-%/Z*Y9/LOG\>6O='*HG;+SW'$T>9;H[>M2YP^W5#M:T7(I3'K9?G?!C4I
MU72J:.5I7W"55]!BU[A;QT^UMVZNQ<I_3,,FC?G=ZKAN5T]FBK]$2SKBOG#^
M6IF*V6[1ROP>&I]=$(KE5AS_  5"5*D)C4J\YF^(8\W'1XBJ5JIRJ4T;ZN5K
MV4JJF#=W0WDL^WRE<]6:*O)JEFVM[-W;WM,U1'6BJGRJ8;183R^XH;(5';P#
MDQH/,9$JK:&8..;=P&[7*KKU6:-QW+9#O[MP8E*5(;IX3C27**6FE4]:T-9>
MTC5<MZ1EK]$1QS;JB.[A@V=G5=+S'R&9L5S/)73,]S'%L.VXVZVAUI:'6G4)
M<;<;51;;C:Z44A:%IK5*T+37K2M/16AKN#9/"S^';' _V
M                                  !\+*<FL6%8SD6993<XMEQG$K%=
M\FR*\37*,PK38K#;Y%UN]SENJZ):BP+?%<=<57T)0BM3TM6KEZ[39M1-5VNJ
M*8B.&9F<(CMR^+MRBS;JO79B+=%,S,\D1&,SVH5EW-#DK?N7?)O;>_[Y27'9
MSC)Y"\7L\MWQ%XY@UH;;L^%8]T0I4=#MLQR#'3(JU1*'I=77NG<XJM;*:-IM
MO2-,M9"C"9HI\*>6J=M4]N9G#DC".)735]1KU74;N>KQPKJ\&.2F-E,=J,,>
M?&6KQLVM2C/9N^6WY/YULKAOE5RJFVYZQ)VIJAJ0Z[5#67X_;FH^?6"(A2EI
M\2^8I"CW)"4I;0VFS255JI3M*$8^L;2?A+%O6+4>%;\"YU9GP)[54S'OHY$D
M^K[5.A?N:1=GP:_#HZT1X4=NG"?>SRI@9$25P
M               YI\Z?-/X^>7WEF"8=N7#MR9-<]@X]<<ELK^L<>PF\P(L"
MV7)-KD-71W*MAX7(9EKD*ZH2TT\BJ/355*^@Z30]U]0U^U<O9.NS33;JBF>G
M-43C,8[.C15^ASNM;S9#0KM%K-T7JJKE,S'0BF8PB<-O2JI:*_>5."_ZJ.67
MQ%T_^W8WGY;ZY\[E/&N?1-+^8>B_-9KQ;?TA]Y4X+_JHY9?$73_[=A^6^N?.
MY3QKGT1^8>B_-9KQ;?TA]Y4X+_JHY9?$73_[=A^6^N?.Y3QKGT1^8>B_-9KQ
M;?TA]Y4X+_JHY9?$73_[=A^6^N?.Y3QKGT1^8>B_-9KQ;?TA]Y4X+_JHY9?$
M73_[=A^6^N?.Y3QKGT1^8>B_-9KQ;?TA]Y4X+_JHY9?$73_[=A^6^N?.Y3QK
MGT1^8>B_-9KQ;?TB0+:+FQ>K3:[Q%0\W%NUNA7.,W(2A#Z&)\9J4RA]+;CK:
M7DMNTHJB5*3177I6M/2<#73-%<T3PQ,QW'=45171%<<$Q$]U]$^7T
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
M3.VFJ)B8[4N\L7[.9M1?R]=-=FK@JIF)B>W#UYXO4
M            ( 'GU_U,=Q?!+4'U8XR3WN)_;5GKW/+E!F^_]Q7>I;\B'&\[
M!R0    -L>!'[]'"[^++CG]<&'&JU[\#SO\ *7OX=3::'^-9/^:M?Q*5F\5I
M6,                       %7KRY_>NY._Q"[I^LC)2S>D_A66_E[?D0K=
MJOXGF?/W/+EKT;!@            V"U?RRY/Z57&_1-R#W)K^-$[:-VO&-BY
M5;+$XA-.B69>/LW2ECG1T^BM&GX[C=*TI7IUI2M-?FM)TS.X_6\O9N3/'513
M,]W#&.U+.RVJ:ED_1;]ZW$<45U1'<QPGN.FNFO: /,'UB[$8S+)\"WG96.QI
M<+9&$6RW72D5*:)JAC(=>UPNX.2^E.M'YM)RJJ]*Z+IZ#FLYN#N_F8F;--RQ
M7RT53,=ROI1VHP='D]^==RTQ%ZJB_1R5TQ$]VGHSVYQ=J..?M'O&+8+L&R\A
M==9GH&[OU88=R.U/+VEK]+E5):=ERY-GM-IS.V-N5KXE&D6>=1I'5*GEU312
M^,U'U=:GEXFO3[E&8HY)\"OV9FF?&CL.PT_U@:;?F*,_;KL5\L>'3[$15'BS
MV7>+4^Z=2;VQ6-F^FMCX;LS%)7:E-ZPR_P!OOL6.\JBNL.X)A/N/VNXM50JC
MD:2AJ0TI-4K0FM*T.%S>2S>1NS8SENNU=CBJB8[F/#'/&QVV5SF5SMKX;*7*
M+EJ>.F8GN\D\T[63C&9(                              JR-]_/INCZ
M6=C?+"\%H<AZ#9\U1Y,*TY[TV]YVORI8G,IB@            94U]O7=VI7&
MG=5[BVEK5QBJE-*P+8&5XAV56]ZPYVTQ^[6^G1Q^G>JGX%*]->M3%S&1R6;C
M#-6;5R/VJ*:N_$LFQG<YE?1KUVWU:JJ>],.BNIO.^\Q_5'JL9>\&MFV>+X?2
MS;9Q+'<M\?L[*5]:R5B%:<Z?\1".U76[>GK55.BJ]QSV;W)W<S6,_ ?!5SQV
MZII]C&:?\KH,KOEO!E=GPWPE$<5=,5>SLJ_S.L6CO::6U+@V[DEQKJTFM6Z7
M++M)9+XE$TJM*751->YTZE71#=:JIW9-6M:T[>GI[J<IGO5K.VK3<SV*;E/^
MNG]QT^2]8O!3J.7[-5N?]-7[[M[QP\TO@QRD=AVK6^]\:M6837&H[. ;'JYK
MG,9$U]24M0+3 RFD"#E,Q??2O99Y-PZ>GK7JE5*<5J.Z^N:7$U9FQ5-F/=T>
M'3ARS-.,TQUHAV6G[RZ+J4Q3E[],79]S7X%78B*L(J][,N@YS[?
M                                    !'L]H9Y=4T_QELG&S%KHAC.>
M1TY2<C1%DN-W"U:EQ.;"G7QQ?J]:.1D9=D%(EM3XE:-RX*+@U2BJ)7VR!ZOM
M)^MZG5J5V/B,M&SDFY5$Q'BQC/-/1EP>_FJ_5-.C3[4_'9B=O+%%.V?&G".>
M.DA!DUH; ,K:+W!E?'_<>M-UX._X.4ZQS*Q9A:D*=6TQ.7:)K3\JSSE-TJI5
MLOD&CL.6CI6CD9]::TK2O0Q<]D[6?R=W)7_DKM$TSS8QPQSQ.V.>&5DLW=R.
M;MYRS\K;KBJ.?">">:8V3S2L[]-[6Q+>>J-=[CP.76;B&S,.L&:6!URK=)+4
M"_6YB>F#<&FUN)C76V..JC2V*U[F)+3C:NBDUH5GSF5O9'-7,G?C"]:KFF>S
M$X8QS3PQ/'&U8[*9JUG<K;S=B<;5RB*H[$QCA//'!/)+)1C,@
M                          0WO:;/GUXQ_1-EWRP:)@]6GH.9\[3Y*)?6
M-Z;EO-5>4C(DEHY      M8L!_,3"O@ECGXGAE6LQ\O7UY[\K-V/D*.I'>>M
M/%Z@                       !4X%JU7P
M   "7I[,-^8G+_X6Z<_$^PB)/69\OE.I<[]"5?5Q\AF^O;[U24V1>DL
M                        @G>?UR]_3YRWII+%[KZWKKC%'N.'.MQU?[+/
MVQ=7H[NR)JU)73QUV%<"'8Z(<3UCRK=+JBO:]6JIRW"TCZAI/UV[&&8S.%78
MMQ[2.WC-7/$QR(5WYU7Z]JOU.U..7RV-/9KGV_<PBGFF)Y7"$[EQ(!VN\B+E
MI7CGS1LVN\AN7JFN>2T>%J^](??4W"A9WZTY)U=>ZM^(AM<MS()#ME1575*&
MKVXNO]VAQ>_.D_>.C59BW&.8RTS7'+T?=QW/"][#L-R=4^[]7C+W)PR^8PHG
MK>XGN^#[Y/A((3@                                 !B;?GS%;I^B;
M8WR/O)EY#TZSYVCRH8N>]"O>:K\F5626@5I              9IUSR1Y#:@7
M&5JK>FWM<)B+:4PQA.Q\OQF'2C-*)0TY!M%WB0WXU6Z=BFG&U-K16J5)JFM:
M&'F-.T_-X_6K%FYC^M13/LS#,R^H9_*8?5;]VWA^K75'L1+HYJ3SV/,<U8J.
MU<-K8]MVU1EH4BS[;P>R7I+B4TZ+;D9!C"<0S22AVE*=W?=%*I6G5-4UJKKS
MF;W&W=S6VFU59KGCMU3'L5=*G_*Z#*[Z[P9795=INT\E=,3[,=&KV76G1WM,
MV'S/5+=R0XX7^P.>X1+RO3.10LCB.K7W4JZG",S<QZ5;X[*NVJNE\FN*36M4
MIZIHE7*9[U:WJ<:M.S--7[-R)C_-3CCXL.HR7K%M3A3J&7JI_:MSC_EJPP\:
M7<#CIYD/"GE0J% U!OS#9^4SNU#6!90^_@N>KDUHGQ(L+%<O9L]ROBV%+I13
MEN3,C]?[KE:>DXG4=W-:TO&K.6*XM1[JGPJ?&IQB.WA/,[/3]X='U/"G*7Z)
MNS[FKP:O%JPF>UC#>$TC<@                         Q9N3=^I./>"W/
M9>ZM@8WK?![1T1*OV2SJ16GI2T.+8MMKAMI>N5\O,M+2O @PF9$R15-:-MJK
M3H963R6;U"_&6R5NJY?GBB/9GBB.69PB.5C9O.97(6)S.<N4V[,<<S[$<<SR
M1&,RBA\X?:*,XRQR[8#PDQUS7^-UI*@R=TYU;84[.KJA75GUG#,0?K-L>)1:
MTHI3<JX^^$UUMQ*J1X+R*]94T3U>V+6&8UJKX2YP_!TS,4QUJMDU=B,(YZH1
MAK._UZ[,V-&I^#M\'PE48U3U:>"GLSC/-3*-1FN<YILG)[MFNP\MR3.<POLB
MLN]91EM[N.0W^ZR:THGQI]WNTF7.E+2FE$I[UU[4TI2G2E*4)(LV+.6M19R]
M%-%FG@IIB(B.Q$;$>7KU[,7)O7ZZJ[M7#-4S,SV9G:\L>KR
M        ;1<7N9W)'ASEGY6:!V;>L0]:?:=O^*O+I=\$RQMNK5*LY/AUQ\>R
MW)Q3#?A(E4;;GQFU*]7?957N-9J>C:;K%KX+/VJ:\."K@JIZM4;8['!/'$ME
MINKZAI-WX7(W)HQX:>&FKLTSLGL\,<4PF"\"?/@T!R9=LVNM_L6KCON:=6/!
MAR[A<EJU'FMS=4TPTU8,GN*Z/XE<ISZZ^';[POPJ>Y;:GR7ET01%KVXN?TV*
MLQD,<QDXV[(^,ICGICVT1RT]NF(2OH>^V1U&8R^>PR^;G9MGP*IYIGVL\U7:
MJF7>=*DK2E:%44E5**2I-:*2I*J=:*36G6E:5I7T5.$=N_Z
M                 @ >?7_4QW%\$M0?5CC)/>XG]M6>O<\N4&;[_P!Q7>I;
M\B'&\[!R0    -L>!'[]'"[^++CG]<&'&JU[\#SO\I>_AU-IH?XUD_YJU_$I
M6;Q6E8P                       5>O+G]Z[D[_$+NGZR,E+-Z3^%9;^7M
M^1"MVJ_B>9\_<\N6O1L&                99TUO?<?'G,HF?Z1V1EFL\NB
M=B??;%;L_ ]>CH71SWOO,#JY;+_:7%TZN0YS,B*[_P!]M1BYS(Y/4+,Y?.VZ
M+MJ>*J,<.>)X8GGB8EE93.YO(7HOY.Y7;NQQTSACS3'!,<TXPE,<#_:([/D4
MFS:VYRV6#B]R?6Q A;[PNVOIQJ2ZOJAMS86$PFY,FP+6M-/$N-HH]#JMRG?!
MB,H6Z1?KOJ]KMQ5F=#JFJGA^"JG;[RJ>'L583^U,[$EZ)O[1<F,OK4135P1=
MIC9[^GB[-.SFB-J4)C>28[F-AM&58E?;/D^,Y! C76Q9#C]RAWBR7FV3&Z.Q
M;A:[I;WI$*=#DM*HI#C2U(52OHJ1C<MW+-R;5ZF:;M,X3$QA,3R3$[8E)%NY
M;NT1=M515;JC&)B<8F.6)CA?:/A]@                           *LC?
M?SZ;H^EG8WRPO!:'(>@V?-4>3"M.>]-O>=K\J6)S*8H
M=)>)GFQ<U>(+EJM6%;1F9SK>W5CM*U1M2LG,\-3;V.Y*8%B>ERF\DPUA"%JJ
MA%GGPF:KZ*=;=I3M.<U;=71=7QKO6HHS,_\ <H\&K'EGBJ]]$SR3#H=+WHUC
M2IBFS=FO+Q[BOPJ<.2..GWLQ'-*5_P (?/'XJ<KG[3A&PI%..>XY]8\2-C6=
MW>,]@V3W%VE4^!A^QE,6ZV*E//42EN%=FK9+>==0U&I+5W*I%6M[D:KI43?R
M\?6,G'NJ8\*F/VJ-L]NGI1QS@D_1M\],U28LW_\ CYN>*J?!F?V:]D=JK">*
M,7:LXQV                                          #\\R9$M\25/
MGRH\&#!COS)LV8^U&B0XD9I3TF5*DO*0S'CQV4*6M:U42A-*UK6E*'[$35,4
MTQC5/!#\F8IB:JIPICAE6S^91RQ?YF\P=J;AB3'I.#L7&F#ZH9=:6QZKK+$9
M$N'CC]([M:O17LA>>DWB0TNM:MR[DZFG1-*4I8[=S2HT;2+63F,+^'2N=>KA
M[FRF.:(5[WAU2=7U:[FXGXG'HT=2G@[NVJ>>9:(&\:0  3'_ &<#ELG+M5[$
MX?95=J+OVJ9LG9&K8LI^E7Y&N\KN5$YC9[>S1-*4BXIG4U,U=5*JM:LCZ4IV
M-5Z0_P"L72?@<U;U>U'Q=V.A7UZ8\&9ZU,8>\YTM>K[5/A<M<TF[/AVIZ='4
MJGPHCJU;??I.!&B1@                                    !#>]IL^
M?7C']$V7?+!HF#U:>@YGSM/DHE]8WIN6\U5Y2,B26CD     "UBP'\Q,*^"6
M.?B>&5:S'R]?7GORLW8^0HZD=YZT\7J                        %3@6K
M5?                             )>GLPWYB<O_A;IS\3["(D]9GR^4ZE
MSOT)5]7'R&;Z]OO5)39%Z2P                           &F_/WE+;N'
M'$[;F]'G8_Y16.P+LFN[?(2T[2[;)R:M;-AD6L5WT3(D*ZR4SIK=*5K[WPY"
MNGN3<:#I=6L:K:R,8_!U58USR44[:O8V1SS#4:YJ5.DZ7=SL_*4TX41RUSLI
M]G;/-$JTB[W>Z7^[72^WNX2[M>KU<9MWN]TGON2I]RNERDNS)]PFR75*=D2Y
MDMY;CCBJU4M:JUK7K4LC113;HBW1$113$1$1P1$<$1V%>*ZZJZIKKF9KF<9F
M>&9GAE\\^GR ?HAS)=OEQ9\"5(@SH,AB9"FPWW8TN'+C.I>C2HLEE2'H\B.\
MA*T+0JBD*I2M*TK0_)B*HFFJ,:9X8?L3-,Q53.%4<$K*[R[^5,/F1Q$U%NU4
MB.YELZQIQ?9T-CP$5MVS<2HBSY=1<2/6J+?'O<ME-VAL5]TBW7"/U]-2M^\.
MESH^KWLE_P!J*NE1ST5;:>SA[69Y8E8?0-3C5]*M9S9\+-.%?-73LJ[&/MHC
MDF&[)I6X                                !B;?GS%;I^B;8WR/O)EY
M#TZSYVCRH8N>]"O>:K\F5626@5I                 #_J5*0I*T*JE2:T4
ME2:U2I*DUZT4FM.E:5I6GHJ!U/XE^<9S<XGNVRSP=C2-OZUA+CM.ZVW#(G9;
M 8M["?!I#QK)Y$FF7XFAB.JM([,6;[WMKHE2XCM$]M>7U;<_1=5B:ZK?P.9G
MW=O"F<>>GVM7/C&//#IM+WMUG2YBB+GPN7CW%S&J,.:?;4\V$X<TI7_"+SI>
M)W,23:,*NUP>T/N>Y>#&9U[L2Y0:6?(+D[3IZG@F>)3"L^1/..5HAF+*:MES
MD+KT:BN4IW$5:WN9JNCQ-ZB/A\G'NZ(G&(_:IVS'9CI4QQRD_1M[]+U:8LU3
M\!G)]S7,83/[-7!/8G"9XH=@#D75@                     '%KS%O.BT7
MPN]]]:ZZ1;=W<BF6WXSV(VVX5_(S7DRK71A[9.0P5*5Z^TXNB_>. NMP6E%4
MR'("7&75]GN]N;GM9PS.8QL:=^M,>%7U(GB_:G9R=+;#D-?WOR6CXY?+X7M0
M_5B?!HZ\QQ_LQMY>CLE"BY-\LM]\O]@R-D;ZSZYYC>:>,S9;5W>HXIB-M=71
M=+/B&-1JIM=BMR>U/?X:*OR5I\20X\]53BIGTS2LAI&7^K9"W%%''/#55/+5
M5PS/L1P1$0A[4=4SVJW_ *QGKDUU\4<%-,<E,<$1[,\>,M<C8M>
M                #M'Y=_G1[[X9NV/7.QG;GN_CI&7'A4P^[S_%S37]M2FC
M/?K/))[O5J##:HFJ;)/6NV*2WX<=4!3CC]>-WAW-R&LQ5F,OA8U&=O2B/!KG
M]N(X_P!J-O+TL,'7Z!O?GM(FG+YC&]I\>YF?"IC]B9XOV9V<G1X4VOC9RCT=
MRVUM;MIZ(SFVYEC<NC3-SB-J]4R/%+LMOQ'L?R_'WZTN./WJ-6E?\-Y/AOHI
M1Z.MYA;;JX5U+3,]I.9G*YZB:+D<')5'+3/!,=C@X)PG8F+3M2R6JY>,SDJX
MKMSP\M,\E4<,3W^&,8VM@3 9X                           " !Y]?\
M4QW%\$M0?5CC)/>XG]M6>O<\N4&;[_W%=ZEOR(<;SL')     VQX$?OT<+OX
MLN.?UP8<:K7OP/._RE[^'4VFA_C63_FK7\2E9O%:5C
M     !5Z\N?WKN3O\0NZ?K(R4LWI/X5EOY>WY$*W:K^)YGS]SRY:]&P8
M              =0_+J\T_>? 7*(]HB29FQN/]XGT=S#3=XN3M(<.LAZJY>2
MZ[G/^.G#\KIWJ4[1M%8%SI[B6RIQ,>1&YC>'=?(Z]:FN8BWGXCP;D1[%<>ZI
M]FGBGAB>DT#>;.Z'<BB)FYD9GPK<S[-$^YJ]B>.."8GP<>>0VI^4NI\8W1I?
M)X^483E$?JVY3L8NMCNK"&_?/&<FMGB./67)+*\Y1N3&<K7IU2XVIQEQIU<$
M:AI^;TO-U9+.T]&]3W)CBJIGCB>*?TXPG#(9_*ZEE:<YDZNE9J[L3QQ,<4QQ
MQ^AFPPF8                          !5D;[^?3='TL[&^6%X+0Y#T&SY
MJCR85ISWIM[SM?E2Q.93%                    [M>7!YW>Y.*4O']6;\D
MWW=/'9I46V1O6Y-)^RM7V]'AL-/8?=[@\A>0X_;XZ:4]Y)[U$-MH2F'(BI2I
MMWAMX]RLGJL59K(139U#AY**Y_:B."9_6CMQ/#':[O[Y9O2YIRV>FJ]D.#EK
MHC]F9X8C]6>U,<<W#4VV];[TU]C6U-29A9LZP'+H-)]BR.QR?'B26Z+4S(C2
M&UI;E6^YV^4VMB7$D-M2HDAM;3S:'$*32%<WE,SD<Q5E<W15;OT3A,3_ -;8
MGAB8V3&V-B8\KFLOG;%.9RM<5V*XQB8_ZV3'!,3MB=DLBF.R
M                            <4_/7Y>_]-7#:[:\QJYO0=G<E7KAK3'5
M1'?"F6S"&F(S^TK_ $5TI6C*L?FM6:E4*2ZA^]MNH_\ "5T[/<;2/O+6(S%R
M,<MEL*YYZO<1W8Z78IPXW'[ZZK]W:1-BW.&9S&-$<U/NY[G@]FK'B0'">$'@
M  !MMP7Y.7;A_P J=0;Y@+E+M.*9,Q#SBV15.U5>]>9 E5ES:UT8;6E$F4JP
M37GX='*+0W/88=JFM6Z&IUS3*-7TN]D*L.G73X,\E<;:9[L83S3,-IHNI5:3
MJ=K/4X]"FKPHY:)V51W-L<\1*S&LEZM626:T9%8I\>Z6._6R!>K-<XB_$B7&
MU72(U.MT^*YTIXD>9$?0XA7]J54J5LKHKMUS;N1,5TS,3'),;)A8JBNFY1%R
MB<:*HB8GEB=L2^F?+Z                                    (;WM-G
MSZ\8_HFR[Y8-$P>K3T',^=I\E$OK&]-RWFJO*1D22T<@     6L6 _F)A7P2
MQS\3PRK68^7KZ\]^5F['R%'4CO/6GB]0                        J<"U
M:KX                            !+T]F&_,3E_\ "W3GXGV$1)ZS/E\I
MU+G?H2KZN/D,WU[?>J2FR+TE@                           (67M%W+K
M]).]\-XH8I=/&Q+0\1.3YZB))\2)<MKY?;&'(4.4A%5L.O81A<E#;2TJHMJ1
M>9K+E**;Z4F;U>:3]6R->JW8^-OST:>:BF=OC5>Q33*(-_\ 5?K&=HTNU/Q5
MB,:N>NJ.#WM/LU3"-Z2*CX   )('LZ'+9.M]\YIQ5RN[4C8IO> K)L#:EOT;
MBP]K8?;W794&+124M-/YGA;#R5J6NE77[/#912JW*4K'7K#TGZSD*-4M1C=L
M3A5U*IX?>U>Q5,\20=P-5^KYZO3+LX6K\8T]>F.#WU/LTQ'&FGD,I?
M                          !B;?GS%;I^B;8WR/O)EY#TZSYVCRH8N>]"
MO>:K\F5626@5I                     =^/+@\\O;G&:18=4<EI>0;HT(W
M5BVP+Y(?]\]HZRA=4MLKM%TGOMNYCC,%'HK;)SU9##5*)B2$-MIBN<'O'N1E
M-2BK-:;%-G/\,QP45SSQ'M:IY8C">.-N+N=W]],UITTY749JO9'@B>&NB.:?
M=1').V.*>)-6U7M?7.[\!QO:&ILQLN>8#EL!NY6#);#)K(A3&%^Y<9>;<0U,
MMURA/44S*ARFV9<.0A;+[;;J%(I#&:RN9R5^K*YNBJW?HG"8GA_^8GBF-DQM
MB<$P9;-9?.6*<SE:Z:[%<8Q,?];)Y8G;$[)C%D$QWN                 '
MSKO=[3C]JN5]OUTMUDLEG@RKG=[Q=YL:VVJU6V"RN3-N%RN$QUF)!@PX[:G'
M775I;;0FJE5I2E:GU117<JBBW$U5S.$1$8S,SP1$<<OFNNFW3-=<Q%$1C,SL
MB(CCF>*$0;S0_/?O&;N9#H+A!>YV/873UJT9ER"B^L6_)<L]U5F5:]5T5X4O
M&L;JBBDN7IQ*+E-JK_9$Q&6Z/S)<W8W%HL='/ZW3%5[AIM<,4\]?+/[/!''C
M.R(IWDWVKO=+(Z-,TV>"J[P35S4<D?M<,\6$;9B_//.R'79$AUQ]]]Q;SSSR
MU.NO.NJJMQUUQ=5+<<<6JM5*K6M:UKUJ2;$1$81P(WF9F<9X7\P
M                   -AN,O*C=_$/9ENVKHO,YN*Y#%JRS=;<JKDO&<OLZ'
MJ//8[F%A4ZW$OMEDUI7JA?:\PNM'8[C+R4.IU^I:7DM7RTY7/417;G@GW5,\
MM,\4]_@F)C8S].U/.Z5F(S.2KFFY'#'%5')5'''_ .8PG:G;>7#YK&E>?6.1
M\=56)K;D-9K963EFI;C/HXB[-0VT>O9/KFXR/#7D>-JJKO=8K2EPMO6J'T+:
MHW*?@W>+=;.Z#<^$VW-/F?!N1'!R4UQQ3S\$\6W&(FO=_>?)ZY;^#V6\_$>%
M1/'RS1/''-PQQ[-L]4SEG3                           0 //K_J8[B^
M"6H/JQQDGO<3^VK/7N>7*#-]_P"XKO4M^1#C>=@Y(    &V/ C]^CA=_%EQS
M^N##C5:]^!YW^4O?PZFTT/\ &LG_ #5K^)2LWBM*Q@
M     J]>7/[UW)W^(7=/UD9*6;TG\*RW\O;\B%;M5_$\SY^YY<M>C8,
M              '2/RTO,4S_ ,OW<K=^C^^.3:5S:1 M^X-<,NI56Z6QA:D1
M\JQEJ1(CPXF<8VV\M45:U(:ELJ<BO*2AQ+K/.;R;O9?7\G\'.%.=HQFW7R3^
MK5^S/'R3MC@PGH=W=?OZ%F^G&-63KF(N4<L?K1^U'%R\$\L6&VMMCX3M[ L1
MV?K?(H&68)G5B@9)B^0VQ:U1;G:;DREYASPW4-28DIJM:MR(SZ&Y$5]"V7D(
M=0M%*^YG+W\I?KRV9IFB_15,51/%,?\ 6R8V3&V-B><OF+.;L49G+U178KIB
M:9CCB?\ K;'#$[)VO;'B]@                         59&^_GTW1]+.Q
MOEA>"T.0]!L^:H\F%:<]Z;>\[7Y4L3F4Q0                    '2;RW_
M #)=J^7[L]%PMSEQS'2&5SHR-HZG=FU3%N,>E4,URK$O65^J67.K5'I_A/>X
M9GM(I&E5[/"=8YS>/=S*Z_ENC5A1G:(\"YAP?LU<M,^QPQQQ/0[O[PYK0LST
MJ<:\G5/AT8\/[5/)5'+Q\$\U@AHW>&LN1VK,1W+I_)XF6X#FMNI/L]TC44T\
MRXVXN-<+3=8+O23:KY9I[3D:9$>2EV/(;4A5/1UK 6>R69T[-5Y/.4S1?HG"
M8[TQ/'$QMB>.$ZY+.Y;4,M1F\I5%5BN,8GOQ,<4Q.R8XI99,1E
M                            !7>><+R[KRYYJY_=;#<JS=8:D<?U#K*C
M,E,BW3K7BMPEM9%E<-3*ZQ7V\PRM<N7'?32BW+;ZFA=:U:ITL'NAI/W3HMNB
MY&&:N_&5\L35&RGWM.$3'+CRH$WLU7[UUBY51..6M?%T<DQ3.VKWU6,Q/)AR
M.69U#F@    3M/(#Y:4WQQ!II?)+EZSL#C).B891$A]"Y<_5UX3*FZYGT2I=
M'/!LK<699$I2CL9CVR/6JJJ<Z4@W?W2?J.K_ %RW&&7S,=+L5Q[>.WLJ[-4\
MB:MQM4^NZ5]3N3C?RT]'LT3MHGM;:>Q$.[9PSM@
M              "&][39\^O&/Z)LN^6#1,'JT]!S/G:?)1+ZQO3<MYJKRD9$
MDM'(     %K%@/YB85\$L<_$\,JUF/EZ^O/?E9NQ\A1U([SUIXO4
M                *G M6J^                             2]/9AOS$
MY?\ PMTY^)]A$2>LSY?*=2YWZ$J^KCY#-]>WWJDILB])8
M           &OG*OD'C'%;COMK?V6*CKMVM\0N-X@6Z2_6,G(<G>HBW8?BS3
MR:*4W(RC*9L. A5*5[%2.ZO1*:UIL-*T^[JFH6LA:]M<KB)GDIX:JO>TQ,]I
M@:GG[>F9"[GKOM;=$S$<L\%-/;JPCMJR#/\ .<FV=G69;(S2XN7C+\]RB_9C
MD]T=Z]]PO^2725>+M+JFJE=E'YTQ:J)I7HFE:4IZ*%ELO8MY:Q1EK,86;=,4
MTQR1$81["N=^]<S-^O,7IQNUU35,\LS.,O)'J\@   ]IK?8.4ZGV#A.S\(N*
M[3F&OLJL68XU<45<I2+>L=N4:ZV];J6G&5NQZR8J4NM]U*.-U4BOHK4\<SE[
M6;R]>6OQC9N4S3,<TQA+VR]^[E;]&9LSA=MU15$\\3C"SLXU[TQ?DQH75.^<
M.4BEBV?AMJR1$-+R9"[/='6U1,BQR2\FE$N3L9R*+*M\BM/1X\9?0K/J61NZ
M;G[N0O?*6JYCLQQ3V*HPF.:5C=.SMO4<C:SUKVERB)[$\<=F)QB>>&;S"9H
M                              8FWY\Q6Z?HFV-\C[R9>0].L^=H\J&+
MGO0KWFJ_)E5DEH%:0                     #I9Y<'F6;:\O\ V.R];WKC
MF6B<HN;+FSM1NS*)B3D.)8BNY;B"I*O5['G5MB,(HAVE4,7!II,:5[BC+L?F
M]X]V\IK^6PJPHSU,>!<Y/V:N6F>['#''$]#N_O%FM"S&-.->2JGPZ.7]JGDJ
MCV>">*8L$=*[GUQR$U?AVXM2Y+#RO LYL\>\62ZQ%I\1"7:=LNUW2)W*>M=]
ML\Q*XLZ&]1+\24TMIQ-%IK0@+.Y/,Z?FJ\GFZ9HOT3A,?ICEB>&)X)C:G;)Y
MS+Y_+49O*U158KC&)_1/),<$QPQ.QE(Q62               >0S_/\ "M5X
M9D>Q-C9/9L,P?$;6_><DR?()K5OM-HMT?MHI^3)=K2E5N.K2VTVBBG7WEH;;
M2IQ:4U]LOE[V:O4Y?+TU5WZYPBF(QF9_Z[G#+ROW[.6LU9C,5119HC&9G9$0
M@K^:KYOF<\UKY==0ZAEWC!>+=FNKB&8+;DNUY#N1V"ZU6)D&>LH<0MG'&I<?
MUBV615*(;K5N1,2N4AE,2<-UMT;&BT1F\W$5ZI5'#PQ;QXJ>?BJJ[4;,<85W
MFWKOZQ7.5RLS1IL3P<$W.>KFXXI[<[<,.(YVKC@
M          ]%B.7Y5@&3V+-<'R.]8CE^,7*->,=R;'+E+L]\LETAKHY&GVRY
MP76)<.4RNGH6A5*].M/P5J>=ZS:S%JJS?IIKLU1A-,QC$Q/%,2]+5V[8N4WK
M-4T7:9QB8G"8GEB83<O*>\YG&N6,>S:%Y'W&RX;R2C,-0\>R-Q4*R8KNWH[X
M+*+1'ZL1++L3L4BCUJ;Z-7!7<]!33JN)'A7>K<ZYI4SG].BJO3IX8VS5;[/+
M1^UQ<%7+,Q[K[W6]4B,CJ$Q1J'%/!3<[')7^SQ\-/)'?LX)W(
M              ( 'GU_U,=Q?!+4'U8XR3WN)_;5GKW/+E!F^_\ <5WJ6_(A
MQO.P<D    #;'@1^_1PN_BRXY_7!AQJM>_ \[_*7OX=3::'^-9/^:M?Q*5F\
M5I6,                       %7KRY_>NY._Q"[I^LC)2S>D_A66_E[?D0
MK=JOXGF?/W/+EKT;!@                    2-/(4\QB1I/9D3AYM>]=-2
M;?O]*ZPNMSEH1&U]M6YJHTU9D.OJ3X./;*D>''\*BJH8O7@+;0GUN6Y6.]^]
MW8SN6G6,I3_R[-/AQ'NZ(X^S1P\]./)$._W(U^<GF8TG-3_Q;M7@3/N:YXNQ
M7P=;#EE-;(83"                         "K(WW\^FZ/I9V-\L+P6AR'
MH-GS5'DPK3GO3;WG:_*EB<RF*                      ==_*0\RF_<$MR
M-8UFURN-PXT[1NUOA[*L75Z8WAEU<JB!!VGCT)*'GFIUF96E-U8C)[[G;&^V
MJ'7XT+P^2WLW;MZ[D_A+,1&I6HGH3P=*.&:)GDGW,S[6>2)J=5NMO#7HF;^#
MO3,Z==F.G'ZL\$5QV/=1'#'+,0L![1=[5D%IM=^L5R@WBR7NW0KO9[O;)3,Z
MVW6U7*,U,M]RM\V,MR/,@SHCR'6G6U*0XVJBDUK2M*D!UT56ZYMUQ,5TS,3$
M[)B8X8F.6$Z45TW*8KHF)HF,8F-L3$\$QS2^B?+Z
M                .6WG!<O*<1.%F?WBPW1N#M':[;NI-8)0^IJX1+KE,*2U
MD64PZ-=SS3F'XFF9,8?[:M(N-(C:Z_XJ:5ZC='2/O?6;=%R,<K:^,KY,*9V4
M^^JPB8Y,>1S6]>J_=6CW*Z)PS-WP*.7&J-M7O:<9[.'*KN2P:!      .FWE
M&\MD\0>:VM\KOUVI:]9;%<_1-M5R2_1FVQ,7R^9#;M^1SU+0XVPQA^4QH%R>
M>HGQ4PX\AM-:4=7UYK>S2?O?1;EJW&.9M_&4<O2IB<8CK4XT]F8GB='NKJGW
M5K%N[7.&6N>!7R85<$SU:L)[$3RK%DKRGT
M          AO>TV?/KQC^B;+OE@T3!ZM/0<SYVGR42^L;TW+>:J\I&1)+1R
M    !:Q8#^8F%?!+'/Q/#*M9CY>OKSWY6;L?(4=2.\]:>+U
M           "IP+5JO@                            $O3V8;\Q.7_PM
MTY^)]A$2>LSY?*=2YWZ$J^KCY#-]>WWJDILB])8
M     $1;VD3E[[Y9!K;A?B%U[HF.(B;9W"U&5THJ^W&*_%UQC$MQ*TN47;K)
M*E7:0PI*FG*7" [2O>WT3+7JYTCHV[FLWHVU?%V^Q'MZNW.%,3S51QHK]8.J
M]*Y;TBU.RGP[G9GVD=J,:ICGIY$5DE%&8     $M7V;7EI1^#M/AGE5R_P 6
M"M_<6I$2GT>[B2%PK5L?&H?C+2JGJ\JL"ZQH[5%55X]Q>51-$UK6*/6-I.%5
MK6;4;)^+N=^BKOTS/-3"4?5[JF--W2+L[8^,H[U<=ZJ(ZTI71%:3P
M                        Q-OSYBMT_1-L;Y'WDR\AZ=9\[1Y4,7/>A7O-
M5^3*K)+0*T@                      #L-Y0_F7WG@OMU&&9[<9D[C-M.\
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
M +?/'['D]7@F#=/>R,_%.FZE5AGHV45S_P!SFG]ORNSPR-".W?@
M              !  \^O^ICN+X):@^K'&2>]Q/[:L]>YY<H,WW_N*[U+?D0X
MWG8.2    !MCP(_?HX7?Q9<<_K@PXU6O?@>=_E+W\.IM-#_&LG_-6OXE*S>*
MTK&                       "KUY<_O7<G?XA=T_61DI9O2?PK+?R]OR(5
MNU7\3S/G[GERUZ-@P     9TXT<?<SY4[RU]H#7MSQBS9ELBXW&V6.YYE-NM
MOQF*_;+%=<@?7=IEDLN175AE<*T.I15F$^JKJDTK2B:U4G!U+4+.EY&YG\Q%
M4V;<1,Q3$35MF(V8S$<?+#-T[(7M3SMO(V)IB]<F8B:L8C9$SMPB9XN27:'[
MM7SH_6OQ-^/6X/V$G&_F1H?S6;\6W]*Z_P#+S6OG<KXUSZ,^[5\Z/UK\3?CU
MN#]A(_,C0_FLWXMOZ4_+S6OG<KXUSZ-Z.%[-%R[7%:7<=Y<<(LVM*^/'A7'9
ML^*VKN51-&I;^N;:Z]2J.E:UJPWTK6M.E>G6OG5ZR=)Q\&QF9IYXHC_7/?>D
M>KO5</"O9>)[-<_Z([SP>9^SB<[\>9D2L:R[CUG[:/3'@V;.,NLUY?I3P:5H
MMC*]?V2RL+4IQ7;3WP52J6ZUK6E:T37WL^L70KDX7:,Q;GEFFF8_RUS/L/"]
MZO\ 6[<8VZ[%<<U543_FIB/9<Z-X^6GSKX[-2YVT>-.QX5C@MKD2\IQ6!$V-
MB<2(A*W/7+ADNO)N46>TL5:155?7'HZT4]"TI5UH=%DMY-#U"8IRN9MS7/N:
MIZ%7:BN*9GM8M!G=W=:T^)JS.7N11'NJ8Z=/;FG&([>#1HW;2@      /ZQY
M#\1]B5%?>C2HSS<B-)CN+9?COLK2XR^P\VI+C3S3B:*2I-:*2JE*TKU$Q$QA
M.V)(F8G&-DPL3/*2YK_];/$C%\FR6Y4F;@UDY'UKM]+RVZ3;ED-IM\9RTYLX
MRBB*U8SFR+;EK<2A#/ODF8RW3HQ7I7K>S1?N75JK5N,,G=\.WR1$SMI][.SE
MPZ,SPI\W6UC[XTJFY<G'-V_ N<\Q&RKWT;>SC'$Z?',ND
M         "K(WW\^FZ/I9V-\L+P6AR'H-GS5'DPK3GO3;WG:_*EB<RF*
M#8CCOQ/Y"\L+SD6/<>M:739=YQ.V1;SD,&V73';6Y;+9-EU@Q9;KF17BSLNH
M>E4JBE&U+52OX:4IZ37ZAJNGZ513<U"[%JBN<(F8F<9C;Q1+/R&EY_5*ZK>0
MMS<KHC&8B8C")[,PVO\ Y-GF8_93RWXVZQ_UP:K^L-VOM5'BU_NMI_26\7V6
MOQJ/WC^39YF/V4\M^-NL?]<#^L-VOM5'BU_NG]);Q?9:_&H_>?$N?E%^9%:7
M6V97$O8[JW&_%36V2,4O35$]RD=''[-D<]AISJG^XI25].E>G2M*GW3O;NY7
M&,9NWV^E'?B'Q5NKO#3.$Y6YVNC/>F6,LB\N?GKBR'W;OP\Y&59C..MR'[1J
M7,LCCM480MQU]<C';3=6:0T-MUK5_N\#I_W_ $T,FWO%H5W91G,OC/+<ICOS
M&WFX6-<W?URUMKRF8PCDHJGO1/=X&M.8:PV5KUSP<^UYG.#O>)X/A9AB5_QE
MSQO3_A=EZM\)7B>YK[GIU]!LK.9RV8C&Q<HKC]FJ*N],M==RV8L?+VZZ.M3,
M=^'ACW>(          3 _9Z_,!D9AC\W@WM2^UD9!AMMF9'H&XW!VJY5TPV)
MXLO*==>L.K[GW\1[O?"UM>[<][%RFZ50Q!:21%ZP- BS<C6\K3A;KG"[$<57
MN:_?<%7[6$\-4I7W#UV;MN=%S-7QE$8VIGCI]U1[WACFQXJ82C",4D@
M                              $"#SV^7JN27,FZ:WQRZ4FZRXS-W/6E
MA3'754.=GKTF,[M6_)ZU52K]+];F+-W)K5M;-D;<1_XBJJG?<;2/NW1XS-R,
M,SF<*YY8I]Q'<F:O?8(/WUU7[PU><O;G'+9;&B.>KW<]V.C[UQ/.T<>
M  L2/)\Y;?\ 5OPEUU>[[<JS]F:I;1I_9RGW7'ILR]8A!AMV')93SZJORW\M
MP]^!.DOUI1"[DY*;3U\*I7O>[2?NG6KE%$89:[\91S15.V/>U8Q$<F'*GO=3
M5?O71[==<XYFU\77RXTQLGWU.$S/+CR.HYS#I0
M            $-[VFSY]>,?T39=\L&B8/5IZ#F?.T^2B7UC>FY;S57E(R)):
M.0     +6+ ?S$PKX)8Y^)X95K,?+U]>>_*S=CY"CJ1WGK3Q>H
M              5T_P#)L\S'[*>6_&W6/^N"PW]8;M?:J/%K_=0%_26\7V6O
MQJ/WC^39YF/V4\M^-NL?]<#^L-VOM5'BU_NG]);Q?9:_&H_>/Y-GF8_93RWX
MVZQ_UP/ZPW:^U4>+7^Z?TEO%]EK\:C]X_DV>9C]E/+?C;K'_ %P/ZPW:^U4>
M+7^Z?TEO%]EK\:C]X_DV>9C]E/+?C;K'_7 _K#=K[51XM?[I_26\7V6OQJ/W
MC^39YF/V4\M^-NL?]<#^L-VOM5'BU_NG]);Q?9:_&H_>/Y-GF8_93RWXVZQ_
MUP/ZPW:^U4>+7^Z?TEO%]EK\:C]X_DV>9C]E/+?C;K'_ %P/ZPW:^U4>+7^Z
M?TEO%]EK\:C]X_DV>9C]E/+?C;K'_7 _K#=K[51XM?[I_26\7V6OQJ/WC^39
MYF/V4\M^-NL?]<#^L-VOM5'BU_NG]);Q?9:_&H_><R#I7.      ;(\=>(7(
M_EG-RJW<>-7779LS"8MIFY2Q:[KC=K5:(M\=GL6IUY61WJS(>I,=MC]$T:JY
M5/AU[J4ZTZZ[4=7T[2J::M0NQ:IKF8IQB9QPPQX(GEAL-/TK4-4FJG(6IN31
M$=+"8C#''#AF.26TW\FSS,?LIY;\;=8_ZX-7_6&[7VJCQ:_W6S_I+>+[+7XU
M'[Q_)L\S'[*>6_&W6/\ K@?UANU]JH\6O]T_I+>+[+7XU'[Q_)L\S'[*>6_&
MW6/^N!_6&[7VJCQ:_P!T_I+>+[+7XU'[Q_)L\S'[*>6_&W6/^N!_6&[7VJCQ
M:_W3^DMXOLM?C4?O'\FSS,?LIY;\;=8_ZX']8;M?:J/%K_=/Z2WB^RU^-1^\
M?R;/,Q^RGEOQMUC_ *X']8;M?:J/%K_=/Z2WB^RU^-1^\?R;/,Q^RGEOQMUC
M_K@?UANU]JH\6O\ =/Z2WB^RU^-1^\?R;/,Q^RGEOQMUC_K@?UANU]JH\6O]
MT_I+>+[+7XU'[Q_)L\S'[*>6_&W6/^N!_6&[7VJCQ:_W3^DMXOLM?C4?O))_
MD(\0N1_$S$>2MNY#ZNNNLIN;9'K*;BS%TNN-W15WBV.V9HQ=7658Y>KRAFD-
MVYL451VK=5>)3MI7I7I'&_>KZ=JM[+5:?=B[3137%6$3&&,TX<,1R2D+<?2M
M0TNUF*<_:FW-=5'1QF)QPBK'@F>6$@DX!W8
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
MCF,M/3CJ^[CN>%[V'8;DZG]0UBFQ7.&7S$=">M[B>[X/OD^8@=.
M                59&^_GTW1]+.QOEA>"T.0]!L^:H\F%:<]Z;>\[7Y4L3F
M4Q0    2;O9D_GUY.?1-B/RP=(T]9?H.6\[5Y*1O5SZ;F?-4^4F0D/I:   #
M^$F+&FQWHDR.Q+B26U,R(LEEM^.^TNG:MIYEU*VW6UIKTJE5*TK0_8F:9QIG
M"8?DQ$QA.V&FFV_+HX,;Q;DTV1Q;T_<YDRBDRKY8<6CX'E+]%=U?\3+L!7C&
M45K2JZU37USJFM>M.E3<93>+7,C,?5LU>B(XIJZ5/BU]*GV&IS6@:+G<?K&6
MM3,\<4]&KQJ<*O9<=.0OLV&B,I:FW;C7N'--3WFK;ST?%=@1V-BX4_(2G_9H
M,6Z1ZV++[!%<5_XDA]Z]N)_"EJO]T[#3_6/GK4Q1J5FB[1^M1X%79PVTSV(Z
M/9<EG_5YDKL35IUVNU7^K5X=/=V51V9Z2.ERV\K_ )D<,O7;MM76$B\:]BO5
M;;VSKM]S,=>K;]S1#]RN$2,Q=\20XXOL12]PK:IU=*T;HNG2M9#TG>;1]9PH
MRMV(S$_]NOP:^U'!5[V9YW :INWJ^D8U9JWC8CW='A4]N>&GWT0Y]&_:(
M   !D;4&U<ST;M' MOZ\NCEGS77.46G+,>G(4Y1OUZTRD2*PYK;3C=95JN;%
M%QID=5?#DQ7G&ETJA:J5Q\WE;.>RMS*9B,;-RF:9CFGDYXX8GBG:R,IFKV2S
M-&;R\X7K=451V8Y>:>"8XXV+-CC7OG#^3VB-7[ZP5VE<=V7BD"_MPZO(D/V2
MZ^[A9%C,YUNB4+N6,9#$E6^35-.VK\954]4]*E:M2R%[3,]=R%_Y2U7,=F.&
M*HYJHPF.:5B].SUK4LE:SUCY.Y3$]B>.)YZ9QB>>&<3!9H
M                   &B?F2\L(_#/A]M;<<:6S'S=VV5PC5+#M&7%2MG9>Q
M*@8R^B,__A36<<0A^\R6*]/%AVUY-*]:T-YNYI4ZSJ]K)S'Q&/2N=2G;5V,=
ME,3RU0TN\.J1I&DW<W$_'8=&CKU;([FVJ>:)5LDR9+N$N5/GRI$Z=.D/S)LV
M8^[)ES)<EU3TF5*DO*6](D2'EJ6M:U54M5:UK6M:ECHB*8BFF,*8X(5ZF9JF
M:JIQJGAE^<_7X       [E>0;RTIQ^YC,:ER2Y>J:]Y.086 RJ/OI9A0=DVM
MV5-UE='?$6FBG9\V9,L;:4TK5;UY;K7T(]'$;^:3]X:/];MQCF,M,U\\T3LK
MCM1A5[UVFX^J?4=6^JW)PL9F(IYHKCVD]O;3[Y/%(+38
M                   AO>TV?/KQC^B;+OE@T3!ZM/0<SYVGR42^L;TW+>:J
M\I&1)+1R     !:Q8#^8F%?!+'/Q/#*M9CY>OKSWY6;L?(4=2.\]:>+U
M                                *G M6J^     !*;]F&_/OE_\$M.?
MCC81%_K,^0RG7N=ZA)?JX^7S?4M]^I+T(D2J
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
M&W;PS8K1[N?OZ;:NZG1%&=FGPH[TS'N9F-LT\4[-G!&U1JVS
M          ( 'GU_U,=Q?!+4'U8XR3WN)_;5GKW/+E!F^_\ <5WJ6_(AQO.P
M<D    #;'@1^_1PN_BRXY_7!AQJM>_ \[_*7OX=3::'^-9/^:M?Q*5F\5I6,
M                       %7KRY_>NY._Q"[I^LC)2S>D_A66_E[?D0K=JO
MXGF?/W/+EKT;!@     Z;^39_4QXI_"W+?JQS@YK?#^VLUU*?+I='NE_<65Z
M]7D5+%@KRGT     #\\R'$N$25 GQ8\Z#.COPYL*8PU)B3(DEI3,F+*C/)6S
M(CR&5J0M"TU2M-:TK2M*G[$S3,54SA5'!+\F(JB::HQIGAA"B\[7RIK=QJNK
M_*CCMCE8.B,KO"(^Q\*MB**@ZCS"\R^R#<++$;12MOUWE,QZC+3/I9M5Q6F,
MW5$>1$8:F?<O>JK4J?NO4*L<]1'@53PW*8X8GEKICQHV\,3,P]OCNQ3IU7WG
MD*<,C5/ATQ[BJ>"8Y**O\L[."8B(ZI(;@0    ?MMESN%EN5OO%IF2+==;3.
MB7.V7"&ZIB7!N$!]N5"F17D5HMF1%DM)6A5*TJE2:5H?E5--=,T5Q$TS&$QR
MQ+]IJJHJBNB<*HG&)Y)A9N\)N0\/E9Q3T=OMA;%;AGN#6Y_*F(R4(8@YW9%O
MXYGUO8;11-$18696B<VSU2CN82A7;2BJ4*TZUI\Z5JM_(3[6W7/1YZ9VTSVZ
M9C'G6,T?/QJ>F6<]'MJZ(Z7-5&RJ.U5$]IM*:MLP
M  !5D;[^?3='TL[&^6%X+0Y#T&SYJCR85ISWIM[SM?E2Q.93%    !)N]F3^
M?7DY]$V(_+!TC3UE^@Y;SM7DI&]7/IN9\U3Y29"0^EH      !^>9#B7")*@
M3XL>=!G1WX<V%,8:DQ)D22TIF3%E1GDK9D1Y#*U(6A::I6FM:5I6E3]B9IF*
MJ9PJC@E^3$51--48TSPPC>>9'Y"NO-LV^_;?X76FTZSVNTB1<[OIUEV/:M:;
M!<0CO6UBB'EL0-<Y._2E:-MH4BQR5]J5-PE*=E*D;=S?O,92JG*:S,W<KP1<
MX:Z.MQUT_P":/VMD(^WAW(L9JFK-Z1$6\UPS;X**NKQ43_EGFVRAL91B^1X3
MD=\Q#+['=<9RG&;K.L>0X]?(,BV7BRWBV2'(EPMMRM\MMJ3#F0Y+2D.-K312
M54)AM7;=^W3>LU15:JB)B8G&)B>"8E$EVU<LW*K5VF:;M,S$Q,83$QPQ,/A'
MV^      )<7LUG*)ZX6;<O$#([BIU=@JG=6LF)#SKBV[3<)-NQO8UGB^)_A1
MX<*[O6F<RPW7JIZX3'>W^^HB;UD:7%-=G5[<>V^+K[,8S1/;CI1,\U,)3]7F
MI351>TJY/M?C*.Q.$5QW>C/;F4JTBU)H
M     $(3VAGEW7<')FQ\:\6N57\'XX0G*9'2+)2Y!N^VLMA0)U[4Y1A=69*L
M/L'JEM1W]78DYRXM=$]RJ5FOU?:3]3TVK4KL?'YF=G+%NF9B/&G&>>.C*&]_
M-5^MZC3IUJ?B<O&WGKJB)GQ8PCFGI(]9(#@P       #]]JNMRL5TMM[LTZ5
M;+O9Y\.ZVJY07EQYMON5OD-RX,Z)(;JEQB5$E,I<;6FM%)6FE:>FA\U4TUTS
M17$31,83$\$Q/##ZIJJHJBNB9BN)QB>28X)67O GE#:^8G%#46](LB(N_P!_
MQYJT;!@1:MI]YMD8WTL^:6]<9#;-8;3UWC*F1&ZH3W0)3#B:50M-:UMU[3*M
M'U6]D9Q^#IJQHGEHG;3//LV3SQ*Q&AZE3JVEVL[&'3JIPJCDKC95'=VQS3#<
M,U#;                                  0WO:;/GUXQ_1-EWRP:)@]6
MGH.9\[3Y*)?6-Z;EO-5>4C(DEHY      M8L!_,3"O@ECGXGAE6LQ\O7UY[\
MK-V/D*.I'>>M/%Z@                                   %3@6K5?
M    E-^S#?GWR_\ @EIS\<;"(O\ 69\AE.O<[U"2_5Q\OF^I;[]27H1(E4
M                                  \YF&6X[@.)Y/G.7W6+8L4PW'[Q
ME.37J:JJ(=IL%@M\BZW>Y254I6M&(4"*XXKI2M>B?12M3TLVKE^[38LQ-5VN
MJ*:8CCF9PB.W+SNW;=BU5>NS%-JBF:IF>*(C&9[4*RKF)R1R+EOR5VWR R1+
MD=S/LH?D6*TN+HJF/X;:F6;)A6/4JGHTIRS8M;HC+SB4HI(D)<>K2BG%%E='
MTZWI.FVLA;VQ;IVSRU3MJGMU3,QR1LXE=-6U"YJNHW<]<]W5LCDIC93':B([
M,[6M!LFN        -\?+3Y6O<-^8VIMO2YCT;")-SK@FU&6U]K<G6V9.QK=D
M$A]'<CUC\FY"8UY9:JI-')5L:I6M*=31;R:5&L:/=RD1C?B.E1UZ=L=W;3/-
M5+=[NZG.DZM:S<S\3CT:^I5LGN;*NS$+)B/(8EL,2HK[,F+)9;D1I,=Q#S$A
MAY"7&7V'FU*;=9=;5125)K5*DUI6E>A7*8F)PG9,+"1,3&,;8E_8_'Z
M                        8FWY\Q6Z?HFV-\C[R9>0].L^=H\J&+GO0KWF
MJ_)E5DEH%:0     )-WLR?SZ\G/HFQ'Y8.D:>LOT'+>=J\E(WJY]-S/FJ?*3
M(2'TM       /R3X$"ZP)MKND*)<K9<HDF!<;=/C,S($^!,97'EPIL20AR/*
MB2H[BFW&W$J0M"JI52M*UH?M-55%454S,51.,3'#$\L/RJFFJF::HB:9C"8G
M@F$:;S)?(0P;8T#(]R\);9;M?[(;1*N]ZT8AQBW:[S9:>^3(3@-7>R/@&2/]
M549@]R;$^KPVT)M]*+=<DG=S?R_EZJ<GK4S<RW!%WAKIZWZ\<_MH_:X$=[P[
MCV<Q35F]'B+>8X9M\%%75_5GF]K/[/"AWY-C.189D-[Q++K%=L8RC&[G-LN0
M8[?K?*M5ZLEWMSZXL^V72VS6F9<&=#D-J0XTXA*T*I6E:$O6[MN];INV:HJM
M51C$Q.,3$\$Q,<,(GN6[EFY5:NTS3=IG"8F,)B8X8F.*7Q#[?      $O#V:
MWE Y=L7W+Q$R&X4<D8H^C<NM8[R^KU+!>9,+']A6N/W5IVP[7?G+7,;;32M:
MNW22NOH(E]8^F11=LZM;C97\77V8VT3V9CI1[V$J>KS4NE;O:5<G;3\91V)P
MBJ.U/1GMRE/D7),         '&;SF?,5IPGT2C!];WAICD9NJ#<K3@ZHSR%3
M]?XHA*H>0[.>9I1=6)<1;GJ=E\7L2]<EJ?31U$&0W7L=SMWOOK/?#YF/_769
MB:N2NKBH_35S;-G2B7([W:_]SY+X'+S_ .PO1,4\M-/'7^BGGV[>C* :\\[(
M==D2'7'WWW%O///+4ZZ\ZZJJW'77%U4MQQQ:JU4JM:UK6O6I/41$1A' @V9F
M9QGA?S      !_1EEV0ZU'CM./OON(99990IUUYUU5$-M--HHI;CCBU4HE-*
M5K6M>E!,Q$8SP$1,SA'"E:>5QY$'OBSCV_\ G/CK[$5=8UXPGCE<D.1WY+54
M)?A7?<+=%-R(S=552XC'*=JU4I1-QK2E78-8LWHWYZ,U9#0ZMO!5>CV8M_O^
M+Q5).W:W)Z44Y[6J=G#3:GOW/W/&XZ4LFV6RVV6W0;/9K?!M-IM<2/ MEKMD
M2/ MUN@Q&DL184&%%;:C1(D9E"4-MMI2A":4I2E*4(IJJJKJFNN9FN9QF9VS
M,\LRE"FFFBF**(B*(C"(C9$1R1#]Q\OH                  &,=PZ9U=O_
M %[D&JMQX38\_P !R>/X%VQZ_1O&84M'546X0)+2FIUHO-N>K1V).B.LRXCU
M*.,N(72BJ9.3SF:R&8IS63KJMWZ9V3'>GBF)XXG&)XX8V;R>6SUBK+9NBFY8
MJX8GOQQQ,<4QMCB0:/-#\GO8W""Y7':FKJWK9G&"?-I5&1N1Z2LJU6],DI9A
MV38S<&.U'=M3SS[;,.^M-M1I#RJ,R&XSZV:2)OW8WOR^MTQE<UT;6IQ'![FO
MGHQX^6GACAC&,<(8WDW3S&C53F<MC<TV9X?=4<U>'%R5<$\$X3ACQ5.S<>
M  #]$.'+N$N+ @19$Z=.D,0X4*&P[)ES)<EU+,:+%C,I6](D2'EI0A"$U4M5
M:4I2M:GY,Q3$U53A3'#+]B)JF*:8QJG@A-,\G[R;+9H2WX_R9Y58Q"NN])S<
M*\ZZUK>8S,R#IECN:F0+]?(KM'&).TEU2A;::T4FPT]">LWN5&AK>[?"K/U5
M:9I=4QD8V5UQPW.6(_8\KJ\,O[J;I4Y&FG4=3IB<[.VBB>"WR3/[?D]G@D=D
M=)                        $ #SZ_ZF.XO@EJ#ZL<9)[W$_MJSU[GER@S
M??\ N*[U+?D0XWG8.2    !MCP(_?HX7?Q9<<_K@PXU6O?@>=_E+W\.IM-#_
M !K)_P U:_B4K-XK2L8                       *O7ES^]=R=_B%W3]9&
M2EF])_"LM_+V_(A6[5?Q/,^?N>7+7HV#     !TW\FS^ICQ3^%N6_5CG!S6^
M']M9KJ4^72Z/=+^XLKUZO(J6+!7E/H      #QFQ=>X=MG \NUGL*Q0LFPC.
ML?N>,9/8IZ*JC7*SW>*Y$ELU4FJ78[Z4.=[+S:D/,/)2XVI*TI53VR^8O92_
M1F<O5--^BJ*J9CBF/^N#CX'CF+%G-6*\M?IBJS73,3$\<3_UVE:+S0XR9#P]
MY,;5X_9 \_/1A&0*_)F^OMH;7DN$7EAJ\X;D*J,TI'3*N6/3F%2FV^J(\RCS
M/7JW4LEHVIV]7TVUJ%O9TZ?"CDJC95':F)PY8PE7?5]-N:3J-W(7-O0JV3RT
MSMIGMQ,8\DXPU=-FUH    )D7LT>\W<ATMOSCU<YE7']:9S9-C8PU(>4MVF/
M[(MK]JO-O@-555+<"T7_  RDERE*4Z/WBM?3W>B'_63D8MYVQJ%,;+E$T5=F
MB<8F>>8JP[%*6O5WG9N9._D*IVVZXKCL5QA,1S1-./9J2;2-$C
M             "K(WW\^FZ/I9V-\L+P6AR'H-GS5'DPK3GO3;WG:_*EB<RF*
M    "3=[,G\^O)SZ)L1^6#I&GK+]!RWG:O)2-ZN?3<SYJGRDR$A]+0
M   C]>=QY8-IY)ZVO?*#2^-(9Y$:RL;MQRNUV2(BDG<F!6:,VJ9#EQ&&_%N6
M=8A:XRG;4\BE94V(VNWJH^KU!,?OMRMYJ]-S-.F9RK_U]VK"F9_[=4]ZFJ?;
M<43X6SPL>%WRW;IU'+SJ63I_Y]NG&J(_[E,=^JF/:\<QX.WP<(.I-J&0
M -[?+-WZ]QLYS<=-F.3*0["O/[=A&:+=6I,6F%;%[\(R.7+0FO\ C-V6#?*W
M%M->O^/#;5^&E#1[RY"-2T/,9;#&Y\'-5/6H\*.[,8=B6[W=STZ=K67S..%'
MPD4U=6OP9[D3CV86417!84                                &K_,[D
MI8.(O&7;F_K[6$\]@V+RG,7M,UU3;>1YU=5(M&$X[1+5?65MW7))L=#]6J*4
MS%\5ZO1#:E4V>C:;<U;4[.0HQPKJ\*8XJ8VU3VHB<.6<(XVMU?4;>E:==SU>
M&-%/@QRU3LICMSACS8SQ*R[*LHOV;Y1DF:95<I%YR?+[_>,HR.\3%=\NZWZ_
MW&1=;Q<I2^E.^1.N$MQU=?[5+J64M6K=BU39M1%-JBF*8CDB(PB.U"NEVY7>
MN57KLXW*ZIF9Y9F<9GMR^">CX         $E_P!G%Y;?D1N+/N(F47*J,>W)
M"D9[K9I]URK,396'VI;F26N&UW49:<RS!(2I#JU4ZU58&D)]TYTK&WK%TGX?
M)V]6M1\99GHU]2J=D^]JG#W\I$]7^J_ YNO2KL_%WHZ5'7IC;'OJ8Q]["9@0
MZEP                                 "&][39\^O&/Z)LN^6#1,'JT]
M!S/G:?)1+ZQO3<MYJKRD9$DM'(     %K%@/YB85\$L<_$\,JUF/EZ^O/?E9
MNQ\A1U([SUIXO4                                    J<"U:KX
M  $IOV8;\^^7_P $M.?CC81%_K,^0RG7N=ZA)?JX^7S?4M]^I+T(D2J
M                               1WO:'N7OZ)>.&.\8\3NOJV<<AYWK6
M6HCJ_P!IMVH,5EM2;FVXXA:'8:\PRIN'#;KZ428,6X,JITK4D+U?:1];U&K4
M[L8V,O'@\]RK@\6G&>:9IEP6_NJ_5=/ITZU.%[,3X7-;IX?&JPCGB*H0D2:4
M.          !/_\ (ZY:?]3/"?&,6R&Z^O[*X[/1-296F0]XMPFXS A4=UGD
M3]*HHNK4[%6J6VKJU+=D3+/)<77JH@3??2?NS6JKMN,,MF/C*>2*IGPX[56W
MFBJ(3GN9JGWCH]-JY..8R_@5<N$>TGMT[.>:9=D#CW6@
M            &)M^?,5NGZ)MC?(^\F7D/3K/G:/*ABY[T*]YJOR959):!6D
M    "3=[,G\^O)SZ)L1^6#I&GK+]!RWG:O)2-ZN?3<SYJGRDR$A]+0
M   CS>>)Y8ELY#:\O?+'3-B9C;YUACRYN>6BV1Z(<VWKNP1G'I2W8[-$IEYU
MAEM0IV&_TK(G6YE4&OBJ:@(:D'<G>:K3\Q3I6<JQR-VK"F9_[=<_Z:IX8X(G
MPMF-6/![Y[N4Y^Q5JF4I_P"=;I\*(]W1'^JF.">&8\';A3A"))J0V     !O
M]Y76_7.-_._CML%^<J%CMRSF%KO-5+>\*'7$-E45A=UEW+JI*7(=@<O#5TZ5
M_ [ 0JE*U32AH=Y\A]XZ%F,O$8W(HZ=/+TJ/"C#LX='MM[NUGIT_6\O?F<+<
MUQ15U:_!G'L8]+M+)$KDL&        8[VWM3"='ZRSK;VQ[NW8\'UWC-TRK)
M+DOL4XW;[7&6_6-"86XUZ[=;B]1$:'&2KQ)4IUMI%*K6FE<C*96_GLS1E,M'
M2OW*HIB.>>7DB.&9XHVL?-9FSDLM7FLQ/1LVZ9JF>:/TSP1''.Q6H\Q>4F=<
MR.0VP=^9XXXQ*RNY>KXWCU)+LB#AN$VONBXMB5L[U>&ABU6VE*OK;2VF5.=?
MDJ31Q]?6R&CZ78T?3[>0L<%$;9XZJI]M5/9G@Y(PCB5YU;4KVK9^YGK_  U3
MLCBIICVM,=B.'EG&>-K$;-K0     /T0X<NX2XL"!%D3ITZ0Q#A0H;#LF7,E
MR74LQHL6,RE;TB1(>6E"$(352U5I2E*UJ?DS%,355.%,<,OV(FJ8IIC&J>"$
MT_R>_)PM^@(./\F^4^-0KIO:>Q&NVN];7F,Q-@Z9C.I0_$OE\BO)=CR-I.IJ
ME3::TJFPT]"?]N[E1H9WOWPJS]56F:75,9&-E=<;)N<T?L>5U>&7]T]TJ<A3
M3J.ITQ.=G;31.V+?//[?D]G@D<$=I                       /E7VQ67)
M[+=\;R2T6V_X]?[;-LU\L=YA1KE:+Q:+E&<AW&V7.W3&WHDZ!.B/+:>9=0IM
MQM54JI6E:T/JBNNU7%RW,TW*9B8F)PF)C@F)XIA\UT47*)MW(BJW5&$Q.V)B
M>&)CCB4)+S@O)]N7%JY7KD?QPLLZ[\;[O.5+R[$8B9$^Y:/N4^12E*5K6KLJ
M;K2;*=HB)+753EL<4F-)55-67G9JW1WNIU2FG3M1JB-1B/!JX(NQ'>KCCCCX
M8XXB'-Z]U*M-JG4-/B9T^9\*GAFW,_Z.2>+@GBE'R._<(  /J6*Q7K)[U:,;
MQNT7*_Y#?[E"LUCL=FA2;E=[Q=[E);AVZV6RW0VWI<Z?.EO(:99:0IQQQ5$I
MI6M:4/FNNBU1-RY,4VZ8F9F9PB(CAF9XHA]445W*XMVXFJY5.$1&V9F>"(CC
MF4VWR??)]MO%JVV7D?R/LL&[\D+O!3+Q'$9:8\^VZ/ML^/6E:4K2KL6;LN;%
M=JB7+153=L;4J-&5557GG85WNWNJU2JK3M.JF-.B?"JX)NS'>HCBCCX9XHB8
M]U-U*=-IC4-0B)U"8\&GABW$_P"OEGBX(XY2#C@'=@
M     !  \^O^ICN+X):@^K'&2>]Q/[:L]>YY<H,WW_N*[U+?D0XWG8.2
M!MCP(_?HX7?Q9<<_K@PXU6O?@>=_E+W\.IM-#_&LG_-6OXE*S>*TK&
M                 "KUY<_O7<G?XA=T_61DI9O2?PK+?R]OR(5NU7\3S/G[
MGERUZ-@P     =4?),MC5W\S_BU%><<:0U<MI7-*FNWNJ[9-'[-O,=NO>E5/
M#=?@)0O^WL57I6E>E3E]]*IHW9S4QR41W;E$?I=-N=3%>\F6B>6N>Y;KG]"P
M^*^)Z        (H_M,/'EARV<?N4]IA43*BS;GHW-Y;;-5+D1);-RS?7BW7$
M=*--P'XN0MJ4NE>]4II-*TZ4HJ5/5MJ$Q5F-+KG9,1=I[6%-?=\#N2C'UB9"
M.C8U.B-L3-NKV:J.YX7=A$H)71:    #N+[/AM-S O,+LF&N2ULP=T:NV)@:
MXZJJ]6>N%DMS&SK>ZY3I5MN0TW@3[32Z]*_XZFTUZN=JN)W_ ,K\/N_5>P\*
MS=HJ[4ST)\J.YS.SW$S/P&O4V<?!O6ZZ>W$=./)]GG3RB"DV@
M           "K(WW\^FZ/I9V-\L+P6AR'H-GS5'DPK3GO3;WG:_*EB<RF*
M  "3=[,G\^O)SZ)L1^6#I&GK+]!RWG:O)2-ZN?3<SYJGRDR$A]+0
M  5ZWG/<08'$GFGED?$+5[UZMW/!IMS (L>/X5LLZ[[/F1LRQ2"I'2,VS8<L
MBR7(\9NB?5+9,AH[>G:I5@-S=7JU;1J)O3CFK,_!U\LX1X-4]FG#&>.J)0/O
M?I5.EZQ5%J,,M>CIT\D8SX5,=BK'".*)AR9.K<N    #_J5*0I*T*JE2:T4E
M2:U2I*DUZT4FM.E:5I6GHJ!:$<2MK*WGQ>X^;??E(F7#8FGM?91>WD*HOMR2
MXXQ;G,FC+52M:5>A9!22ROT^A;=2LFK97ZCJ>8RD1A3;O5TQV(JGH]V,)61T
MO-?7=-L9N9QJN6J9GLS$8^SBV&->SP
M AT^T>\O?RKV3K_AMB5V\2RZQ9A[*VNQ&5_ANY_D=J6G";%,KWT5XV.85<W)
M]4]OAJI?6JUK5;71$O\ JZTCX++7-8NQX=W&BWU(GPI[=48>]GE1-ZP=5^%S
M%O2+4^!;\.OK3'@QVJ9Q]]",,28C@          /?ZHV9E>F-FX!MK!9WO=F
M&MLOQ_-<<E*[U,INV.7.-=(K,QI"VZRK=+7&\*2Q6O8_'6MM75*JTKX9K+6L
MYEKF4OQC9N433/8F,.[R3Q2]\KF;N3S-O-6)PNVZXJCLQ./<Y8XX6>.@=T8G
MR*TIK#>6#N=V,;0PVRY;;XZGV9,FU.W&*E5SQ^X.L?X-;MC=V0_ F)3Z$2HS
MB?["LV?R5W3L[=R-_P"5M5S3//AP3'-,83'-*QV1SEK4,G;SMGY.Y1%4<V/#
M$\\3C$\\,OF(RP                                0WO:;/GUXQ_1-E
MWRP:)@]6GH.9\[3Y*)?6-Z;EO-5>4C(DEHY      M8L!_,3"O@ECGXGAE6L
MQ\O7UY[\K-V/D*.I'>>M/%Z@                                   %
M3@6K5?      E-^S#?GWR_\ @EIS\<;"(O\ 69\AE.O<[U"2_5Q\OF^I;[]2
M7H1(E4                                  !^>9,B6^)*GSY4>#!@QW
MYDV;,?:C1(<2,TIZ3*E27E(9CQX[*%+6M:J)0FE:UK2E#]B)JF*:8QJG@A^3
M,4Q-54X4QPRK6O,9Y83.9_+K:FZ6I4QS#'+DG$-5P9G>FMKUEBBWH&-);C.)
M2N"Y?5JD7B4Q7N\.=<GZ=:T+'[NZ5&C:3:R4Q'PV'2KGEKJVSV<-E,3R4PKS
MO!JDZOJMW.1,_ X]&CFHIV1V,=M4QRS+1TW;3          !V"\D7EI7C!S<
MP^Q7^Y>IZTY!HBZ=S.DA]3<"!>[S.:7KC)G456W%0[:\QJS!<D/*HW$MMUF.
M5KZ#D=]=)^\]%KN6XQS.7^,IY9B(\.GMT[<(X9II=7N;JGW;K-%%R<,O?^+J
MY(F9\">U5LQXHJE8&D!)U                             ,3;\^8K=/T
M3;&^1]Y,O(>G6?.T>5#%SWH5[S5?DRJR2T"M(     $F[V9/Y]>3GT38C\L'
M2-/67Z#EO.U>2D;U<^FYGS5/E)D)#Z6@          KP_.,X@PN(/-/-+-B=
MJ1:M6[8B(VYK6)%CH8MEGM^23YS&1XI!0Q_LT:/C&609C4:,GM4Q;'(G5/1:
M5*L%N?J]6KZ-17=G'-6I^#KY9F(C"J>M3,8SQSB@7>W2HTK6*Z+489:['3HY
M(B9G&F.Q5$X1Q1@Y6'4N9    !_IMQQIQ#K2UM.M+2XVXVJJ'&W$5HI"T+36
MBD+0JG6E:>FE1P[).#;'"M&.+^T?TW<;]#;?4YWR=EZAUYFEPI6G13-WR#%+
M7<;S$<I12Z>-"NK[S*^BE)[T5Z5K3I6M8M3ROU+4;^3XK5ZNF.Q%4Q'=A9/3
M<S]<T^QF^.Y:HJGLS3$S[+.I@LT      !$A]HQYO+FW/%^#6 W9:8EJ]Z-B
M[X<B.T[)-R?:9N&N<#E5;<HOLMT1RE^FLN)4VMR1;'$JHME="6/5YHG1IJUR
M_&V<:+78X*ZNW[6)YJN5%F_^LXU4Z+8G9&%=SL\-%/:]M/9IY$4XE-&0
M  "9)Y(?E-M:NM6.<R>26-47LZ^0F[II/75^@)5^CFQS6H[\'8F009C-'6-@
MW9BJJVV.I-*V>$Y1Y?6<\E,"'M]=ZYS5=6CZ;5_QJ9PN5Q/MYCAHB?U(XY]U
M.SVL>%+>YNZ\9:FG5]0I_P"35&-NB8]I$\%<Q^M/%'N8V\,^#)K(U2*
M                   'X;G;+;>[;<+->;?!N]GN\&7;+K:KG$CS[;<[;/CN
M19UON$&4V[%FP9L5U3;K3B5-N-JJE5*TK6A]4U545171,Q7$XQ,;)B8X)B>*
M8?-5--=,T5Q$T3&$Q.V)B>&)CD02/.(\JBX<+\S=W5I>U7&Y<7\[NU4)CI]9
MN$K3>57%Y:TXC>9-6UN5Q"Y.*Z6.>^M2Z5ZPI*JOH9>F3ENAO33K-GZEG9B-
M3MQV/A*8]U'[4>ZB.M&S&(A3>S=FK2+WUS)Q,Z;7/9^#JGW,_LS[F>U.W"9X
M:G;N,?=Q?%\CS;(['B&(6.ZY-E.376#8\>QZQP9%SO%ZO%SD-Q+?;;;;XC;L
MF9,F274H;;0FJE*J?%V[;L6ZKUZJ*;5,3,S,X1$1PS,ONU:N7KE-JU3-5VJ8
MB(B,9F9X(B$Y#RCO*!LO#BV0MZ[\@6?)>3UYA.TM4!MR-=[#I2T3F5LOVRPR
MT>)$N6<W*(Y5NY75JJFX[2U0X2JLUD2)D([V;W5ZQ5.1R$S3ID3MG@FY,<<\
ME,<5/'PSMPB)GW6W4HTFF,[GHBK4IC9'#%N.2.6J>.KBX(V8S/>(X5VP
M                     ( 'GU_U,=Q?!+4'U8XR3WN)_;5GKW/+E!F^_P#<
M5WJ6_(AQO.P<D    #;'@1^_1PN_BRXY_7!AQJM>_ \[_*7OX=3::'^-9/\
MFK7\2E9O%:5C                       !5Z\N?WKN3O\ $+NGZR,E+-Z3
M^%9;^7M^1"MVJ_B>9\_<\N6O1L&     #K'Y&_\ 5)XO_P#K7_[=]MG*;[_V
MOFO_ !_Q;;J-S/[ERW_D_A5K"PK^G@        Y1>=MK]C8'EJ\ADU9HY<<+
M8P?8%I<55JE(S^,9]C;MV>_Q5MTK5>+R;@U3HJBNKGHHJON%=5N5F)R^\F7_
M %:^E1/OJ9P_S8.8WQL1?W>S'ZU'1JCM51C_ )<5>:6!0,    #>;RRLM?PK
MS!>'EYCK6AR;OW7N)*JA*U*JQG][8P24BM$/,*['(V2+2JO=6E$UK6J5TZH5
MH]Y;47M SE$\67KJ\6.E^ANMW+LV==RE<<=^FGQIZ/Z5E25P6&
M             %61OOY]-T?2SL;Y87@M#D/0;/FJ/)A6G/>FWO.U^5+$YE,4
M    $F[V9/Y]>3GT38C\L'2-/67Z#EO.U>2D;U<^FYGS5/E)D)#Z6@
M    CJ>TC:4BYCQ-UENN)"H[?=,;58M$N;1M?=&PG9]M<M=W2MQ'6G1>76&P
MI3W^YIWJZ5I5714A^KG.S9U6[DIGP+UK'WU$XQ_EFIP/K!R<7=+MYR(\.S=P
MQ_9KC"?\T4H39-"'0     +!GR+\V7F7EHZ)CON5>FX5<MF83+=55?6J+=LC
M)[I:F^BF&4)I&L%YB,T[%.IK1OK57=52$0#OQ8^!WDOS'M:XHJ[M%,3[,2G;
M<N]\-N[8B>&B:Z>Y7,Q[$PZ[').J                              &'
MN06[,1XXZ3V=O/.G%TQ?6&(7;*KA'96EN5=7X3/9:K! 6M*FTW/([P['@1>^
MG9ZQ)1W5HGK6F9I^2NZCG;61L?*W:XICFQX9GFB,9GFAB9_.6M/R=S.WOD[=
M$U3S\D1SS.$1SRK%MO;2R[=VT<_V]GMP7<\PV1EE[S#():E*JWZ_>YSTU<6(
MA5:TCVZ AQ+$9E/1#$=I#::42FE*67RF5LY+*V\I8C"S;HBF.Q$8=V>&>65<
MLWF;N<S-S-WYQNW*YJGLS/>C@CDACHR&.           "7E[-SRV3=L5V=PU
MRR[4K<,3?D[9U(Q+?I1;N-W>5'A;#QRWI4E"*-V?(9$6ZMLI4MUU5UF.=*(9
M56D2>L;2>A=M:Q:CP:_B[G9C;1,]F,:?>TQQI5]7VJ]*U<TB[/A4^'1V)]M$
M=B<*O?3R)3I%Z2P                                0WO:;/GUXQ_1-
MEWRP:)@]6GH.9\[3Y*)?6-Z;EO-5>4C(DEHY      M8L!_,3"O@ECGXGAE6
MLQ\O7UY[\K-V/D*.I'>>M/%Z@
M%3@6K5?      E-^S#?GWR_^"6G/QQL(B_UF?(93KW.]0DOU<?+YOJ6^_4EZ
M$2)5                                   <1//CY=TXY\.;AJ_&[E2+
MLCDT_<=<6Q#$E3$ZWZ[CQ67]H7QM+:T.+8?M4V-9%4ZT]-Z[Z=?#K0[7<72?
MO'6(S5R,<MEL*YY)K]Q'=B:O>N-WVU7[OTF<M;G#,9G&B.6*/=SW,*??(%9.
MR$0           ?Z;<<:<0ZTM;3K2TN-N-JJAQMQ%:*0M"TUHI"T*IUI6GII
M4<.R3@VQPK(WRQ>6#7,CAMJG:MPGHF9[:;=^CW:Z*NMN2F]C88Q&@7BXRT-K
M71A>60%Q;VVBM>J&;DA-?32I7/>;2IT?6+N5IC"Q,].WU*ML1[V<:>S"P>[F
MJ1JVD6LU5.-^(Z-?7IV3/OHPJ[$N@!H&]
M 8FWY\Q6Z?HFV-\C[R9>0].L^=H\J&+GO0KWFJ_)E5DEH%:0     )-WLR?S
MZ\G/HFQ'Y8.D:>LOT'+>=J\E(WJY]-S/FJ?*3(2'TM          !'%]I-TK
M&RSBYJ3>$2,A=[T_M.N-SGZ-UHM&';0M#K%P6M]'6JO RK%;,AM"Z=M*2'*T
M4FO5+DB^KC.S:U2[D9GP+UK&.M1.S_+55W$?^L+)Q=TVUG8]O:NX3U:XV_YJ
M:>ZA5$S(?      L*O(^S9>:^6?QZ]9D4D7#$J[&PF;6CB%U:18=F9;[RQU)
MH\ZXS5C&94%/:OLKTI124T0I'6O^^UCX'>7,8>UKZ%4=NBG'_-BGC<V]\-N[
ME\?;4=.GN5U8>Q@ZRG*.H      PQR)W?B/&S1VT=ZYR^AK&M8XA=,FEL*=2
MP[=IT=ND>Q8["<72J*7/)[_(BVZ)2OH5*E-TKTI7J9FG9*]J6>M9&Q\I=KBG
ML1QS/-3&,SS0P\_G;6GY*YG;_P G;HF>S/%'9F<(CGE6-[<VCF&[=GY]MW/[
MC6Z9GL?*[UE^13/=T9K<;W.=FN1H;2UK]5ML%+B6(K%*]C$9M#:>B4TH67RF
M5LY+*V\IEXPLVZ(ICL1&'=GAF>.5<\UF;N<S->;OSC>N535/9F>]'!$<4,=F
M0QP     )"OD7^6FSR1V#3E+NBP+DZ/U1?VV\)L-SB_^7[0V9:UL2T5D,R$5
M1<<-PE:FW9=*4JQ-N-6XU5+0S,:(_P!^-Y)TW+_=>3JPSMVGPICAHHGO55<7
M'$8SQQ+O-R]W8U"_]YYRG_A6JO!B>"NN._33Q\LX1Q3";T0HF0
M                #Q.R-<81M[ \LUCLG&[;EV"9O99F/Y/CMV9\:%<[9.;[
M'$5JFJ'HTIA=$NQY#*FY$60VAYE:'4(73WRV9OY2_1F<M5-%^BK&F8X8F/\
MK;'!,;)V/',9>SFK%66S%,5V*XPF)XXG_K9/#$[8VJ]SGKY:.WN)/*JUZ)P_
M'LFV1C>W;K5[CK=K7;G;E=LYMLV>B(C%I"(4=#"\VQ:3);C7)I"6TU;6S,[&
MF)+=*3_H.\F4U;2YSUZJFW<LQ\=$SA%,X>VV^YJX8[<;9A!&M[NYO2]3C)6J
M:KEN[/Q4Q&,U1CP=:G@GM3P2E0>5!Y16*<(;-&V_MU%GS7E!D-J2VJ:RAJ;8
M=/6RY0TIN.+X=(55QN=D<FCJV+G>T=OBM=8L3LC*?<F1=O5O;=UNN<IE,:-,
MIG@X)N3'!55R1QTT]N=N&$F;L;JVM&H^M9K"O4JHX>*W$\--/+/%-7:C9CCV
MY.*=B                          !  \^O^ICN+X):@^K'&2>]Q/[:L]>
MYY<H,WW_ +BN]2WY$.-YV#D@    ;8\"/WZ.%W\67'/ZX,.-5KWX'G?Y2]_#
MJ;30_P :R?\ -6OXE*S>*TK&                       "KUY<_O7<G?XA
M=T_61DI9O2?PK+?R]OR(5NU7\3S/G[GERUZ-@P     =8_(W_JD\7_\ UK_]
MN^VSE-]_[7S7_C_BVW4;F?W+EO\ R?PJUA85_3P        :-^9E'8D^7WS#
M;DL,R&T\?]C2$MOMH=0E^)8),J*^E+B5)H]&DLH<;5_>0XBBJ5I6E*F\W:F8
MU_)S'VBCOM+O'$3H6;Q^8K[RM4+'J\@    V(XA..-<LN+[K2UM.M<B-*.-N
M-J4AQMQ&RL:4A:%IK12%H52E:5I7K2IK]7B)TK-1/!]7N>1+/TK9JF6F.'ZQ
M;\N%H.5D61                       %61OOY]-T?2SL;Y87@M#D/0;/FJ
M/)A6G/>FWO.U^5+$YE,4    $F[V9/Y]>3GT38C\L'2-/67Z#EO.U>2D;U<^
MFYGS5/E)D)#Z6@          YM^;YB#6;>6URPM#K"WZ0-?V_+VTMT55;;N
MYCC.<-OTJAUE24,JQ[N77NZ>'175*T]4*Z/=&]-G>/*5QQW)I\:FJG]+GMZ[
M47MWLU1/%;BKQ:HJ_0KE"Q"       )SGLX]V1<N F30T//NJL'(_8EI=0[5
M=6XZWL,UE?:,Q>Y54T84W>DN5[>E/%<7Z.O6M80]8E'1UZFK];+43_FKC]":
M/5_5TM#JC]7,5Q_EHG]+OF<&[@                              13O:
M1>7GJ=IUKPMQ*X='[NN#M_;RHDKI5%LAO3H&N\2F(9<4E:)MQ;E7B2P\E*D5
MAVUY'5*^I*?JYTC&NYK-V-D8V[?9G":ZNU&%,3'+5",?6#JN%-O1[4[9PN5]
MC;%%/;G&J8YJ91(26$6@     9:S[1VS=98-I[8^9XU*L^'[WQF_97K6[/>A
MN^6O&LHN.)WBBFU42['E1IL%N11"J='(4V*^FM4O4Z8EC/9;,W[V6LU1-ZQ5
M%-<<DS3%4>Q.'9B8XF5?R69RUFUF+U,Q:OTS51/+$533/LQCV)B>-B4RV*
M  #9;AYR-O\ Q,Y+:AW]8/6'JX!EL.7?[7&=4TN_X9<4N6C-,>ZT<;15=YQ>
M?*8:JON0V^I#E4U[*4-;J^G6]5TV]D+F'QE$X3R51MIGM51$]AL=)U"YI>HV
ML];_ .W5MCEIG95';B9[:S:Q7*+#F^+XWFF*W*/><8R^P6?*,<O$-7?$NMAO
M]NCW6SW**OI3OCSK?+;=17^U*Z%:KMJY8NU6;L33=HJFF8Y)B<)CM2L9:N47
MK=-ZU.-NNF)B>6)C&)[</OGF^P                               AO>
MTV?/KQC^B;+OE@T3!ZM/0<SYVGR42^L;TW+>:J\I&1)+1R     !:Q8#^8F%
M?!+'/Q/#*M9CY>OKSWY6;L?(4=2.\]:>+U
M          *G M6J^     !*;]F&_/OE_P#!+3GXXV$1?ZS/D,IU[G>H27ZN
M/E\WU+??J2]")$J@                                  *ZSS=^7:.8
M/-/8&38_=47+5^L__P")-5NQ7:N6^?C>*3YWOIE$6J5>#(1F&4RYTYF1V)<7
M;W(K:^O@IZ6%W2TC[HT:W:N1AFKOQE?+$U1&%/O:<(F.7&>- >]6J_>VL7+E
MN<<M;\"CDF*9G&??58SCR81Q.89TSFP    9!U/J_,MU[,P34>O+76\9ML7*
M+/B.-6_N4VR[=+U,:ALO3)%$.4AVV'1RKTJ0JG9'C-K=7T2BM3'S>:LY++7,
MWF)PLVZ9JF>:(XN?BB..=CWRN6O9S,T97+QC>N513$<\_HY9XHVO+Y'CUZQ'
M(;[BF26Z19\BQB\W3'K_ &B71*9=KO5EG/VVZVZ4E"EH3(@SHSC2Z4K6E%)K
MTK4];=RB[;INVYB;=41,3RQ,8Q/;AYW+==JY5:N1A<IF8F.28G"8[4OC'V^
M    2%?9XN6GZ(^3>0<;\GNOJV%<C+8C\G&Y3W;#@;8P^+,GV3PJN(4W&7E.
M.*G05]%(K*EM06_=*HW0C_U@Z3];TRG4;4?'9>=O/15A$^+.$\T=*7>;A:I]
M5U&K3[DX6<Q&SFKIVQXT8QSST4WHA1,@                           #
M$V_/F*W3]$VQOD?>3+R'IUGSM'E0Q<]Z%>\U7Y,JLDM K2     !)N]F3^?7
MDY]$V(_+!TC3UE^@Y;SM7DI&]7/IN9\U3Y29"0^EH          .8WG)XI$S
M#RU.4T"4VPI5JQ3&<KB.O)]U'EXAL'$<D0Y'<HVXMI]YJV+9ZIZ=R'5(56B%
M*.FW.NS9WDRM4<==5/C451^G%SF]MJ+N[N9IGBIBKQ:J9_0KJ2PJ @     )
MV7L[$^3,\OA^.^NBFK5OG94"$FB$IJW&<M.&71:%*32E7*UF7)Y7576O15*?
M@I0@WUA4Q&\&,<,V*)]FJ/T)KW!JF=!PG@B_7$=RF?TN[IPSM0     (LGM)
MG*MRSXIJ;AYC-Q\.7F#S>X=HLQW:I<_)JS3)EGU]8Y5$]S;D2[9''GW!UM71
M:';1$73W*O3*'JXTKIW;NKW8V4?%T=F=M<]J,(]]*-/6%J?0M6M)MSMK^,K[
M$;*8[<XS[V$0LEM%0     &T7#3BSFW,OD5KW0F$)<C.Y1<J2LIR'P%OQ<.P
M6U*1*RO*YM$IJWTMMMZIC-N50F5/=CQJ*2IY-36:QJEG1].N9^_MBF/!C]:J
M?:TQV9X>2,9XFRTC3+VKY^WD;.R:I\*?U:8]M5VHX.6<(XUE+I_4V"Z)UA@V
MGM9V5G'\%UYCT#&L<MC5$56B'"17Q9DYY#;7KMVNLM;DJ;)53Q)4MYQY?5:U
M5K7#.9N_GLU7G,S5TK]RJ9F>SR<D1P1'%$1"PV4RMC)9:C*9:.C8MTQ$1_CS
MSPS/'.UD@QF0                            ^;+LUGN$ZTW2?:K;-N5A
M?E2K'<9<&+)G663.A/VV;(M,MYI<BW/S+=*=CNK94A3C#BD*K5*JTK]17733
M--,S%-7#&.R<)QC'EV[>R^9HHJJBJJ(FJG@G#;&,83AR;-G8?2/E]
M                     ( 'GU_U,=Q?!+4'U8XR3WN)_;5GKW/+E!F^_P#<
M5WJ6_(AQO.P<D    #;'@1^_1PN_BRXY_7!AQJM>_ \[_*7OX=3::'^-9/\
MFK7\2E9O%:5C                       !5Z\N?WKN3O\ $+NGZR,E+-Z3
M^%9;^7M^1"MVJ_B>9\_<\N6O1L&     #K'Y&_\ 5)XO_P#K7_[=]MG*;[_V
MOFO_ !_Q;;J-S/[ERW_D_A5K"PK^G@        T'\TF\L6'R\>7TZ11%6W])
MY79DT6\ABGCY&TSCT6M%KI5*EIDW1%4H_"XKHBGI50WVZ]$W-X<I3'SU,]S;
M^AH]Y:XHT'-S/S-4=W9^E6T%C5>P    ;3<&; [E'-/B/8&J/?\ FG);1T=]
M;"4K=8A?I+QIR?+0E=:)5ZG!0X[7K_8@U>N7(M:-F[D\66N]WH3A[+9Z+;F[
MK&5MQQYBWY<8^PLZ2M"QH                       JR-]_/INCZ6=C?+"
M\%H<AZ#9\U1Y,*TY[TV]YVORI8G,IB@    DW>S)_/KR<^B;$?E@Z1IZR_0<
MMYVKR4C>KGTW,^:I\I,A(?2T          &D'F5_T_N8O\/6SODS.-WNW^/Y
M/^8H[\--O%^!9OS%?>5IY9!7@     ";S[-7^XOM?^++.OJ?T20IZR/QRU_*
M4_Q+J9/5Y^"W?YJK^';2%B/W>                             'C=B9_
MBNJL"S/9F<W1FR8;@.,7O+\GNS_3L@V/'[=(NEQ?2CK2KSR8T95&VT^[=<K1
M":54JE#VR^7NYJ_1EK$=*]<JBFF.69G"'CF+]K*V*\S>GHV:*9JF>2(C&58Y
MRAW_ )5REY ;6W]F=/!O>R\LG7Q%N2[5YFPV-M+5NQ?&8KU4H4]$QG&H,2 T
MM5.]Q$>BE=5*K6ME],R%K2\A:R%GVEJB(QY9X:JO?3,SVU<]2SUW4L]=SU[V
M]RN9PY(X(CM1$1VF!3.8(    -A.*7'O)N57(G4N@,4\=JX[(RZ!:)UR88K)
MKC^,QZ.7/+\G=9_ XQC6+P9<Y::UIWT8[?PJH:_5=0M:7I]W/W?:VZ)F(Y:N
M"FGMU3$=MGZ9D+FIY^UD;7MKE<1,\D<-4]J,9[2:IYQ'!C&MG>7:C']5XNU#
MO/#^P6O,-66BVL(5(9U_A5@9L69XE%K2GB.1W,$A^O4:;2IZ5-M$9%*54KI6
M&=T-<N9;>'X3-58T9RJ::YG]>J<::O&V<D15*8-[-%MYG0/@\M3A7E*8JHB/
MU:8PJI\7;SS3"!.3LA      "</[/3RTIN/BU>..^37+Q\YXVW-N'9$R7T+E
MW/4^6R)MQQEUKQ%^L2/R7O:)]L71*:MQ85(".[JY1-(2]8&D_4]4C4+4?$9F
M-O-<IV5>-&%7//23-N'JGUO3)R%R?CLO.SGHJQF.Y.,<T=%((.!=T
M                        $-[VFSY]>,?T39=\L&B8/5IZ#F?.T^2B7UC>
MFY;S57E(R)):.0     +6+ ?S$PKX)8Y^)X95K,?+U]>>_*S=CY"CJ1WGK3Q
M>H                                   !4X%JU7P     )3?LPWY]\O
M_@EIS\<;"(O]9GR&4Z]SO4)+]7'R^;ZEOOU)>A$B50
M               .5'G'\O4\2.%>=2[#=*P-I;CH]J/6=(ZZ)G0IF1PI%,KR
MAFJ:U>C)Q;$$2W69%$U2U<W8:*]*NTJ=3N?I'WMK5N+D8Y6S\97R81/@T^^J
MPV?JX\CF-[=5^ZM'KFB<,S>\"CEV^VGWM..WEPY5>.6"0,     !)S]G"XBH
MR_9VPN8>66JC]EU6Q(UOJUV4PNK3FP\EMC;N7WV$XI%&_6L8PF>B%_>52M+^
MJO2BFTUI&GK%U;X'+6](M3X=WPZ^I3/@Q/6JC'WJ1O5_I7PN9N:M=CP+7@4=
M:8\*8[%,X>^:Y^T#\3U:/Y>1MX8[;:1<!Y-6J1E#JV$UI'A;3QJD&V[!A*11
M3E6ZWEB7;KSXBZI\>5<95$)[6:FQW!U7Z[I'U&Y..8RT]'LT58S1/:VT\T1'
M*P-^M+^I:K&=MQA8S,8]BN-E7=V5<\S/(X,'=.(    !Z3#<NR+ ,NQ?.\1N
M<BRY5AF0V;*L:O$1=6Y5KOV/W&/=;3<(ZZ5I5+T2?$;<3_VI/.]:MYBU58O1
M%5JNF:9CEB8PF.X]+-VY8NTW[4X7:*HJB>28G&)[JS@XD\AL?Y6\;]0[_P ;
MI'9C;'Q"#=+K;8KE76K#E<-3MHS/&Z+6M;BOR>RNWS(=%*KW+2S1?_>H5IU;
M3[FE:C>R%SAMUS$3RT\-,]NF8GMK&:5G[>IZ?:SUO@N41,QR5<%4=JJ)AL6:
MYL                           ,3;\^8K=/T3;&^1]Y,O(>G6?.T>5#%S
MWH5[S5?DRJR2T"M(     $F[V9/Y]>3GT38C\L'2-/67Z#EO.U>2D;U<^FYG
MS5/E)D)#Z6@          T9\S1Z,QY??,-<MUAEI6@=B,H7(6VVW63(L4AB$
MTE3E:)J^_,=;0TFGNE.J31/55:&\W:B9U_)X</UBCO[6EWCF(T+-X\'P%?>5
MJQ8]7D     "=-[.=_3^O/\ $+L;Y,Z](/\ 6'^/Q_+T=^M-.X'X%/GZ^]2[
MTG".W    !_Q2DH2I:U42E-*J4I5:)2E*:=:J56O2E*4I3TU K0?,,Y'/<K>
M9.^-SMSO7L<O.:S;#@*T.^)&1KO#4HQ3"G8R$_X3'OG8;0S.?2WU2J7*=7U5
M555*LEN_IT:5H]C)S&%R*(FKKU>%5W)G".:(5VU[4)U/5[^<B<;<UX4]2GP:
M>[$8SSS+2\W+4      3F/(&X2LZ#XUKY'9E:? VGR3@PKI:JS&.V;CFG8CZ
MY&(6^/5=*K9_+9W_ ,\D50JB9$5=OHNE%L$([^ZU.?U+[NLS_P 7+3,3SW/=
M3[WVL<D]+E3/N-HT9'3OO"]'_)S$8QS6_<Q[[VT\L='D=]S@G<@
M                                                 !  \^O^ICN+
MX):@^K'&2>]Q/[:L]>YY<H,WW_N*[U+?D0XWG8.2    !MCP(_?HX7?Q9<<_
MK@PXU6O?@>=_E+W\.IM-#_&LG_-6OXE*S>*TK&
M "KUY<_O7<G?XA=T_61DI9O2?PK+?R]OR(5NU7\3S/G[GERUZ-@P     =9?
M(V2I7FD<8:T36M$4W6I=:4K6B4UX\[9112JT_NT[E4IUK_;6ARF^_P#;&:_\
M?\6VZC<S^Y<M_P"3^%6L*BOZ>        #B1[0)M>-KWR[\JQ&DSU>Z;JV+K
MO7D!EEVJ)CL6UWG])=W<2EM:7J0?4<!K'D+Z>'TE):7_ .,FBNUW!RLYC>&B
M]AX-FW77/;CH1V\:L8[&/$X[?K-18T"JUCX5ZY11':GISVL*<)[.'&@3D[(0
M    !U0\E;7:]C>91QQC+9\2W8A<\MV)<W:M4>I%1A>#Y'=K.]5%5)I3Q,H1
M 9HOKU;4[15*5JFE*\OOGF/J^[>9GW5<4T1[ZJ(G_+BZ;<_+_6-X<O'N:)JK
MGWM,S'LX+#\KXGH                       59&^_GTW1]+.QOEA>"T.0]
M!L^:H\F%:<]Z;>\[7Y4L3F4Q0    2;O9D_GUY.?1-B/RP=(T]9?H.6\[5Y*
M1O5SZ;F?-4^4F0D/I:          #FCYP^6LX9Y:_*RZ/.U:K<<)LF),T0\X
MRXZ]F^=8IAZ6D5:HIQRBDWNM5HZ=JFJ*HOHCNK3I-T+4WMY,K3'%7-7BTU5?
MH<[O9=BSN]FJIXZ(I\:JFG]*N>+#H!      G6^SJ66MK\ON?.\!AG\I-_;(
MO5'&NWQ)5&+%@N.^/*Z4I7QTUL/A4Z]:^$VC^SH0=ZPZ^EK\4_JY>B/9JG]*
M:MP:.CH4U?K7ZY]BF/T.\1PKM@                            "-E[1C
MR]_1WI+#.)&)W7P,LWA(CYCL1F.KI)AZGQ:ZU5:H3RJ+;=CHS+.K:CL6CNHY
M'LLMERG8[T5(_J\TCZQG:]6NQ\58\&CGN51MGWM,]VJ)XD>[_P"J_5\G1I=J
M?C;WA5]2F=GC51W*9A"])D1"     !+D]FYXBT@6+9W,_+;93UJ_.2=1:@7)
M;51;5FM[\>?LC)HM%T4TMNYW=J%:HSZ*I<:5;[@U7JAWTQ-ZQM6Z5=K1K4[*
M?C+G9G913VHQJF.>F>)*?J]TKHT7-7NQMJ\"WV(VUSVYPIB>:J.-*ED1V);#
M\64PS)BR67(\F-(;0\Q(8>0IMYA]EQ*FW676U52I*J52I-:TK3H1=$S$XQLF
M$F3$3&$[8E6L^8[Q6?X<\P=NZ9C1'8^&M7G\K]8/N56M$K6N7U<NV,--/.NO
M/25V!+CMHD.KK13DNW.JZ=*T+'[NZI&L:19SDS\=T>C7UZ=E7=]M'-,*];P:
M9.DZM=RD1\3CTJ.I5MCN>UGGB6CANVE    !T,\K?EDKAQS/U7LVZW.MMUYD
M,U6L]MU6[5J'^CO-9,.)<+K/JE#CBHN'7J/!OM4HIWN*M=$4]"ZTKS^]&E??
M&C7<M3&.8ICIV^O3P1'6C&GWS?;M:I]TZO:S-4X6*IZ%?4JX9GJSA5VED VX
MVZVAUI:'6G4)<;<;51;;C:Z44A:%IK5*T+37K2M/16A73@V3PK!<.V.!_L
M                             AO>TV?/KQC^B;+OE@T3!ZM/0<SYVGR4
M2^L;TW+>:J\I&1)+1R     !:Q8#^8F%?!+'/Q/#*M9CY>OKSWY6;L?(4=2.
M\]:>+U                                    *G M6J^     !*;]F&
M_/OE_P#!+3GXXV$1?ZS/D,IU[G>H27ZN/E\WU+??J2]")$J@
M                     0$O/0Y>5Y+\S;Y@N-W1R7K+C<W<-6XZVV^ERWW#
M-69J5[0R1A".Y%')&0Q&[2E:5K0]%LK+J>GB5H3SN/I'W;HU-^Y&&9S.%<\L
M4^XCN>%S35,(.WTU7[QU>JQ;G'+9?&B.2:O=SW?![%,2XNG9.0    !]K&L<
MOF89'8,1QBV2KUDN4WJU8YCUFA(HY-NU\O<YBV6FV1$*4E*Y4^?*;:;I6M*5
M6NGI/BY<HLVZKMV8IMTTS,S/!$1&,SVH?=NW7=N4VK<3-RJ8B(Y9F<(CMRLS
M>$W&FR\0^+NG] VFD5V9A6+L*RVZ1?=-WW/;XZ[?<XO27U-,OOQ9F37&32)X
MM*K9@H99_NMII2M>M:E7J^IWL_7CA75X,<E,;*8\6(QY\9XUBM'TZC2M-M9&
MC#&BGPIY:IVU3W9G#FPCB:U>;UQ._P"K;A)LK'++;/?#9&LF:[?UBEEKQ)TG
M(<-@SG;MCT2B*4=>=RS$I,^ RSW);7.>CK5U\)/39;HZK]TZU;N5SAEKOQ=?
M)A5,83[VK"9YL>5KMZ]+^]-&N6Z(QS%OXRCEQIX8]]3C'9PY%=:6%0&
M!*I]FUY:4MU]VGPSRJY=L;(4/[BU*F4^BB4WNW1H5JV/C,/QEJ==>N5F8@76
M-':HEMI%NN+RJ54Y6I%OK&TGI6[6LVHVT_%W.Q.,T3VIQIF>>F.))OJ]U3HU
MW=(NSLJ^,H[,;*X[<851'-5/&ES$3)3                           Q-
MOSYBMT_1-L;Y'WDR\AZ=9\[1Y4,7/>A7O-5^3*K)+0*T@     2;O9D_GUY.
M?1-B/RP=(T]9?H.6\[5Y*1O5SZ;F?-4^4F0D/I:          #F#YS66,8?Y
M:/*2>ZMNCEUQG$<3BM+\*KDA_,-DX;C2T,-.OQZNN,1;FZ^KMJI2&FEN42NB
M*IKTVYUJ;V\F5ICBJJJ\6BJ?T8.;WNNQ9W=S-4\,TTT^-73'Z5=<6%0&
M !._]GBLS]K\O&+.>JNK>1[LV;>8M%,K:31AAG&L>51M:JU3)1ZS87*]Z>E*
M*K5'X4U(,]8-<5;PS3'N;%$=^?TILW"HFG08JGW5ZN>]'Z'= X=V@    .>_
MFH[]7QOX%\A\_@7#WNR>ZX:[KG"GFU4I-3E.RI#6&PYEM[JT36=885VD71/7
MK1*(*E=JNG:KH-U\A]XZ[E\O5&-J*^G5R=&CPL)YIF(I[;0[S9[[OT3,7Z9P
MN31T*>M7X.SGB)F>TK>"Q:OH     &Y_E\\79G,3EQI_1]692L8O&0(O^Q9D
M:BZ5MVN,53[]Y>[60E2*0G[E;HOO?%=K7HF=-8IT56M$UTV\&J1H^DWL[L^%
MBG"CGKJV4]G"=L\T2V^A:;.K:K:R6WX.:L:^:BG;5W8V1SS"RSMUN@6>WP+3
M:H46VVNUPHMNMMN@L-QH4"!"81&APHD9E*&H\6+':2AM":42A":4I2E*%;ZJ
MJJZIKKF9JF<9F>&9GC6(IIIHIBFF(BF(PB.2'[3Y?H
M                                         0 //K_J8[B^"6H/JQQD
MGO<3^VK/7N>7*#-]_P"XKO4M^1#C>=@Y(    &V/ C]^CA=_%EQS^N##C5:]
M^!YW^4O?PZFTT/\ &LG_ #5K^)2LWBM*Q@                       J]>
M7/[UW)W^(7=/UD9*6;TG\*RW\O;\B%;M5_$\SY^YY<M>C8,     '9#R%/ZF
M.G?@EM_ZL<F./W[_ +:O=>WY<.MW(_N*UU+GD2G_ ) B<P       "%#[1KR
M>C[(Y)8%QMQV>B18N/F-O77+:1U+\-S9.R(MJNKT&16E:L2OR?PN%:ZM*3UJ
MR_<932NBJ*I2:/5WIDY;3;FI7(PN9BK"GJ48QCVZIJ[,1$H>]8&I1F-0HT^W
M/@6*<:NO7A.':IP[<S".<2&X     $H?V9O23URV?R*Y$SHW2#B.%6+4.///
M,][<FZYM>(^6Y([#<4FJ&I=FMV%6]MQ5*T7X5T[:>Y6NA&/K*SL4Y;+Z=3/A
M5US<GL4QT8[LU3XJ2?5UDYJS.8S]7!11%$=FJ>E/<BF.ZF$$1)7
M              %61OOY]-T?2SL;Y87@M#D/0;/FJ/)A6G/>FWO.U^5+$YE,
M4    $F[V9/Y]>3GT38C\L'2-/67Z#EO.U>2D;U<^FYGS5/E)D)#Z6@
M     CM^TB[C9P[B)K/3T69X-YW/MR-/D1/$[?7<-UA:7KQ>Z^'1Q*W/5LLO
MV/*]*5(3U]/1545)"]7.3F]JUW.3'@6;.'8JKG"/\L5N!]8.;BUI5O*1/AWK
MN/O:(QG_ #32A*$TH=      L3/)CP-S7WEJ<8K=)96U.R#'LJSR4I?B44^W
MG>?Y7E-H>HA;CB6T?D]<X:4]G:E:4T7T[E*K6O>^5_ZQO)F:H]K3533XM%-,
M^S$I\W1L? ;NY:F?;54U5>-555'L3#J&<PZ0
M   !\V\WBUX[9[KD%\GQ;59+';9UXO%TFNI8A6VUVR*[-N$^6^NM$,Q8<1A;
MCBZ^A*$UK4^J**KE<6Z(F:ZIB(B.&9G9$/FNNFW1-RN8BBF)F9Y(CAE6@\\^
M4EUYC\J]M;WF.3DV+(K^NUZ_M<Y71RQ:XQU/O1AML]732C4.0NTQTRYB$4[5
M7"5(<K52EJ56R6A:71H^E6LC&'3IIQKF..N=M4]W9'-$0KMK>I5:MJ=W.SCT
M*JL*8GBHC93'<VSSS+4 V[5     R%J75^7;KV?@.H\"@>^69;(RRQX=CL15
M5(95<[]<&(##\QY*5^K6Z'XU7I+U:=K$=M;BNB4UJ8^;S5G)9:YF[\X6;=$U
M3V(C'N\41QR]\KEKN<S-O*V(QO7*XICLS.'<Y>2%G;Q_TKB7'/2FL-&X,W5.
M,:PPZSXI;Y#C3;,FZO0(]*W2_P!P;:K5JEUR.[N/SY=4^Y5)DN5IZ*E:,_G;
MNHYV[GK_ ,K=KFJ>;'@B.:(PB.:%CLCD[6GY.WDK/R=NB*8Y\.&9YYG&9YY9
M@,-EHW/M&O$^FPM#8-RKQBUT>RG1EU:Q3/7X[2JR9>J\UN#;%OF25I[UNMXC
MG3\>C2*)I1#-ZENK51+?0D;U=ZK]7S]>E79^*OQTJ>O3&V/?4X^+$(^W_P!+
M^'R-&IVX^-LST:NI5.SQ:L/&F4+8F5$      %@[Y*G+2O*;A'A4/(+EZ]LO
M12V=.YU5]];L^?$L$&.O!,ED>,MR2][]X<N,R](<4JLFY0IBNOHK2D [YZ3]
MUZU75;C#+7_C*>2,9\*.U5CA'%$PG;<_5/O/1J(N3CF+'Q=7+.$>#/;IPV\<
MQ+KD<DZH                              0WO:;/GUXQ_1-EWRP:)@]6
MGH.9\[3Y*)?6-Z;EO-5>4C(DEHY      M8L!_,3"O@ECGXGAE6LQ\O7UY[\
MK-V/D*.I'>>M/%Z@                                   %3@6K5?
M    E-^S#?GWR_\ @EIS\<;"(O\ 69\AE.O<[U"2_5Q\OF^I;[]27H1(E4
M                              &@WF9<M(_#+AWM/;<.8PQGEP@)P'4\
M5QVC;TO8^8M2(%FF1T5JGUA.*P42KX^UW(J[&MCB$JHI23?;M:3.LZQ:RDQ\
M1$].YU*=L^-.%,<]4-'O%JD:1I-W-1/Q\QT:.O5LCQ8QJGFB5;=(D/RWWY4I
M]Z3*DO.2),F0XMY^0^\M3CS[[SBE..O.N*JI2E5JI2JUK6O4L;$1$81LB%>Y
MF9G&=LR_D     '?[V?+B)7=?*>X<A<HMM7\!XTPF+K:*R8R78-WVUDK$V#B
M,9-7D>&[7%+:B9>*K:55V+.8MZJTHEVE:\%O_JWU+2XT^U/Q^9G">6+<835X
MTX4\\35R.YW$TKZYJ<Y^['Q&7C&.2:YQBGQ8QJYIZ/*G(D(IG *YWS:^)U.(
MG-G9^'V2TTM>ML_E5VQJMJ.PIFW1L2S.7,DRL>MZ:-(9:BX?D[$^ULM44XI,
M2*PM=>KA8?=/5?O?1;5ZN<<S;CX.OEZ5/'/6IPJGGF4 [TZ7]U:Q<M41AE[D
M].CDZ-7%'5G&.Q$.:1TCG0    9HXZ;PRSC9O/5N]L(><;R/6.8VK)H\=#]8
MR+O;X[M8]^QR6\E#BD6W*+!(E6Z5T36M8TIRE/PF'J.1M:ED;N1O_)W:)I[$
M\4]FF<)CGAF:?G;NG9VUG;/RENN)[,<<=B8QB>:5G9J_8V*[@UQ@FU<&N"+K
MA^Q<3L&9XU/3THI^SY%;(UTA>.WU[H\MIF31#[*NCC+R5(72BDUI2L^:RUW)
MYFYE;\87K=<TS'/$X3_\<JQN6S%K-Y>C-69QM7*(JB>:8Q>[/![@
M                 Q-OSYBMT_1-L;Y'WDR\AZ=9\[1Y4,7/>A7O-5^3*K)+
M0*T@     2;O9D_GUY.?1-B/RP=(T]9?H.6\[5Y*1O5SZ;F?-4^4F0D/I:
M        ".7[29N6-B?%74VE8LI#=[V_ME-_EQN^M5OX=K"RR95TI5I-:53U
MRK*+(M*U5JGHTJE$UK[I$B>KC)S=U6[G9CP+-K#WU<[/\M-2/_6%FXM:9:R<
M3X=V[C[VB-O^::4*0F=#X     %BQY-V!.:[\M?BY:I#'@R[[B=_SV2NO7OD
M-[#SC*,TM;Z^K;/7_P CO<5">B>GAH3Z5?WU5YWPO_6-Y,U7'!37%/B4TTS[
M,2GW=*Q]7W>RU,\-5,U>-5-4>Q,.FYS3HP    1:/::-SN0,#XU<?8$JM$Y-
ME&5;;R6*BO95+&(6QG$L1\:M/=.L39&77=5$=>WOB)56E:T16DH>K7)Q5?S.
MH51[6FFW3[Z>E5W.C3W4:>L7.=&QE\A3/MJJJY]['1I\JKN(@Y+:*@     )
MA7LU?&I%AUQNGE=?+>A-TSZ\L:AP&4\BJ9+.(XHJ)?LVFQ%TK5"[=D6528$9
M77W27[ KT4I6E51#ZR-2^$S-G2J)\&W3\)7UJME/;BG&>Q6E?U>:=T,O>U2N
M/"KGX.GJT[:NU-6$=FE*%(R22
M                         " !Y]?]3'<7P2U!]6.,D][B?VU9Z]SRY09O
MO_<5WJ6_(AQO.P<D    #;'@1^_1PN_BRXY_7!AQJM>_ \[_ "E[^'4VFA_C
M63_FK7\2E9O%:5C                       !5Z\N?WKN3O\0NZ?K(R4LW
MI/X5EOY>WY$*W:K^)YGS]SRY:]&P8     .R'D*?U,=._!+;_P!6.3''[]_V
MU>Z]ORX=;N1_<5KJ7/(E/_($3F       U#YR\NL*X2<<,ZWIERHLRXVR+6R
M:]Q9][PGLWV/=X\JF+8RPE+K3]8KC\=<JX.-5JY&M<62^E*JM=M=OH>DWM:U
M&C(V<8IF<:ZOU:(]M5^B.6J8CC:K6M5LZ-I]>=NX35$84T_K5S[6/TSR4Q,\
M2M;V!GF6;2SG+]DYW>)&09IGF27G+<IO<OL2_<[[?Y[]RN<M3;24,L(=E2%=
MC3:4M-(Z(0E*4TI2Q^7L6LK8HRUBF*;-NF*:8Y(B,(5YOW[N9O5YB_/2O5U3
M55/+,SC+R!ZO(    %BKY0'&1[BWP0U'C-YM_O?G&QX[VY\_86SX$IB_[!BP
M)=KML]I2$/-7&P85#M5NDH7UJB1%<I3T=*4KUO=J<:IKMZ[1.-BW\71V*,<9
MCFFKI3'-*?=U-.G3=$M6ZXPO7/C*NS5AA'9BGHQ//#IT<RZ,
M           59&^_GTW1]+.QOEA>"T.0]!L^:H\F%:<]Z;>\[7Y4L3F4Q0
M  2;O9D_GUY.?1-B/RP=(T]9?H.6\[5Y*1O5SZ;F?-4^4F0D/I:
M " 1YZ'*MCDCS>R3%L;N*)VON.]N5J+'W(SJ'84_*8,UZ=LF]M51WTJZO*':
MVKN2M3;L>SLN)I2JU=9ZW'TJ=.T2F[<C#,9B?A)Y8IF,*(\7PNS5*#=]-3C4
M-9JM6YQL9>.A'/5CC7/=\'L4PXSG8N1    !]G'+!=<KR&Q8M8HJYU\R6\VN
MP6:$W_XDRZWF<Q;K=%1Z*^[D2Y*$4_[:GQ<N46K=5VY.%%,3,SR1$8R^[=NJ
M[<IM41C75,1'9F<(6F>H]>6S4>J=9ZJLU45M&M-?X=@%L4VW1I"X&'X[;L?B
M.4;32E$>(Q;TJZ?_ !J5?S>8JS>:NYJOV]VY57/9JF9_2LME;%.5RMO*T>UM
MVZ:8[%,1'Z&0S'>X                           #@M[0%RZ_05Q,9T5B
M]T]5V%R;ES,8E4BR?#G6O5%B5"EY_,4ENJE(9R54F)8JH=31$F'/F]E>YFO3
MN]P=)^O:M]>NQCE\M$5<TUSCT/%VU<TQ3RN(WZU7ZEI?U*W.%_,SASQ1'MI[
M>RGGB9Y$%DG!"P     $F[V</B+^6.TM@<PLLM?B6'5$>3KG5SLJ-W,R=BY/
M;$KRZ]07E4Z)D8IA,Y$-5*=:*_*#K2M%-$:>L75O@<K;TBU/QEWPZ^I3/@Q[
MZJ,?><Z1O5_I7PN9N:M=CP+7@4=>8\*8ZM.SWR9"0^EH \'M+6^*[AUMGFJ<
MX@TN6(;&Q'(,+R2%7MHMVT9';)-JFJCN*2OU>:PS)JXP[2G>R\E*TUHI-*GO
ME<S=R>9MYJQ.%ZW7%4=F)QCM<O,\,SE[6;R]>5O1C:N433/8F,/_ ,*PWD%I
M7*^.>[=H:-S=KLR76&97G%)SZ6UML7./ DJK:K]!2Y1+E;9D5G<CSXJE4HI4
M:2BM:4K7H68T_.VM1R5K/6/D[M$51S8\,3SQ.,3SPKCG\G=T_.7<E>^4MUS3
M//AP3'-,83'-+#QF,0    '9[R+^6E.-?-2P87D5R]2UOR/CP]4Y+1]]#,&#
MESLM<C6%_>HXMIJKL?)9"[7WK51+,:\OKZ5JFE#C=^-)^\M&JO6XQS.6\.GE
MFGW<=SPNS3#KMR]4^[M8ILW)PR^8CH3R15[B>[X/8JE/Q(&3D
M                   (;WM-GSZ\8_HFR[Y8-$P>K3T',^=I\E$OK&]-RWFJ
MO*1D22T<@     6L6 _F)A7P2QS\3PRK68^7KZ\]^5F['R%'4CO/6GB]0
M                                "IP+5JO@     2F_9AOS[Y?_  2T
MY^.-A$7^LSY#*=>YWJ$E^KCY?-]2WWZDO0B1*H
M          (.OM"'+W]-7*"U<=L5N;,K >-<23 O-8;OB,7/;F3,Q).6J?<1
M1*'OR3M<>':D-U[E19J)Z>[_ !%)I-OJ_P!(^I:9.H78POYF<8YK=/M?&G&K
MGCH\B&=^]5^N:E&GVIQL9>,)YZY]MXL84\T])'Z.^<*    #_3;;CKB&FD+=
M==6EMMMM-5N..+K1*$(0FE5+6M5>E*4]-:C@VR<.R.%9">5YQ)8X:\-M7ZRN
M%M;@[#R"%^D?;;OA5;EO;#S"-$E3[;-[DH4IS$;0S"LB:]$T4BVT7T[E*K6N
MF\^K3K&L7<S3..7IGH6^I3P3[Z<:NVL%NWI<:1I%K+51A?JCIU]:KAB>K&%/
M:="3GV^ .!'M!_$[]-/$VW;[QJW(?SGC1=G;Y<5,1^^;<]594[!M69Q*5:;\
M5W\GKFU;KO13B_"C0HLZJ4]SM:G>[@:K]2U6<A<GXC,QA'-73C-/=C&GGF:>
M1PV_>E_7-+C/6X^/R\XSRS15LJ[DX5<T15RH,Y-R&      )G_LY/+2NP-(Y
MWQ-RBY>-DVD9SF9Z_;D/K7(F:NS"Y*5=X$9MQ;BU,XAG$I:G%>Y0AJ]QFTI]
MQ6M8;]8FD_5\[;U6U'Q5^.C7UZ8V3[ZGR9E+OJ_U3X?)UZ7=GXRS/2IZE4[8
M][5Y4)*!'"0P                         8FWY\Q6Z?HFV-\C[R9>0].L
M^=H\J&+GO0KWFJ_)E5DEH%:0     )-WLR?SZ\G/HFQ'Y8.D:>LOT'+>=J\E
M(WJY]-S/FJ?*3(2'TM          !7[^>'RKB<F><666?%[I[XZ[T#;DZ;QA
MZ/(4[;KC?K-/ES-B7Z,VE2X]5R<OE/6Y,AI2D2X5JC.TKVUI2D^;DZ5.FZ)1
M7=C#,9B?A*N6(F/ CQ<)PXIJF$%[YZG&HZS51:G'+V(^#CDF8GPI\;9CQQ3$
MN/!U[DP    ?:QK'KOEV16#%,?AN7"_9/>K5CUD@,TJIV==[U.8MMMAM4I2M
M:N29DE"$TI2OI4?%RY1:MU7;DX6Z:9F9Y(B,9?=NW7=N4VK<8UU51$1SS.$+
M3C56!6S56K];ZOLM$4L^M\"P_ K31M%&VZ6S#\>MV/0*(;2E"4(I%MR.E*4I
M2E/1T*O9J_5FLU<S5?M[ERJJ>S5,S/?66RMBG*Y:WEJ/:6Z*:8[%,1$=Y[T\
M'N    "!'[0#M1S8?F)Y;BZ)-'X&F-<:YUM#2U7_  $OS;2[LNZ5]S7L7*1<
M=A+8=7_>ZL4;KZ&Z4I.^X.5C+[O47</"O7*Z^Y/0CV*,>WSH0WZS/UC7ZK6/
M@V;=%'L=.?9JP[3B8=HXX    '_4I4M24(352E5HE*4TJI2E*KTHE-*=:UK6
MM?10"SBX-Z';XS<1N/VD50V8-UPC6]B;RMAA"6VU9U?6EY+GK]*)Z]WK.97F
M<YUK6JJT5Z2M.MYZ=2U;,9W'&FNY/1ZL;*?\L0L;HN1^[M*L9/#"JBW'2ZT[
M:O\ -,MK#5-F
M            " !Y]?\ 4QW%\$M0?5CC)/>XG]M6>O<\N4&;[_W%=ZEOR(<;
MSL')     VQX$?OT<+OXLN.?UP8<:K7OP/._RE[^'4VFA_C63_FK7\2E9O%:
M5C                       !5Z\N?WKN3O\0NZ?K(R4LWI/X5EOY>WY$*W
M:K^)YGS]SRY:]&P8     .R'D*?U,=._!+;_ -6.3''[]_VU>Z]ORX=;N1_<
M5KJ7/(E/_($3F     !B?=N\=5<=-;Y!MG<^:6?!,#QICQ)]YN[U4UD27$KK
M#M%H@M)<G7J^W);=41845MV3(7Z$(KZ>F7DLCFM1S-.4R=$W+]7!$=^9X(B.
M.9V0Q<YG<KI^7JS6<KBBQ3PS/>B.&9GBB-LJ^WS,O,2S7S!-TTR1;%RQ;3.#
M5GVK4&O)DAEQVUVZ4ME-QRK(:1:JBO9CE=8C3DKL4ZU#9;:BM..)94\]/N[6
M[UG0,E\'LJSE>$W*^6>*F/V:>+EG&9PQPB"MXM?O:[G/A)QIR=&,6Z.2..J?
MVJN/DV1'!C/-HZ-SP    .G?E(\,GN9W,'"L<OUH<GZCUFY'V9MYYUA2[;)Q
MZQ3&EV?#Y3BDT86YG6048@K8[TO*M_KCS?7U=73F=[-9C1M(KN6YPS=WP+?+
MC/#5[V,9QX,<(XW1[K:1.KZM1;KC'*V_#N<F$<%/OIPC#DQGB6*A7I/H
M                    59&^_GTW1]+.QOEA>"T.0]!L^:H\F%:<]Z;>\[7Y
M4L3F4Q0    2;O9D_GUY.?1-B/RP=(T]9?H.6\[5Y*1O5SZ;F?-4^4F0D/I:
M         '(;S?\ S$K7P?T%.QS"KRQ_U'[?M5PLFK[<PI+LS$+6_14"^;2N
M#7=VQ6,=;<6BU>)15)5XJU2C;K#$OP^MW1W>JUO/Q<O4_P#KK,Q-<\54\,41
MV?=<E./!,PY7>O7Z=&R,V[,_^PNQ,41^K'!-<]CW/+5APQ$J^UYYV0Z[(D.N
M/OON+>>>>6IUUYUU55N.NN+JI;CCBU5JI5:UK6M>M2?HB(C".!!,S,SC/"_F
M     '7#R1N.CO('S =539L"LO$=&TE;SRAY25499DX4]$1@C27>E&E2E[&N
M-I>HS6O<Y&COUI2M$*K3D]]=1C(:!=IIG"]?^*I]][;_ "15VYAU.YNGSGM=
MM53&-JS\9/O?:_YYI[42L'R $[@                           /\..-M
M-K==6AIII"G'''%40VVVBE5+6M:JT2A"$TZUK7T4H.'9'"<&V>!7#>:=RWKS
M*YF;-V1:+E[X:YQ>1366I%-K6J([K_#IDYB)>HE%UZT9S"]2IUYIUHE:4W!*
M%4IV=*6*W7TG[GT:UEJXPS%7AW.O5AL][&%/:5^WFU7[WU>YF*9QR]/@4=6G
M';[Z<:NVYV'0M     #Z^/6"]97?['BV.6V5>,AR6\6RP6&T0D>+-NMZO,UB
MW6NVQ&^M/$E3ITEMIM/6G5:J4/BY<HM6ZKMR8BW3$S,SQ1$8S/:A]6[==VNF
MU;B9N53$1'+,[(CMRLS.$7&6R\0.+NHM!VFD1Z?AV,1G<SNT.BJLY!L*]U5>
M,YOC;CB4R'(DW(YDBD2CG5;,%#+/7HW0K9K>IUZOJ=[/UX]&NKP8GBHC93':
MC#'GQGC6+T;3J-*TVUD:,.E13X4\M4[:I[<XX<V$-K#5-F  (?WM)'$]-AS?
M5W,7%[;1NWYVPQJ;:CT=FB4TRZP0)$_ +[,6VS6KLJ]8I#EVYQQQ=*(:LL5"
M:5JHESU<ZK\)8NZ/=GPK?QE'5F<*XCL583[Z44^L+2^A>M:M;CP:_ KZT1C3
M/;IQCWL(N))Z-0    ?WBRI,&3'FPI#\29$?9E1)<5YR/)BR8[B76)$=]I2'
M67V7444A::T4E5*5I6E:'Y,15$TU1C$OV)FF<8V3"RA\N#E;$YD\/]3;D>G1
MY6:>]-,,VK&94W1R!LW$6F+=DJI+#+;34+\H$58O,=E-.C<*YL4ZE<=X]*G1
M]7NY.(F+./2HYZ*ML=G#;3,\M,K"[OZG&KZ3:S<SC>PZ-?-73LGN[*HYIAO.
M:-N@                            "&][39\^O&/Z)LN^6#1,'JT]!S/G
M:?)1+ZQO3<MYJKRD9$DM'(     %K%@/YB85\$L<_$\,JUF/EZ^O/?E9NQ\A
M1U([SUIXO4                                    J<"U:KX     $I
MOV8;\^^7_P $M.?CC81%_K,^0RG7N=ZA)?JX^7S?4M]^I+T(D2J
M                      &JO-KDQ9>(7%[;V_;O6.[,PS&'V\1MDE*G&[[G
MU[<;LF#V5QEMQIYR),R6?'];JW7N:A)>=_ W4VFBZ;7J^IV<A1CA75X4\E,;
M:I[41.'/A#6:QJ-&E:;=SU?#13X,<M4[*8[LQCS8RK-<GR6_9GDF0YAE5UEW
MW)\KOEVR7([W/<\6?>+]?9\BZ7BZS7:431R7<+A*<><5TIU6NM2REJW;LVZ;
M-J(IM44Q$1'!$1&$1'8A76Y<KO7*KMV9JN553,S/#,S.,SVY?$/M\     [$
M>2'Q&7R@YJXIDF06OU[6/'GU#;F9K?114&;D%LG4_1KC3R5MNM/KNN61DS78
M[J:M2;=:I;:J^FE*\AOKJWW9HM=NW.&9S&-NGEB)CPZNU3LQXIJAUFYNE?>6
ML4W+D8Y;+X5U<DS$^!';JVX<<4RL!R TZ  #X&58O8<WQ?),+RJVQ[SC&7V"
M\8OD=GF)[XEUL-_MTBU7BVRD=:=\>=;Y;C2Z?VI74]+5VY8NTWK4S3=HJBJ)
MY)B<8GM2^+MNB];JLW8QMUTS$QRQ,83';A60\O\ CO?.*/)?<7'^^U?><UUF
M,ZWV6XR$T0[>\/N+;-[PG(%I2E+:7+YB5SA2G$)ZT;<=4CK6J:EEM(U"C5=-
MLY^C_N41,QR51LJCM51,*Y:KD*]+U&[D:_\ MUS$3RTSMIGMTS$M;38M>
M #<SR_>4<[AURVU!O%+TK\FK-D"+%L6#%[EJNFMLII[RYC'I&I5*)DJ!;)59
M\-M5:)K/AL*K6G;UII]?TNG6-)O9'9\+-.-$\E=.VGNSLGFF6WT+4JM)U2UG
M?^W%6%<<M%6RKN1MCGB%EM;KC O%O@7:U38MRM=TA1;C;;C!?;DPI\":PB3#
MFQ)+*EM2(LJ.ZE;:TUJE:%4K2M:5*W54U45317$Q5$X3$\,3'$L135373%5,
MQ-,QC$\L/VGR_0                        Q-OSYBMT_1-L;Y'WDR\AZ=
M9\[1Y4,7/>A7O-5^3*K)+0*T@     2;O9D_GUY.?1-B/RP=(T]9?H.6\[5Y
M*1O5SZ;F?-4^4F0D/I:         '';SC/,4M7"?0DS"\(O#"N1VYK/<;+KV
M!%?2J?A&.R4O6Z^[3N+2%T<B-VI/B1K/5?3UF[U2I*768DNB.OW/W>JUK/Q>
MOQ_ZZS,37/%5/#%$=GAJY*>29AR>]NOTZ/D9LV9_]A>B8HCCIC@FN>QP4\M7
M+$2K^W'''7%NNK6ZZZM3CCCBJK<<<76JEK6M5:J6M:J]:UKZ:U)\X-D(+X=L
M\+_(     =;_ "1N/3F_?,$U1+FP?6\4TBB=O+)EK:JIII_"EQ6L(31=4J9I
M(KL6Z6EVB%5[ELL.U33W-:TY/?74/J&@78IG"[?PM4^^]M_DBKMS#J=S<A]>
MUVU,QC:LXW)][[7_ #S3W)6$! "=P     *R#G?GZ]H\TN5.=^-61%ON_-H^
M]#JDK2NN/6S+[K9\;0XEQ;BDN-6"WQD*IU[>Y->E$TZ4I9;0LO\ 5=&RMCCI
ML48]F:8F?9F5<];O_6=8S5_BJOUX=B*IB/8B&IYM6K    !N9Y=^H4[VYP<7
M]8OQ*3[9>MNXO=LAA*I2J9>)X5(7G.7QU=:*I2CV+XW+36M:5I3KUZ&GWAS?
MU'1,UF8G"JFS5$3^U5X-/^:8;?0,I]=UG+9:8QIF[$SU:?"J]B)6896Q8D
M                                                           "
M !Y]?]3'<7P2U!]6.,D][B?VU9Z]SRY09OO_ '%=ZEOR(<;SL')     VQX$
M?OT<+OXLN.?UP8<:K7OP/._RE[^'4VFA_C63_FK7\2E9O%:5C
M            !5Z\N?WKN3O\0NZ?K(R4LWI/X5EOY>WY$*W:K^)YGS]SRY:]
M&P8     .R'D*?U,=._!+;_U8Y,<?OW_ &U>Z]ORX=;N1_<5KJ7/(E/_ "!$
MY@  !@W;W)KCQH&#(G[IW9K'6:([5'O4\OS*QVF\RDU0EU+=LL#\RE\NTAQI
M=%):BQWG5)]-$UIZ3.RFF:AGZNCDK-V[U:9F.W/!';EA9O4<AD:>EG+UNWUJ
MHB>U'#/:APVY3>T:\=-?Q+E8>+>%Y!O;+:-NM0LPR:%<<"U=#?KT2U*I'N3,
M?/LCHPNBJN1O4+2VXGM\.7[JM4]OI?J[U',3%S5*Z;%KCIIF*J_8\&.SC5V'
M&:GZP-/L1-&FT57[OZTXTT>SX4]C"GLHJW*[FIR,YI9JG--^9_-R/U%R17&<
M0MR*V? \+C2:IHN)BN+1G%0H-5M-H0[+=J_<)26TUD2'E)HHE+2M%T[1K/P.
M0MQ3C[:J=M576JX9[&R(XHA&6J:QJ&L7OAL]<FK#@IC933U:>+L[9GCF6JAM
M&L    !]*S6:[Y%>+5C]@MD^]WV^W*#9K+9K5$?GW2[W>YRFH5MMEM@14.R9
ML^?,?0TRRVE3CCBZ)32M:TH?-==%NB;ER8IMTQ,S,[(B(VS,SQ1#ZHHKN5Q;
MHB9KJF(B(VS,SP1$<LK$ORJ>"$#@AQDM&)WN/$>W1L9<'-MU7>.IE^C>1.Q%
M(M.%PIC*W42+-@-ND*B-J0XME^<Y,E-]J9/8FO>].NU:[J<W:,?J=O&FW'-Q
MU3SU3MYHPCB3YNSHE.B:=%JO#ZY<\*Y//Q4]BF-G/.,\;ID<TZ(
M               *LC??SZ;H^EG8WRPO!:'(>@V?-4>3"M.>]-O>=K\J6)S*
M8H    )-WLR?SZ\G/HFQ'Y8.D:>LOT'+>=J\E(WJY]-S/FJ?*3(2'TM
M   '+;S%_-2T;P(Q:?9')L#8G(>Z6VKF':>M4U#C]O7+C>) R79$N,NJL3Q1
M'>AQ#:^EQN=*T3$:JWXTF-U&[NZV>UZ[%<1-O3XGPKDQP\L4?K5>Q3QSP1/-
M:_O-DM#M31C%S/S'@VXXN2:_U:?9GBCAF(#_ ""W_M'D_MO+]V;BR%>1YUF<
MY,F=(0UZK;;9!C-)BVJP6&W)4MNUV"QP&D1XK":JJEM'<XIQU2W%SOI^0RNF
M92C)9.GHV*(V<LSQS,\<S.V9_0@_/Y[,ZEFJ\YFZNE>KG;R1'%$1Q1$;(C]+
M#)F,0     "<Y[/GQ,<TCQ,N.]LGMR8V<\FKK$R&W4>9[)=NU3B_KUNP:.KQ
M$56U7(9TNXWCN;7X<B#,A54GO:(0W_U;Z[JL9&U.-C+1A//75A-7<C"GFF*N
M5-&XFE_4]+G.W(PO9F<8YJ(V4]V<:N>)CD=\S@W<
M        ./?G;\O4\6N%N4V#';I6!M/D'69J;!Z1UT3-M]DN$1*]DY0W3JAQ
MMNTXB^N"T^VJCL:Y76&XGK1->G7[E:1]Z:S3<N1CE<O\95R3,>TI[=6W#CBF
M8<GOCJOW9H]5NW.&9O\ @4\T3[>>U3LYIJB5?H3X@L     #OQ[/IQ%KNWE9
M/W_E%L5(P#C1 8O5L6^VE42Z;;R-$J%A<3M<I3QJ8U;FI]X4MI7?&G18'=3M
M>IUX/?\ U;ZEI49"U/\ R,S.$\UN-M7=G"GGB:N1W.XFE?7-3G/7(^(RT8QS
MUSLI[D8U<TQ3RIRY""9P   U5YM\:[3RYXM;CT'<DQ$3\UQ.77#[E,0A3=CS
M^RJ1>\&O2G*H4ZS'AY-;XU)7AU0MV$MYKNI1RIM-%U*O2=4LY^G'HT5^%'+1
M.RJ/%F<.?"6LUG3J-5TV]D:L.E71X,\E4;:9[L1CS8PK+K[8[OC-[O&-Y!;Y
M5HOV/76X6.]VJ:W5F;;+O:9;T"Y6^6U7TM2H4R.MMQ-?[JTUH65HKHNT1<MS
M$VZHB8F..)VQ/;5TKHKMUS;N1,5TS,3'),;)A\L^GR    "1I[.GRTKK+D/E
MW%K*+EX.(\@+8N^86B2^I,:W;8PBW2IOJT=+BT18OY986W+:><KU<D2[7;V$
M4JI=*$=^L/2?K.GT:I:CX[+SA5SVZIP_RU88<D552[_<#5/JV?KTV[/Q5^,:
M>:NF/]5./9FFF$ULAA,(                            !#>]IL^?7C']
M$V7?+!HF#U:>@YGSM/DHE]8WIN6\U5Y2,B26CD     "UBP'\Q,*^"6.?B>&
M5:S'R]?7GORLW8^0HZD=YZT\7J
M  5.!:M5\     "4W[,-^??+_P""6G/QQL(B_P!9GR&4Z]SO4)+]7'R^;ZEO
MOU)>A$B50                               AM^T=\NE9EM77_#W%+HM
M6/ZFCL;$V@Q&DMKC3=BY3:Z4Q&TS6454I$C$<*G.2D]:THK\H*TJGJTFI,/J
MZTGX'*W-7NQ\9=\"CFHIGPI]]5&'O.=$OK U7X;-6])M3\7:\.OGKJCP8GJT
M[??(RA)2.0     +!/R3N(E>*_"K$[KD5MK"V?OUR+M[.*28R6+C;+7=[>RU
MK_%'U*0B4ENRXI5N6ZP]2BXURN<U'3H0%OIJWWIK5=%N<<KE_BZ>29B?#J[=
M6S'CBFE.NYVE?=FCTU7(PS-_XRKEB)CP:>U3MPXIF77PY%U8   13_:3.*%9
MMIU/S(Q>VT\>RU:TWM5R,RFBEVN;(G7G7-_E]BT4Z0KF]<;:^^M*UK];@M=U
M$MH22GZN-5Z-=W1[L[*OC*.S&$5QVXPF(YJIXT9>L+2\:;6K6XVQ\77V-LT3
MVIQCMQ'$B0$L(L      GJ>0QRV5R)X:0-99+=JW#9'&6;"UO=4R7ZO7";KN
M9'D2]57AVG:E*(L:SPY5B:IU4NM+#5:Z]7*5K!._>D_=^LSF;<89;,Q-<<G3
M]W'=F*O?)NW(U3Z_I$9:Y..8RT]">7H>XGN8T^]=NSBG9
M         !B;?GS%;I^B;8WR/O)EY#TZSYVCRH8N>]"O>:K\F5626@5I
M  DW>S)_/KR<^B;$?E@Z1IZR_0<MYVKR4C>KGTW,^:I\I,A(?2T        <
MK?,:\U?2/ O%YUA:EVW8_(BZVU;F(ZCML^BZVI<EE?J.2;(F0U*7C.-,KJEQ
M,>JD7&YT]Q&11OQ9+'4[N[K9W7;L7)B;>GQ/A7)CAY8H_6JY^"./BB>9W@WG
MR6AVYHQBYGYCP:(G@Y)KY(YN&>+CF(#N]-Z;1Y([1RK<>X\JG9?GF7SJR[G<
MY=>R/%CH_P .!9K- ;Z1;/8+/%HEB'#82EF.RFB4T_#6L[Y'(Y73LK1D\G1%
M%BB-D=^9GCF>&9GA0?G<[F=0S-6;S=4UWZYVSWHB.*(XHXF)#+8H     $X+
MV>'BH[J'BSD7(3);:N+EW)&^,R;%ZRTE$B+JS"7KA:\;6A*^K\?\HL@E7.;6
MON4R8?J3E*531*JPGZP=4C-ZI3I]N<;66IV]>K"9[D=&.:>E"9=PM,G*:95G
M[D87<Q5LZE.,1W9QGGC!(-. =V    #X>3WV+BV-9#DT[L]2QVQW:^S/$=3'
M;]5M$"1<)'>^M*D,H\*/7JNM*T33TUIZ#[M6YNW*;5/MJJHCNS@^+E<6K=5R
M>"FF9[D8JI>X3I5TGS;G.=\>=<9<F=,?[&VO&E2WER)#OALH;9;\1YRM>U"4
MIIUZ4I2GH+3TTQ33%-/M8C!6.JJ:JIJJ]M,XOR'Z_     =XO9V->(R_G]*R
MU^/1;6J=([!RV+)6I::,76^3L;UXPVW1"%T<??M>93>B552GPT+KU[J)2KA?
M6%F/@= BU'#=OT4]J(FOOTP[;<&Q\+KDW9X+5FJKMS,4]ZJ4ZT@Y-0
M                                                       $ #SZ
M_P"ICN+X):@^K'&2>]Q/[:L]>YY<H,WW_N*[U+?D0XWG8.2    !MCP(_?HX
M7?Q9<<_K@PXU6O?@>=_E+W\.IM-#_&LG_-6OXE*S>*TK&
M        "KUY<_O7<G?XA=T_61DI9O2?PK+?R]OR(5NU7\3S/G[GERUZ-@P
M    97TIO+:W'38=JVMI;,9N![!L<6ZPK5DL"%:9\J'%O=ND6FZ-(BWNWW.W
M+I+MTMQJM5LJK2BNJ:TKTK3%SN1RNHY><KG:(N9>J8F8G&."<8X)B>%E9/.Y
MK3[\9K)US1?IB<)C">&,)X8F.!O!_.3\S'[5F6_%+6/^AS2?T?NU]EH\:O\
M>;G^K=XOM5?BT?NG\Y/S,?M69;\4M8_Z'']'[M?9:/&K_>/ZMWB^U5^+1^Z^
M!>?-P\R"^]?7>6NRV.L=<6OO,C&<=_PW._N53\G\?MG213OKVO4_Q4^CHJG2
MG3THW3W<H]KE+7;QGOS+SKWIW@KX<U<[6$=Z(:_9MS0Y>[(0XSG?*+D#E41V
ME4JMMYV_GLNT)2I##:TLV9=^]ZH]'J16ZN4;93XBTT4KJKTF?8T;2,MML97+
MT3RQ;IQ[N&+!O:OJN8V7\S?JCDFY5AW,<&MCSSLAUV1(=<???<6\\\\M3KKS
MKJJK<==<752W''%JK52JUK6M:]:FRB(B,(X&NF9F<9X7\P       )@'D6^5
M9,P1NQ<VN1.-N1,NN,!4O0.O[Y$6U)QBUW)E35=I9#;)<=#K&07: NJ;$ROT
M183ZIJDU?=BJC1'OQO3%^:M%T^K&U$_&UQ[J8]Q$\D3[;EF.CP1.,K;E[LU6
M.CK&H4X79CXJF>*)]W,<LQ[7DB<>&8PE'D8)*
M  !5D;[^?3='TL[&^6%X+0Y#T&SYJCR85ISWIM[SM?E2Q.93%    !)N]F3^
M?7DY]$V(_+!TC3UE^@Y;SM7DI&]7/IN9\U3Y29"0^EH     #0/D;YG_  =X
MNL3V=D;ZQ&Y93 HXBNOM>2V]AYTN6W6E/4)=EQAR<SCTI?7JFMW?MS-:4K_B
M?@-]IV[.MZG,3EK%<6I]W7X%/9QJPQ][$M'J&\FC:;$QF+]$W8]S1X578PC'
M#WTPC4<R_:(]W[58NN%\3L67H3#9C3T-W8&0*M]^V_<8SR%-K<MJ&*R\5P);
MC+BDUK']])S2TI=CSF%TZ4DC1_5[DLK,7M5J^'O1MZ$8Q;CL^ZJ[?1CBFF4=
MZOO]G,S$V=+I^ LS[J<)N3V/<T]KI3QQ,(ZUZO=YR6[W/(,BN]SO]^O4Z3<[
MS>[U/EW6[W:Y375/S+A<[E.=?FSYTM]:ENNNK6XXNM:JK6M20Z**+=$6[<13
M;IC"(B,(B(X(B(X(<#777<KFY<F:JYG&9F<9F>69GAE\P^GR     !O1Y<_#
MJ^<W^5& :=CQYK>#Q92,PV[?(M'44L.LL?E17+_6DMKW4.Y9"X\S:+>Y[KLG
MSVEJ35M"ZTT>\6L4:)I=S.3A\/,=&W'+7/!V8CVT\T2W6[^DUZSJ=O*1C\#$
M]*N>2B.'MS[6.>862-@L-FQ:Q67&,=ML2S8_CEIMUAL5G@-)8@VJS6B&S;[9
M;83"?<LQ(,*.AIM%/0E":4*YW+E=VNJ[<F9N53,S,\,S.V9GLRL'111:HBW;
MB(MTQ$1$<$1&R([4/K'P^P                           %?+YU?+RO*K
MFKF%MQZZ.3=7Z%K-U#@B6WTN6Z?<K)<'4[ RJ&EKK'<3?LM:=89DH4M,JVV^
M&NE>G1*9^W,TC[KT6BJY&&:OX7*N6(F/ I[5.V8XIF4$[X:K]YZQ73;G'+6,
M;=/),Q/A5=NK9CQQ$.11UKE0    ?Z;;<=<0TTA;KKJTMMMMIJMQQQ=:)0A"
M$TJI:UJKTI2GIK4<&V3AV1PK'_RM^)+?#7AIK#6=TMR(.Q,CB5V5MM2F*,RZ
M[!S&-#E3;1-Z>E;V'V=B%9**Z]%TMW?3IWU*Z;SZM]\:Q=S-,XY>F>A;ZE/!
M/OIQJ[:P6[6E_=&D6\O5&&8JCIU]:KBGJQA3VG0XY]O@    01?/[XG_ *!N
M8JMQ8];T1<"Y/6Z;G#7J[/A1H6S+(N#;]EP?157B.W21.@WMQU5:5<D7=Y-$
M]&^M9SW"U7Z_H_U.Y.-_*S%/9HG&:)[6$T]BF.5"F_.E_4M6^MVXPL9F.E[^
M,(KCM[*NS5+A4=PXH    'K< SG)M8YUANR,+N+EGR_ LHL.8XQ=&NO?;[_C
M=TBWBTRZ)HI/?1B=#0JJ:UZ*I2M*^BIY9BQ;S-BO+7HQLW*9IJCEB8PGV'K8
MO7,M?HS%F<+M%451/),3C"SIXO[[QCE#Q^U/OS$:MMVC9F'6R_NV]#Z)*[%?
M.U4+)\9DO-J4A<W&<DB2X#U:5Z5=CJK3T%:-3R%W3-0NY"][>U7,8\L<--7O
MHPF.RL;IN>MZED;6>M>TN41.')/!,=J<8[3/)@,X
M       !#>]IL^?7C']$V7?+!HF#U:>@YGSM/DHE]8WIN6\U5Y2,B26CD
M  "UBP'\Q,*^"6.?B>&5:S'R]?7GORLW8^0HZD=YZT\7J
M                     5.!:M5\     "4W[,-^??+_ ."6G/QQL(B_UF?(
M93KW.]0DOU<?+YOJ6^_4EZ$2)5                              &%>1
MN\<4XU:*VIO?-G$4QW6&&W?)WXJI"(KMYN,9GP+!C4)]Q*FT7/*L@D1;;$[J
M=M9,INE?14S=.R-W4L]:R-GY2[7%/8CCJGFIC&9YH8>H9VUIV2NYV]\G;HF>
MS/%'9JG"(YY5C&U=E97N79>>[8SF=6Y9?L?+K_F>12^YVK:KKD-RD7.4S%0\
MXZMB!%7(\*,SW52RPA#:>B4TH67RN6M9/+6\I8C"S;HBF.Q$8=WEY95RS68N
MYO,5YJ].-VY7-4]F9Q[G)S/ GN\     =$?*RXD_]9/,S6&MKO;:W#7.,RJ[
M,VTE;3CD-S ,.E0Y,NRS5-IKX;&87F1"LM:]R%)I<*J36E4G/;T:M]SZ-=S-
M$X9BJ.A;Z]6.WWL8U=IO]VM+^]]7MY>N,<O3/3KZM/%/6G"GMK'MMMMIM#32
M$---(2VVVVFB&VVT4HE"$(32B4(0FG2E*>BE"NO#MGA6!X-D<#_8    P9R9
MT1C/)S0.V=!Y<JC-EVAAEUQOWP\&DARQW=Q"9F-9+'CJ4A#\S%\DB1+BPA5>
MQ3T5-%=:=:&=IN>NZ9G[6?L^WM5Q.'+'!53V*HQB>RPM1R5O4<C=R-WVERB8
MQY)XI[4X3'85B&?X-DVL<ZS+6^:6YRSY?@647[#LGM;O7OM]_P ;NDJSW:)5
M54I[Z,3H:TT52G15*4K3T5+,9>_;S-BC,V9QLW*8JIGEB8QCV%<;]FYEK]>7
MO1A=HJFF8Y)B<)>2/5Y     ZJ^3=RTKQ/YN:^F7RY>HZTW$MK3NQJ/OK:@0
MXF53HB,5R61W+I&8_)G,6H3STAQ*JLVUR8E-4^)6IRV^&D_>NBW*:(QS-GXR
MCE\&/"CWU..SEPY'3;I:I]UZS;FN<,O>^+KY/"GP9[56&WDQ6'17U/0
M                   8FWY\Q6Z?HFV-\C[R9>0].L^=H\J&+GO0KWFJ_)E5
MDEH%:0     )-WLR?SZ\G/HFQ'Y8.D:>LOT'+>=J\E(WJY]-S/FJ?*3(2'TM
M      : \C/-"X-<7X\QK8V^\1NN3Q:.)3@&N92-C9N[*13NI"EVC%5SX^./
MNII6J%WB1;F%=/\ Q.M:4KO].W8US4YB<O8KBU/NZ_ I[.-6&/O8F6BU#>31
M=-B8S%^B;D>YH\.KL84XX>^F(1H^9OM#^\MMP[O@_%/%G./^'3:/PW=@7>1"
MONX;E!6M2:.6U3"7L8U^Y*B*[7*1??2<POHN-/:72BB2-&]7V1RDQ?U6KZQ>
MCW$8Q;B>?W5?;Z,3QTRCS5]_<[FHFSIE/P%J?=3MN3V.*GM=*>2J$=V]7N\Y
M+=[GD&17>YW^_7J=)N=YO=ZGR[K=[M<IKJGYEPN=RG.OS9\Z6^M2W775K<<7
M6M55K6I(5%%%NB+=N(IMTQA$1&$1$<$1$<$.!KKKN5S<N3-5<SC,S.,S/+,S
MPR^8?3Y      VSX/\5,JYG<F=:Z%QI,J-"R*ZTN><Y!':4M&):[L=43LPR-
MYSPG6&7V+:FL>#1[M:D7.3&CU513R35:WJEK1M-N9^YA-5,84Q^M7.RF.[MG
MDIB9XFTT;3+NKZC;R-O'"J<:I_5HCVT]S9'+,Q'&LN</Q+'<!Q/&,&Q"U1;%
MBF&X_9\6QFRPDU1#M-@L%OCVJT6V,FM:UHQ"@16VT]:UKT3Z:UJ5MO7;E^[5
M?O3-5VNJ:JIGCF9QF>W*Q%JU;L6J;-J(IM44Q3$1Q1$81':AZ,\WH    #7'
MF+?JXMQ&Y3Y.E<AM6.<<=WWY+D.C:I:*VC663W"BXJ75MM*D)K'ZHHI24U5T
MZUI3TFQT>W\+JV5M;/"S-N.[73#7ZM7\%I69N?JY>Y/<HF57\6:5O      E
M-^S#8PU+SKE_F=4L^/8,2TYC#:E*51^C677C8=U>2VBC54*94O"4=]:K36BJ
M(Z)5UK5,7^LR[,6,I9XJJ[E7BQ1'^I)?JXMXW\W>XZ:+<>--4_Z4O0B1*H
M                                                           $
M #SZ_P"ICN+X):@^K'&2>]Q/[:L]>YY<H,WW_N*[U+?D0XWG8.2    !MCP(
M_?HX7?Q9<<_K@PXU6O?@>=_E+W\.IM-#_&LG_-6OXE*S>*TK&
M            "KUY<_O7<G?XA=T_61DI9O2?PK+?R]OR(5NU7\3S/G[GERUZ
M-@P                   =4/*@N_E_XCON/GG.;);S";Q:7:Y6K\=N.%3<B
MU1-R9;RJLW[8<^RKN]W6S8I+;:H\%ZU^]:G%T?ER*M-*95R^]5&OW<A\!H=,
M3-<3TYBJ(KBGDHB<(V\<]+I<41C.+IMUZ]"M9Z+^M53'1F.A$TXT8\M<QC.S
MBCHX<<SA&"P%USM#6^W\7A9MJK/<0V/B-PZTAY)A.16K)K,ZXE*5.1_7[1*E
MQVY;'=2CK*U)=:5[E:4JI6A >8RN9R=V;.:MUV[T<5433/<GOISR^9R^;M1>
MRU=%RU/'3,3'=A[H\'N                         "K(WW\^FZ/I9V-\L
M+P6AR'H-GS5'DPK3GO3;WG:_*EB<RF*    #IOY9/F-?RYLZV=FOZ'/TQ_I'
MQ*T8O[V?I"_1[[S>]5X5=O7O7/R'SCWQ\?N\/PO"8[?[W?7\!S6\N[O]16+5
MGX;X'X.N:L>AT\<8PPPZ5.'LNCW<W@_I^]<O? _#?"4Q&'2Z.&$XX^UJQ]AV
M0^]"_P#T._\ W+__ (_G'_EC_P#W?[/_ -KK?S)__B_WO_J/O0O_ -#O_P!R
M_P#^/X_+'_\ N_V?_M/S)_\ XO\ >_\ J?FF^U!35Q746[A)%BS:TIX$B;R,
M=GQ6U=R:JJ[$8T9;77J51UI2E'V^E:TKUKTZ5_:?5E3CX6=F:>:SA_\ ZSWG
MY/K(G#P<G$3YW'__ #COL39-[35R!EI?IAO&K3EA6JJ?5E9-D>:Y:EE-(RD*
MH^BU2<*K)K696CE*I4UT:I5OI55?$IEVO5KI\?+9F]5U8II[_2_Z[C%N>L;/
M3\CE[-,\\U5=[HM3\_\ :!_,9S-$ANPY7JW5:9%*II^0&K[3+7'2I;JE4CN[
M)E[#=16J'*(HJJE+31":TK1?55=KE]P-W;.'PE%V[UZY_P!'0:N_OUO!>V45
M6K75HC_7TG.O;_-GESOMN3%V]R-V_F]JF=_K&.7'-KU%Q%7B)[7.W#K5)@8L
MSWIIT5V0T]:>BIT.4T72<AA.4R]FBJ..*8Z7C3C5[+09O6-5SV,9O,7:Z9XI
MJGH^+&%/L-7C9M:        ?0M%HNN07:UV&Q6V=>+W>[C"M%GM%LBO3KE=;
MK<I+4.WVVWPHR')$R=.EO(:::;2I;CBJ)32M:TH?-==-NB;E<Q%%,3,S.R(B
M.&9GDA]4457*HHHB9KF<(B-LS,\$1SRL*?*3\OJ'P/X[LQ\KBQ']];91:<JV
M_<FO ?K9768KJL?UO F,*=;?MV$L3WDON-K<;DW.1*=;6IE3%$5_WLU^==U#
M&U,_4+6--N.7EKF.6K#9R4Q$<.*>-UM"C1,AA=B/KUW"JY/)R41S4X]N9F>#
M!U6.6=,                            YO>:YRY1PYX8[*SNSW!$+9.:Q
MZZMU,A$BL>:WF>81)<9>00U-KH\E["\>9G7=M5*5161#::5T\6E3H]U=)^^-
M9MV*XQRU$].YR=&GBGK3A3V)F>)S^\^J_=.D7+]$X9BOP*.M5Q^]C&KLQ'*K
MDE*4M2EK552E5JI2E5JI2E*KUJI5:]:UK6M?34L0K^_X     '8'R2>(M.4G
M-;%+WD5LI.UAQ_;C;=S:DAM2H5QO-KF);USC+BNBV5N73+TM376'4U;DVVUS
M&Z^FM#D=]=6^Z]%KHMSAFLQ\73RQ$QX=7:IV8\4U0ZO<[2OO+6*:[D8Y:QX=
M7/,>TCMU;<..*9A8'$!)U      Y8><;Q0IRMX/['MMEMM9VQM1MJW)KFC#*
MGILFY8?!F.9)8(S;:VW9+F2X;(GQ66*5K1<ZL9?:I3::'4;GZK]U:W;JKG#+
MW?BZ^3"J=D]JK"9GDQ<SO;I?WGHURFB,<Q:^,HY<:8VQVZ<8[."N_+!H%
M   EC^S:\M/G4X9Y7=?_ -1N+4C,M[_]E:MD8Y!JXC_]A=&(R%__ *]ZB/\
MQ%$5>L?2?DM8M1_^NY[,T3/LTS/5CD2AZO=4^5TB[/\ ^RCO5Q'L58=:>5+(
M(I2@                            AO>TV?/KQC^B;+OE@T3!ZM/0<SYV
MGR42^L;TW+>:J\I&1)+1R     !:Q8#^8F%?!+'/Q/#*M9CY>OKSWY6;L?(4
M=2.\]:>+U                                    *G M6J^     !*;
M]F&_/OE_\$M.?CC81%_K,^0RG7N=ZA)?JX^7S?4M]^I+T(D2J
M                   (GWM(O+U*&-:<+<0NC:G'ZQ-N;B1%712VFFZR(6ML
M7EK16J6ZO.>NW>5&7T72B+<]3W*Z5K*OJYTC;<UF]'_Z[??KJ[U,3UH1AZP=
M5V6]'M3^W<[U$=^J8ZLHF)*R+@     )SOL^_$9>C>*,[?.4VOU3/N34Z#D-
MOK(13UNW:FQWUV+@C":+;JJ-^4LJ=.O"JMKJB5"EP:KIW,THF$-_]6^O:K&0
MM3C8RT3$\]R<.EW,(IYIBKE31N+I7U+2YSUV,+^9F)CFHCVO=VU<\33R.^1P
M;N      (2OM$_$^FK.2>*<E\9ME6,0Y#V=4+*W(T=5(D#:V$1(4"<Z^MI-(
M\2N5XDN!):17HY)E0I[W55>[I-/J]U7ZUIM>FW9^.R\XT\]%6V/%JQCFB:80
M[O\ :7]6U&G4;<?%9B/"YJZ<(GQJ<)YYBJ4=HD)P(     %C+Y37+2G+_A7K
M/-+S<O?#9&!Q_P!%.U:O/H>G/Y=AL2''CW^97OJZMW,,:?@W1Q:DH3ZS*>0F
ME:-]2O&]>D_=&LW;-$89:YX=')T:N*.K.-/8B.5/VZ^J?>NCV[U<XYBB.A7R
M]*GC]]&%79F72HYMT0                       Q-OSYBMT_1-L;Y'WDR\
MAZ=9\[1Y4,7/>A7O-5^3*K)+0*T@     =-_+)\QK^7-G6SLU_0Y^F/](^)6
MC%_>S](7Z/?>;WJO"KMZ]ZY^0^<>^/C]WA^%X3';_>[Z_@.:WEW=_J*Q:L_#
M? _!US5CT.GCC&&&'2IP]ET>[F\']/WKE[X'X;X2F(PZ71PPG''VM6/L.R'W
MH7_Z'?\ [E__ ,?SC_RQ_P#[O]G_ .UUOYD__P 7^]_]1]Z%_P#H=_\ N7__
M !_'Y8__ -W^S_\ :?F3_P#Q?[W_ -3\D[VH*>Y%=1;.$L2).KV>!(G<BGKC
M%;Z.(JYXL./HZUO/=[-%)3T?1VJK15>ZE*IK^T^K*G'PL[,T\UG#_P#UGO/R
MKUD58>#DXBKGNX__ .<=]B;)_::>0<NCWY&<:]-V&JO_ )?\I\BS;+J-?[-V
M_P"-2U2L)\?_ &OW?N?#_P /W'][_$,NUZM=/CY;,WJNK%-/?Z3%N>L7/S\C
ME[-/9FJKO=%J?L'V@7S&\U2^BP9?K#5*'Z53TU]JZS3%,I4ZIQ5&'=ER-BOH
MK5I7A=W=5:44I5-:.>[-KE]P=W;/RE%V[UZY_P!'0:N_OUO!>]I7;M=6B/\
M7TW.K<'-7EOOUN9%W!R,V_G-IGH4W+QFYYO>X^'.(6E27*)PJV2H.)L^*A7:
MOLA)JM/2BNM*4I3H<GHNDY#"<GE[-%<<<4QTO&G&KV6@S>L:KGL8S>8NUTSQ
M35/1\6,*?8:PFS:T         3R_(]\OM[B1H)W;^RK+2%OG?UMM5VND2=%4
MU=<!UNFE+ABV#N)D4I(@76YJ=3=+RU1+2O6%1HSR*K@)56"M]M?C5L_]4RU6
M.1R\S$8<%=?!55SQ'M:>;&8]LFW<S0ITK(_6\Q3AGK\1,\M-'#33S3/#5SX1
M/M7<0XEV8     &EOF.SY5MX"\R)$1=&W7.-NWX"U*0E=*Q;KA-XM<U':NE:
M4JY"F.)I7\*:UZTZ5I2IN=W:8JU[)Q/!]9MSW*HF/9:?>"J:=#S<QP_5[D=V
MF8E6A%DE=P     )@OLQ=M?:U?RRO"EM5C3L]UA;64)4OQTOVG'LLE2%N)JW
M1NC2V[RU1%:*K6M4KZTI2E*JB+UF51.:RE''%NN>[-/^"5_5Q3,9;-5\4W*(
M[D5?XI11&*20                  12.?GGI<MN*W+[=F@->Z[XZ7G#=;WR
MQVRQW/,L2V7<,FE,7/#L<R!]=VF63;F.VI]Y$V[NI15F$PFC24TK2JJ54J5-
M!W'TG5-(LY_,7,Q%ZY3,S%-5$4[*IC9C;F>+EE&.N;Z:IIFJWLC8MY>;-NJ(
MB:J:YG;3$[<*XCCY(:>?>5.='ZJ.)OQ%W!^W8V_Y;Z'\[F_&M_1-3^8>M?-9
M7Q;GTA]Y4YT?JHXF_$7<'[=A^6^A_.YOQK?T1^8>M?-97Q;GTA]Y4YT?JHXF
M_$7<'[=A^6^A_.YOQK?T1^8>M?-97Q;GTA]Y4YT?JHXF_$7<'[=A^6^A_.YO
MQK?T1^8>M?-97Q;GTA]Y4YT?JHXF_$7<'[=A^6^A_.YOQK?T1^8>M?-97Q;G
MTA]Y4YT?JHXF_$7<'[=A^6^A_.YOQK?T1^8>M?-97Q;GTA]Y4YT?JHXF_$7<
M'[=A^6^A_.YOQK?T1^8>M?-97Q;GTA]Y4YT?JHXF_$7<'[=A^6^A_.YOQK?T
M1^8>M?-97Q;GTA]Y4YT?JHXF_$7<'[=A^6^A_.YOQK?T1^8>M?-97Q;GTA]Y
M4YT?JHXF_$7<'[=A^6^A_.YOQK?T1^8>M?-97Q;GTA]Y4YT?JHXF_$7<'[=A
M^6^A_.YOQK?T1^8>M?-97Q;GTA]Y4YT?JHXF_$7<'[=A^6^A_.YOQK?T1^8>
MM?-97Q;GTA]Y4YT?JHXF_$7<'[=A^6^A_.YOQK?T1^8>M?-97Q;GTA]Y4YT?
MJHXF_$7<'[=A^6^A_.YOQK?T1^8>M?-97Q;GTA]Y4YT?JHXF_$7<'[=A^6^A
M_.YOQK?T1^8>M?-97Q;GTA]Y4YT?JHXF_$7<'[=A^6^A_.YOQK?T1^8>M?-9
M7Q;GTA]Y4YT?JHXF_$7<'[=A^6^A_.YOQK?T1^8>M?-97Q;GTB5QP#Y!9GRI
MX@Z3W_L*V8Q9LRV18[Y<[Y;,-A76WXS%?MF8Y'C["+3#O=ZR*ZL,KA6AI2Z/
M37U5=4JM*T36B4Q7KVGV=+U>]D,O-4V;=41$U3$U;:8G;A$1Q\D).T//WM3T
MJSGK\4Q>N4S,Q3C$;*IC9C,SQ<LMPC4-L                   !  \^O\
MJ8[B^"6H/JQQDGO<3^VK/7N>7*#-]_[BN]2WY$.-YV#D@    ;8\"/WZ.%W\
M67'/ZX,.-5KWX'G?Y2]_#J;30_QK)_S5K^)2LWBM*Q@
M      J]>7/[UW)W^(7=/UD9*6;TG\*RW\O;\B%;M5_$\SY^YY<M>C8,
M                #,^D.1.\>-F7,9SHK:.7ZQR5I;2GY>,W1R/!NS3"JK;A
M9%8I%)%@R>V477K6)<8LJ*JOIJW6M*&'G=.R.I6?@,]:HNV_VHVQSQ/#3//$
MQ++R6?SNGW?A\E<KMW.:=D]F."8YIB82K>!OM#F'9P_9]:\V[/;==9&\F+;X
M&[L4AROR"NTKHAA#N=8VA4R=ALJ4NE%.3H59%LJXXI2V8#".I%FN^KZ]8B<S
MHLS<M\,VZO;1U9X*NQ.%7/5*3M$W]LWIC+ZS$6[G!%RGVL]:.&GLQC'-3"33
M9KS9\BM%LO\ C]UMM]L5[@1+K9KU9IT6YVB[VN>PB5 N5LN4)U^'/@38SJ7&
M7FEK;<;512:UI6E2-:Z*[=<V[D33<IG"8F,)B8X8F)X)A(M%=%RB*[<Q51,8
MQ,3C$Q/!,3QP^D?+Z                       %61OOY]-T?2SL;Y87@M#
MD/0;/FJ/)A6G/>FWO.U^5+$YE,4                      F!^1EY4[^"L
M8[S8Y&8W5G,KC#I<= Z_O<5UM_$[7<&%MM[0R.W26T=F1W>"]6MCCN)52%$=
M]=K3UER-6)$6^^],7YJT73JOB8G"[7'NICW$3R1/MIXY\'@B<97W+W8FQ%.L
M:A3\=,8VJ9]S$^[F.6?<QQ1MX9C"481BDD
M   @D>?MR^_Z@.7'Z%\8N;4S7'&*/<<.;5$=\2-<]HWE4&1LJX.+31'>NR2+
M?$L=&U45X$BUR5H5T?50G+</2/J&D_7;L89G,X5=BB,>A';QFKGBJ.1"F_.J
M_7M5^IVYQR^6QI[-<X=.>UA%/-,3RN$YW+B@     + [R2.(M>+?"G%+WD5L
M5!V?R <C;=S:DAM*9MNLUTAI:USC+BNB'D-VO$%-376'4T<C7&Z3&Z_@H0%O
MKJWWIK5=%N<<KE_BZ>29CV]7;JV8\<4Q*==SM*^[='IKN1AF;_AU<T3[2.U3
MMPXIF78$Y%U8      "N,\UKB@KB!S6VI@-JMU8&O<RF5VKJJB&ZMQ&\'S>9
M.EHLT*G3_P"5Q#(8]PLS?6JEJ;MZ5JK6J^M;$[JZK][Z+:S%<XYBB.A7UJ8C
M;/6C"KMJ_P"\^E_=6L7;%,86*YZ='5JQV1U9QI[3G&=$Y\    &>.,&^\GXO
M\@=3[\Q&KCEWUGF-LO[L!#ZXR;[8^Y4+)\9DO-J2M$+)L;ERX#U:5ZT:D*_M
M,'4\A:U/3[N0O>TNT3&/)/#35V:9PF.PS=-SUS3<_:SUKV]NN)PY8X)CMQC'
M;6=. 9SC.SL%PW9&%W%N\8AGN+V',<8NC73LN%@R2UQ;Q:9=$T4KLJ_!F(55
M-:]4UK6E?30K/F+%S+7Z\M>C"];JFFJ.28G"?96.L7K>9L49BS.-JNF*HGEB
M8QAZX\GJ                          !#>]IL^?7C']$V7?+!HF#U:>@Y
MGSM/DHE]8WIN6\U5Y2,B26CD     "UBP'\Q,*^"6.?B>&5:S'R]?7GORLW8
M^0HZD=YZT\7J                                    5.!:M5\
M"4W[,-^??+_X):<_'&PB+_69\AE.O<[U"2_5Q\OF^I;[]27H1(E4
M                     \-L[8V)Z@UUG.U,[N-+3AFN\4OV9Y/<.VCCD:RX
M[;9%TGUC,U6BLJ:XQ&JAAE->]]Y26T]5*I0]\ME[N<S%&5L1C>N5Q33'/,X1
MVN6>)XYG,6LIEZ\S?G"S;IFJ9YHC&?\ X5CG)C?.6<GM][4WUFKKE;[LO+KC
M?_4UO5D-V2SU4F'C6,Q'5435<#&,<B1;?'K6G6K,9-:]:]:EEM-R%K3,A:R%
MCY.U1$=F>.KLU3C,\\JY:CGKNI9Z[GKWM[E<SV(XH[$1A$=A@PSF$    #;#
M@]QAO7,+E'J30=K]<CVW+LC9D9I>(3?<[CNOK&A5WS6]I<6E4=F5'L,1YN)X
MO1MV>ZPUUZN4I75:WJ=&D:7=S]6'2HI\&)XZYV4QW>'FQEM-&TVO5M2M9&G'
MHUU>%/)3&VJ>YP<^$+,FP6&S8M8K+C&.VV)9L?QRTVZPV*SP&DL0;59K1#9M
M]LML)A/N68D&%'0TVBGH2A-*%;+ERN[75=N3,W*IF9F>&9G;,SV96)HHHM41
M;MQ$6Z8B(B."(C9$=J'UCX?8     '/[S/N*:>8G#';&JK= I.SNTP$;%U7V
MMT<DIV+A+$N?:(,/_"?JA_*+8]-LBE43W)9N:^E:5]--_NSJOW/K-K-53A8F
M>A7U*MDS[V<*O>M%O)IGWMI%W+4QC?B.G1UZ=L1VXQI[:MS<;<:<6TZA;3K2
MU-N-N)JAQMQ%:I6A:%4HI"T*ITK2OII4L9P[85\X-D\+_(     =ZO9^N6RM
M'<M7]%Y-=JQ=?<F($?&8K4E^J8-OVM84RYN!3D)4ASPW\@9?FV3L;HBLB5/B
M>(JM&4=.$W^TGZ]I/UZW&.8RT]+GFB=E4=K95S1$\KM]Q=5^I:I]2N3A8S,8
M<T5Q[6>WMIYYF.1.E(/32                       ,3;\^8K=/T3;&^1]
MY,O(>G6?.T>5#%SWH5[S5?DRJR2T"M(                       D@>2-Y
M4UQW;E..\O.0..OQ-+X?=6+KJ?$+S"JBFVLJM<A2X^23(TCHIW7V+W!A*D]4
M5:N\]%&Z55'8D(=CK?7>FG)6JM(R%6.<KC"Y5$_)TSQ=>J/%C;PS&$@[G;L5
M9R[3JN?IPR=$XT4S[NJ./JQ/C3S1.,T\AE+X      #2#S*_Z?W,7^'K9WR9
MG&[W;_'\G_,4=^&FWB_ LWYBOO*T\L@KP     !,@]F3^8OD[]+.(?(]TA_U
ME^G9;S57E):]7/H69\[3Y*3>1HD8                  %=/YR?]3'E9\+<
M2^K'!RPVY_\ ;65ZE7EU("WM_N+-=>GR*7,@Z5S@                  +%
MCR;/Z9W%/X)9;]9V<%>=\/[ES77I\BE/NZ7]NY7J5>74Z;G-.C
M          @ >?7_ %,=Q?!+4'U8XR3WN)_;5GKW/+E!F^_]Q7>I;\B'&\[!
MR0    -L>!'[]'"[^++CG]<&'&JU[\#SO\I>_AU-IH?XUD_YJU_$I6;Q6E8P
M                       5>O+G]Z[D[_$+NGZR,E+-Z3^%9;^7M^1"MVJ_
MB>9\_<\N6O1L&                       =9?+<\V3=' N_P /%+HY<MG\
M<+I/\3)-5SYU5S,:K*>JY,R/6$^:YX6/7JBW%.O05*3;+G6JJ/):?4B6SRF\
M>ZF2UVW-VG"UJ,1LKB.'FKCCCDGVT<6,;)ZC=[>C.:)7%JK&YI\SMHF>#GHG
MBGFX)X]NV)X^A=^ZFY,ZPQW<&ELPMN:8-DC%%1Y\%RB9ELN"&F7)U@R&VKK2
M98LCM57TIE0I*4/,U52M:52I"E07G\AF]-S-64SM$T7Z>*>..*8G@F)XIC8F
MW(Y[*ZCEJ<WDZXKLU<?)/'$QQ3''$LQF&RP                     "K(W
MW\^FZ/I9V-\L+P6AR'H-GS5'DPK3GO3;WG:_*EB<RF*
M  !_U*5+4E"$U4I5:)2E-*J4I2J]*)32G6M:UK7T4 E@^3]Y*TQ$S&>5/,O$
M/5FHWJ5_U)HC)(=:279-*IE6[-=IV:6W3U9F-T0[;[#(3XBW.CL]"$HI&=BK
M>[?.GHU:7H]>,SC%R['LTT3WZH[%/+$G[I[GSC3J>KT<]%N?8JKCO4SV:N1+
M-(I2B                             ::>8!RFM_#?B;MS>3CT>F2V:P.
MV+7$&2TF2W=-F9,E=HPN,[$75-)<&%=7Z3IK?6E:V^(_6GIH;C0-+JUC5;.1
MV_!35C7/)13MJ[<QLCGF&HUW4Z=)TN[G?^Y%.%'/7.RGM1.V>:)5I=WN]TO]
MVNE]O=PEW:]7JXS;O=[I/?<E3[E=+E)=F3[A-DNJ4[(ES);RW''%5JI:U5K6
MO6I9&BBFW1%NB(BBF(B(C@B(X(CL*\5UU5U377,S7,XS,\,S/#+YY]/D
M'0WRM^)+G,KF7K#6=TMRYVN\<EUV5MM2F*O1*:^PZ3#E3;1-Z>A#.87A^%9*
M*Z]45N/?3KV5.?WGU;[GT>[F:9PS%4="WUZN"?>QC5VF^W:TO[WU>WEZHQR]
M,].OJT\4]:<*>VL?VVVVFT--(0TTTA+;;;::(;;;12B4(0A-*)0A":=*4IZ*
M4*Z<.V>%8+@V1P/]@       1]_:&.)WZ8>*]EY#8U;ER,VXV79<R\^JQ_%D
MW'5692;?:\G0XEENLA_\F;VU;KDE:E5:B043W*TIWJ53O_5]JOU/5*M/N3A8
MS,;.:NG&:?&C&.>>BX7?S2_K>F1G[<?'9>=O/15A$]R<)YHZ2#P38AD
M":W[.GRTILWCSE_%K*+EXV7<?[FN^86B2^A4FXZGS>XRIOJT=+BURY7Y&YHY
M+:><KT;CQ+I;V$4HE%*$,>L/2?JVH4:I:CXG,1A5S7*8P_S4X8<LTU2F'<#5
M/K.0KTR[/QMB<:>>BJ?]-6/8B:82-".W?@
M0WO:;/GUXQ_1-EWRP:)@]6GH.9\[3Y*)?6-Z;EO-5>4C(DEHY      M8L!_
M,3"O@ECGXGAE6LQ\O7UY[\K-V/D*.I'>>M/%Z@
M             %3@6K5?      E-^S#?GWR_^"6G/QQL(B_UF?(93KW.]0DO
MU<?+YOJ6^_4EZ$2)5                             (TGM&O+W\@]/8-
MQ#Q.Y+9R;<TB/G6R*17^QR%J_%KFJEBM,IM"D.41F6;0J.H52M4^#8GVUIJE
MZA)'J[TCX?.5ZO=CXJS'1HYZZHVS[VGRHY$=^L#5?@,I1I5J?C+WA5]2F=D>
M^JC_ "SRH99,:(P     )DGLXG$5&&ZHS[F#E=JHC(MLRI.O-82)3"TOP]<X
MM<Z5RRZP7%H12K&6YM 1&76G=TI8$U36E'%4K#WK%U;X;-V](M3\7:CIU]>J
M/!B>K3./OTM>K_2O@<K<U:['QEV>C1U*9\*8ZU6SWJ361JD8        KVO.
MFXG)XL\X,\>Q^UUM^MMXT<W+@E&FZ)@PW\FG2:9UCL:K2$1HU+)F[4Q;$1NE
M*1;9+AIZ=JDUK8#<S5?O31+<7)QS-CXNKE\&/!GMTX8SQU1*"-\-+^[-9KFB
M,,O>^,IY-L^%':JQPCBB8<E3JW+     ^M8+]><6OMER?';E+LV08Y=K=?K%
M>(#JF)UJO-HF,W"V7*$^GW3,N#-CH=;73TI6FE3YN6Z+M%5JY$3;JB8F)X)B
M=DQ/9A]45UVJXN6YF+E,Q,3'#$QMB>U*S/X2\E[/R\XMZ>W];/5&)V;8K'IE
M]JAJKX5@S^QNNV+.;(VTM:Y#42%D]OD^J5=[7'H*F7NG:XFM:U:UIM>D:I>R
M%6/1HJ\&9XZ)VTSVZ9C'GQCB6+T;4:-5TVUGJ<.E73X4<E4;*H[4Q.'+&$\;
M:HU;9@                     &)M^?,5NGZ)MC?(^\F7D/3K/G:/*ABY[T
M*]YJOR959):!6D                      D6^4OY+.1\@IV,\B^55AGXQH
M2,_'O.':WN3<BW9)N:C*J/1)MT9[F)N/ZU>=3157%=DN\-4K2/1N,XF4N/-Z
M]\[>GTU:=I=459^=E5<;8M]CBFOV*>/&=CO]UMT+F?JIU#4Z9IR,;::)V3<[
M/'%'LU<6S:FJ6RV6VR6VWV:S6^#:+/:(,2V6JU6R)'@6VV6V!';BP;?;X,5M
MJ+"@PHK26VFFTI;;;31*:4I2E"&:JJJZIKKF9KF<9F=LS,\,S/',I?IIIHIB
MBB(BB(PB(V1$1P1$<C]Q\OH      !IYYA=L8NW WF;%DK>0VUQ>WK<TU84A
M*ZOV76N27B*A57&W$U9<E0$)<ITHJK=:TI5->BJ;?=^J:-=R<Q]JM1W:XC]+
M4Z]3%>B9R)^S7)[E$S^A69EE%=0     )>GLPUV\;!>7]B];[_>[+=.7;U#K
M_P#+>_5GV'#];Z=/1Z][P]GX:]?5_P"S^V)/691A?R=>'#1<C'L31WL?92KZ
MN*\;&;HQX*[<X=F*N_A["4V1>DL                  %=/YR?]3'E9\+<2
M^K'!RPVY_P#;65ZE7EU("WM_N+-=>GR*7,@Z5S@                  +%C
MR;/Z9W%/X)9;]9V<%>=\/[ES77I\BE/NZ7]NY7J5>74Z;G-.C
M         @ >?7_4QW%\$M0?5CC)/>XG]M6>O<\N4&;[_P!Q7>I;\B'&\[!R
M0    -L>!'[]'"[^++CG]<&'&JU[\#SO\I>_AU-IH?XUD_YJU_$I6;Q6E8P
M                      5>O+G]Z[D[_$+NGZR,E+-Z3^%9;^7M^1"MVJ_B
M>9\_<\N6O1L&                        .C'EN^8CL?R_=Q-Y+:Z3LIT_
MF#T.W;;UE6<XS$O=K0XE+.2V%#BJPX.<8XVI2X<A2>U]I3D5VJ6WN]OG=X]W
MLOK^3^"JPIS=&VW7AP3R3RTSQQQ;)C;#?[O:_F-"S?PE.-64KV5T8\,<L<E4
M<4\?!/"L--3[5P'>.M\-VWJ[(X.6X!GUCBY!C-^MZE>%+@R>Y#C,AARB)$"Y
MVZ6TY%FQ'TMR84QEUAY"'6UH37[-Y6_D<S7E,U3-&8MU851/+^F)X8F-DQA,
M;$\Y7-6,[EZ,UEJHJL5TXQ,<GZ)C@F)VQ.,3M9#,=D
M   *LC??SZ;H^EG8WRPO!:'(>@V?-4>3"M.>]-O>=K\J6)S*8H
M        ,MZ2T-N#D=GUJUCI'7^0[%S:[K3X%HL$2CC<.+XB&G;I>[I(7'M.
M/6.*MQ/CSI[\>(Q2M*K<3UH8F=SV4T[+SFL[<IMV(XY[T1PS/)$1,SR,K)Y'
M-ZA?C+9.W5<O3Q1WYG@B.69F(A-$\M'R0=9\4G+'N/D0JQ;?Y"1JLW"RVQII
M<[6>JIB>BV'<?B7"+'<RO+HJJ]U;K,90S%<[?4X[;C5);T-[R;[9G58JR>G]
M*SI\[)G@KK[.'M:?V8VSQSMPB7MW=S<MI?1S>?Z-W/\ #$<-%'8Q]M5^U/!Q
M1LQGO@<&[@                              0KO:+.7E=E[ZQ+BABET<
M=Q'0D5O),\:COI5!NFV,OM,>3#CNI;[VI#F$X7.;9;<HJBF95WG,+313=29O
M5YI'U;(5ZK=CXZ_.%/+%NF=OC51W*:90_O\ :K]8SU&EVI^*L1C5R375'^FF
M>[55'$C@DBH_      G+>SZ<1::2XIS]_P"46RD?/^2\]B]6Q;[:DR[7J3'%
MRH6%Q.URE?!KDMQ=GWA2VE=DF#*@=U.YFG2$=_\ 5OKNJQD+4_\ 'RT83SW)
MVU=R,*>:8JY4S[B:5]3TR<]<CX_,3C'-1&RGNSC5SQ-/([\G!.Y        /
M-YEB..[ Q'*,$RZV1[UBN9X]><5R6SRT4<BW2PY!;I%JNUOD(K2M%-2X$MQM
M7_8H]+-ZYE[U-^S,TW:*HJB>28G&)[KSO6K=^U58NQC:KIFF8Y8F,)CN*QKE
MCQ\R+BMR,V[H')DRE3-<9C<;3;)\MNC;E]Q635%SP[)4I2VTCP\DQ6=#FT[4
MTHGQ^WI2M*TI9?2M0MZIIUG/VL.C<HB9CDJX*H[543':5RU3(7-,U"[D;F.-
MNN8B>6GAIGMTS$M>38,     &\OEP\JY/#?F!J3<K\Q^-AB;Q3#MI1VO$4W-
MUGEZV;9DSC[#+3KTNN/]6;Q'932E7)EM9IUZ=32;Q:5&L:1=R<1C>PZ5'7IV
MT]WVL\TRW6[^ISI.K6LW,_$X]&OJ5;)[GMHYXA91Q94:=&CS84AB7#EL,RHD
MN*\W(C2HTAM+K$B.^TI;3S#S2Z*0M-:I4FM*TK6E2N$Q-,S35&$PL+$Q5&,;
M8E_<_'Z                         "&][39\^O&/Z)LN^6#1,'JT]!S/G
M:?)1+ZQO3<MYJKRD9$DM'(     %K%@/YB85\$L<_$\,JUF/EZ^O/?E9NQ\A
M1U([SUIXO4                                    J<"U:KX     $I
MOV8;\^^7_P $M.?CC81%_K,^0RG7N=ZA)?JX^7S?4M]^I+T(D2J
M                   ^3?[]9L6L5ZR?(KE$LV/XY:;C?K[>)[J6(-JLUHAO
M7"YW*:^KW+,2#"CK=<77T)0FM3[MVZ[M=-JW$S<JF(B(X9F=D1'9E\5UT6J)
MN7)B+=,3,S/!$1MF>U"LZYS<G[SS$Y3;<WY<_6(]LRS(5P\*M$A2NM@U[CS+
M=CPJT5:Z^$S+;L,%EZ;5NB$/7!Z0]VT4XHLEH>F4:/I=G(4^VHI\*>6N=M4]
MV=G-$1Q*[:UJ5>K:G=SU7M:JO!CDIC93'<X>?&>-J6;9JP    9DX]:2R[DA
MN_6&B\%9\7)MG9?:L8A/*0I;%KBRG?%O-_G)1U72V8W9&)-PEU32JDQHRZTI
M6M*4KAZAG;6G9*[GK_R5JB:IY^2(YYG"(YY9>0R=W4,Y;R5GY2Y7$=CEGL1&
M,SS0LZ]4:SQ33&LL U)@L'WNP_6V(8_A6.15=E7DVK'+9&M<5Z8ZA#=)5QEH
MC>+)?K3O?D+6XKJI5:UK1FLS=SF9N9N_.-ZY7-4]F9Q[G)'%"QV5RUK)Y:WE
M;$86;=$4QV(C#N\L\<L@&.]P       #B-Y\_$^O(7A===EX[:JSMA\9ILO9
MML7&:2N;*UZ]'9A[4M=%*]"(42Q1V+Z]7^]7WBHE/I76BNUW$U7[OUF,M<G#
M+YF.A/)T_<3V<<:??.-WWTOZ_H\YFW&-_+3TXZONX[F%7O4"DG9"(     $G
M[V;WEM^2^Q=D<.LIN5&[/LIB3M+5S<AUM#;6>8Y;8\3-[)$2I5'7I628; CS
MDII3L;187:_WG*]8S]8VD_"Y>WK%J/#M^!7U9GP9[54S'OHY$D>K[5/@\Q<T
MF[/@7/#HZT1X4=NF(GWLIB)$"6                      #$V_/F*W3]$V
MQOD?>3+R'IUGSM'E0Q<]Z%>\U7Y,JLDM K2                   !D+5FI
MME[NS>S:WU'@^2;#SF_O>%:\:Q:V2+I<7DIJFC\Q]+*:M0+9"2OODRY"FHL5
MJE7'G$(I55,?-9O+9*Q5F<W73;L4\,U3A'_S,\41MGB>^6RN9SEZ,OE:*KEZ
MK@BF,9_^(Y9G9'&F!^6WY"F&:7DV#=',ANQ[*VG"7%NN.:@BN,W?6F"S4T:D
M,2<L>4W6-L')X#M.VC%.ZQQG**K1,^O@OM1'O'OW>SL59/1^E;RL[)N<%=4?
ML_J4SR^VG]G;$RON]N19R<TYS5^C<S,;8M\-%/6_6F/%C]K9,224I2A*4(31
M*4THE*4THE*4IITHE-*=*4I2E/10CA(3_H        #"_)&P.97QWWWB[*7%
MO9)I?:5@:0RQZRZIR\8/?;<A+4:M4TD.*5)I1*.M.^OH_M,W3KD6M0L79X*;
MU$]RJ)8>H4?"Y"_;CAJLUQW:9A5L%GE:P     )0'LQV7HA;=Y5X#5VM',EU
MQKO+TL=ZZ)<1@^37ZRN.U;HPIM565;"32BJNHJGQ*THE?6M41EZR[/2RF5O_
M *MRNGQJ8G_0DCU<W<,UFK'ZUNBKQ9F/]28>1"E@                  %=
M/YR?]3'E9\+<2^K'!RPVY_\ ;65ZE7EU("WM_N+-=>GR*7,@Z5S@
M          +%_P G2-(B>6EQ1:DLN,.+PO(Y*4.IJA2H\W8N93(CU*5]-6Y$
M5]#B*_@4A5*T_"5XWOF)WDS<Q^O'D4I^W3B8W=RL3^I/EU.F!S;H@
M            ( 'GU_U,=Q?!+4'U8XR3WN)_;5GKW/+E!F^_]Q7>I;\B'&\[
M!R0    -L>!'[]'"[^++CG]<&'&JU[\#SO\ *7OX=3::'^-9/^:M?Q*5F\5I
M6,                       %7KRY_>NY._Q"[I^LC)2S>D_A66_E[?D0K=
MJOXGF?/W/+EKT;!@     ROI31NUN1>P[5JG2V'3<\V#?(MUFVK&H$VTP)4R
M+9+=(NUT=1*O=PMEN12);HCCM:+>36M$]$TK7I2N+G<]E=.R\YK.UQ;R],Q$
MS.,\,X1P1,\+*R>2S6H7XRN3HFN_5$X1&$<$8SPS$<#>#^39YF/V4\M^-NL?
M]<&D_K#=K[51XM?[K<_TEO%]EK\:C]X_DV>9C]E/+?C;K'_7 _K#=K[51XM?
M[I_26\7V6OQJ/WC^39YF/V4\M^-NL?\ 7 _K#=K[51XM?[I_26\7V6OQJ/WG
MY9OD[^97 BNRW^*&;+:9I12T0K_KZXRJT4I**>%"M^82IC]>JO31MM5:4ZUK
MZ*5J?M.]^[=4X1FZ,>>*X]F:7Y.Z>\5,8SE:\.S3/>J8^O?EB>81C[:G)_#[
M?#Z4QWI5:63!+IDKGAL)JI:4M8XBZNJD*HGW#-*5=<KZ$)56M#(HWFW?N;*<
MY8X>.J([^#PKW;UZWMJRE_M4S/>Q:_YCQIY&Z[2ZO8&@-V8,ACKXR\QU5G>,
MI9[:QZ*\55ZL,*C?2LMJE>O3TNH__JIUS[.I:=F/1\Q9KZM=-7>F6!=T[4,O
M\O8O4=:BJ._#"9FL,          ) 7D5>8T]QNV['XQ;6OOA:+W9?V&,:N5S
ME5;@ZSVM<?!A6NY4??<HS!QC-U(:M]QI6E&V)GJLNJFFD2U.<#OQN[&I93[S
MRM/_ #K%.V(X:Z(VS'/53PQRQC&V<,.ZW*W@G3\W]VYJK_A7JMDSP45SP3S1
M5P3SX3LVIQI"29@                    %61OOY]-T?2SL;Y87@M#D/0;/
MFJ/)A6G/>FWO.U^5+$YE,4                91U+I#<&^<F:P[3&L\VV?D
MKE6>^U85CMSOST-M^KE&Y5T=@QW8UH@4HRNJI$I;+"$H4I2Z436M,7-YW)Y&
MU\-G+M%JURU3$=S'AGFC:R<KDLWGKGP.3MUW+G)3$SW<.".>=B1'P[]G'V9E
MKMLR[F7F[.K\=KZO*5JK74^V9#L&<A24.+AW[+Z(N.'8MVUKVJI"3>W'*=U*
M+85T41]K'K$RUJ)M:/1\+<_7KB8HCL4[*JNWT>V[[2?5_F;LQ=U>OX.W^I1,
M35/9JVTT]KI=I*>X[\7="\4L'9U]H/6N/:]Q^G@N7)VVQU2+]DDUEOPDW3*\
MFGKE7[)KIV>YH]-D/*;1T;;[&TI12+M0U//ZK?\ K&?N57+G%CP1')33&RF.
MQ'LI+R&FY'2[/P&1MTV[?'APS/+5,[9GLRSZ8#.
M         &O?*WD)C/%7CMMK?^5^ [;M;XC/N\&VOOTC4R#)I%6[9B&,-/?A
M;?R7*)T2"A5*5[*O]WX$U-AI6GW=4U"UD+7MKE<1,\E/#55VJ8F>TP-3S]O3
M,A=SUWVMNB9B.6>"F.W.$=M609[F^2[,SC,-BYG<GKQEV>9/?<PR:ZOJ6IVX
M7[([G)N]UEJJM:U4\>;+6JE*UKVTKT_L++6+%O+6*,O9C"U;IBFF.2(C"/85
MSOWKF9O5YB].-VNJ:IGEF9QEY,]7D    #:SA%QEO7+_ )1:BT'::2V8&8Y/
M&=S.[0Z)H]C^O;)2MXSF^MN.)5';EPL<AR*1*.=$/3ELL]>KE#5ZWJ=&D:9>
MS]>'2HI\&)XZYV4QVYPQYL9XFST;3J]6U*UD:<>C75X4\E,;:I[F.'/A"S+Q
MZP67%+!8\6QRVQ;/CV-6>V6"PVB$CPH5JLMFA,6ZUVV(WUKX<6#!C-M-IZUZ
M(32A6NY<KNW*KMR9FY5,S,SQS,XS/;E8JW;HM44VK<1%NF(B(Y(C9$=J'V#X
M?8         B>^TF<3N]K5',O%K9[IGP-,[8<BL_A:6JX7K6^1S$-4I3W#JK
ME:Y,IWK6O?;F.[I1"25?5QJNV[H]V?\ ]EOV(KCO51'6E&'K"TO9:U>U'_ZZ
M_9FB>_$SU81,B5D7      3\?(OY:5Y*<*[!A>17+UW9''"1#U3DM'WUO3IV
M(M1%R-87]ZCBW7:-2,:CKM?>M55/2;,^OI2BJ4(&WXTG[MUFJ];C#+9GPZ>2
M*O=QW?"[%4)QW+U3[QT>FS<G',9>>A/+-/N)[G@]FF79XXUUX
M              (;WM-GSZ\8_HFR[Y8-$P>K3T',^=I\E$OK&]-RWFJO*1D2
M2T<@     6L6 _F)A7P2QS\3PRK68^7KZ\]^5F['R%'4CO/6GB]0
M                           "IP+5JO@     2F_9AOS[Y?\ P2TY^.-A
M$7^LSY#*=>YWJ$E^KCY?-]2WWZDO0B1*H
M#@-[03R]3I'BM"X_8K=&V-A<EIC]ENK3*Z5F6K4-@4Q*S.;7MJNL>N37%R%9
MD)=31,F')G]BJ+8KT[W<#2/KNJ3J%V/^/EHQCDFY/M8][&-7-,4\KAM^]5^I
MZ9&1M3\?F)PGFHCVW=G"GGB:N1!I)N0P     !*P]FYXB5F7C9G-'+;;7U>S
MMS-0ZA];C)JARZ3FH<_8N5PEO(2XARWVU<2T1GVJU0XF;<655[FZT(M]8VK=
M&BUHUJ=L_&7.Q&RBGMSC5,<U,I-]7VE8UW-8NQLCXNWV>&NJ.Q&%,3SU0EOD
M3)3         'X;G;+?>K;<+/=H<>XVJ[09=LN=OF-)?B3[?/CN19L.4RNE4
M/1Y49U2%IK2M%)56E3ZIJJHJBNB9BN)QB>28X)?-5--=,T51C3,83'+$JSWG
MIQAN'#[EAN'1+[4CWBQK)';G@<V153BKIKK)6T7W"IGK"G7_ %F0S8YS4:4K
MO55,V.\A71254I9+0M3IU?2K.>C#IU4X51R5QLJ]F,8YIA7;7--JTG5+N2GV
ME-6-//1.VGV-D\\2U -NU0    ,H:3VYEVA-NZXW/@<Q<++=:9?9,OLSB7%-
MM27[1-:D/VR;VT5XMLO$2CD26TJBD/1GW&U4JE5:5QL[E+6?RES)WXQM7:)I
MGMQPQSQPQR3#)R>:NY'-6\Y8G"[;KBJ.UQ=B>">99X:4VUB>^=1ZXW-@TJDO
M$]F8=8LQLJ^^BWH\>]0&9;EMF4HE-6KE:9*UQ93:J)6U)96A5**36E*SYW*7
M<CF[F3OQA=M5S3/:GACFGACF6.R>:M9[*V\W8G&U<HBJ.W'!V8X)YV3S%9(
M                   #$V_/F*W3]$VQOD?>3+R'IUGSM'E0Q<]Z%>\U7Y,J
MLDM K2                 &1=8:@VINO)H^&:AUSFNS,JD^&I%BP?&[MDMP
M:9<=0SZY,9M4636!;FEKIXLE^K<=E/52UI32M:8^9S>5R5KX;-W*+5KEJF*8
M]GAGFC:R,ME,UG+GP.4MUW+L\5,3,^QP1SSL2#.(GLYF[,_<M.5\N,TA:5Q-
MRK<F1KO#95LRO:D^/_AK]5G7AKU_!L/J^VYU2ZER]/HJFJ'(K:J]:<!JWK$R
M67B;6DT3>N_KU8TT1V(V55?Y8Y)=WI6X&<OX7=5KBS:_4IPJKGM[::?\T\R5
M-QEX?<=.(&'IPW0.LK%A,:0Q&;ON0):5<LTRU^,BE*3,KRZX5D7R\N5>[G$,
MK=I$C*<52.RRW6B*1;J>KZCJ][X;/W:JYXHX*:>K3&R._/',I,T[2=/TJU\#
MD;=-$<<\-576JG;/>CBB&S!K6Q          #^,B.Q+8?BRF&9,62RY'DQI#
M:'F)##R%-O,/LN)4VZRZVJJ5)52J5)K6E:=#]B9B<8V3#\F(F,)VQ*JHV+B$
MK7VP<[P*=WUFX1F63XA+\3NHYZUC5[G6:1WT6S'51?BPJ]>K:*]?^ZG\%+29
M>]&8R]N_3P5T4U=V(G]*LV8M38OUV)X:*YI[DS#QI[/$    ';#V?W9#>!^8
MSA]@>D-QF=MZSV;K=2W5=C;CC%IB[*B1_$JM"$.29NNFD-T5U[W5)0FE5J2<
M7O\ 9;X?=VNY$8S9NT5^ST.]6['<7,18W@HHG9%VW71['3_T)[Y!";P
M             5T_G)_U,>5GPMQ+ZL<'+#;G_P!M97J5>74@+>W^XLUUZ?(I
M<R#I7.                   LI_+(L*\<\OGA[;W$OI5(T)K^_4I([/$JC*
MK,SD[2D]E*)\!;=XI5K^WPJIZ^GJ5PWEN?";P9RJ.*_7'BST?T+#;N4?!Z%E
M*9^8IGNQC^EO0:-N@                   ( 'GU_U,=Q?!+4'U8XR3WN)_
M;5GKW/+E!F^_]Q7>I;\B'&\[!R0    -L>!'[]'"[^++CG]<&'&JU[\#SO\
M*7OX=3::'^-9/^:M?Q*5F\5I6,                       %7KRY_>NY._
MQ"[I^LC)2S>D_A66_E[?D0K=JOXGF?/W/+EKT;!@     [(>0I_4QT[\$MO_
M %8Y,<?OW_;5[KV_+AUNY']Q6NI<\B4_\@1.8     &%=E\;N/6YD.IVWHW4
M>RUNH4BLG.-=XGD\YONJI7?'GW>TRYT5Y*EUJE;;B%I57K2M*^DS<MJ6H9/T
M2_>M=6NJF.Y$X,/,:?D,WZ59M7.M13/LS#EUN_R"?+[VPS-DX=B69:'R&3WO
M(N>L<ON4FTUEUZ]BI.)YRK+;(S!IZ**CVY%NI6B?<J0JM55Z?);^:_E)B+U=
M%^W'%73&/C4]&<>><7-YW<?0LU$S9HKL7)XZ*IP\6KI1AS1@X5\H?9W>5VI6
M+GD>@LEQKDABT2K[Z+%#0W@>T&8:*K=K5..7RXR<;OE8L:G2M(=WK,DN4Z,P
MZJ4E!W&F>L+2LW,6\_35EKL\?MJ,>S$8QVZ<(XY<5J6X.J96)N9&JG,6XXO:
MU]R9PGM58SQ0X*Y;A^68#D5UQ#.<8R##<KL4I4*]8SE-GN%@O]IF(I2JHURM
M%UCQ9\)^E*TKVN-IKTK2OX*G=VKUJ_;B]8JIKM51C%5,Q,3V)C9+B+MJ[8N3
M:O4U47:9VQ5$Q,=F)VP\Z>CS       3^_)0YUN\PN+L?$L[O-;CO+0%+3A&
M<O3'U.W/*\6=BNIP'/Y"W$U7)E76W0'K?<'%..O.W*VO2'>VDIJE8%WTT.-(
MU3X6Q3AD<QC53R4U>ZH[4SC'%A,1'!*<]S];G5M-^"OSCG;&%-7+53[FKMQ&
M$\\3,\,.RAQSK0                   *LC??SZ;H^EG8WRPO!:'(>@V?-4
M>3"M.>]-O>=K\J6)S*8H             #,/'_&]2YCN77N*;TS2^:ZU3D>0
MQK-F&=X] @W.XXG"N"'(\6]KA7%;<5=LAW);-9SE:J6Q#JZ\A#JVTM+Q,_<S
M=G)W+N1HIN9JFG&FF9F(JF.+&./#@Y9PC9PLO(V\K>S=NUG:ZK>5JJPJJB(F
M:<>/;Q8\/)&,[>!.-T7Y$7ESZP9MM[N&%9/OF=5F/.@7O:N;2+O:'TOL-N(D
MQ\>PEC#\/N=NDH5WM)F1)J.Q=*]RJTHHA'/;\[Q9F9HIKIL4\$Q13A/=JZ54
M3V)A,V2W)T#+1%=5%5^KAB:ZL8[E/1IF.S$NN&"Z\P#5^/1,2UKA&(Z^Q:!2
MB86-X3CEGQ:Q1:)0ENGJ]IL<.#!:KV(I3K1NE:TI0Y._F+^:N3=S-==R[/#-
M4S5/=G&756,O8RUN+67HHMVHXJ8BF.Y&$/8GB]0
M           1$O:0^7J;KD>M^%V(W1MR'BU(6V=P-Q5T4I.1W*%)BZ[Q>8I-
M4K:<MV/3I-V?8512'47. Y3HIOT2UZN=(Z%NYK-Z-M>-NWV(GPZNW,13$_LU
M1QHK]8.J]*Y;T>U.RGP[G9GVD=J)FJ>S3R(KI**,P     )D'LX?$7\CM6[
MYA99:_#OVUY$G7.KG94;M>C:ZQBYI7EUZ@O*IU5'RO-H*(:J4Z53^3_6E:I=
M(?\ 6+JWPV:MZ1:GXNUX=?7JCP8][3./O^9+7J_TKX++7-6NQX=WP*.I$^%,
M=:K9[U)O(T2,          & >4^@<:Y2<>=MZ"ROPV[9LO#KC8XMP<0ISWBR
M%KP[EB>2M-I]+C^-91!AST(]*5JCT2JE4UK2N?I>?N:7J%K/VO;6JXG#EC@J
MCWU,S';8.IY&WJ60NY&[[6Y1,8\D\-,]JJ(GM*Q3-L.R/7>999@&86UZS99A
M&27O$LGM#]4J>ME_QVY2;1>(#JFU*;6N)<(;B*J36J5=O6E:T])9BS>MYBS1
MF+,]*U73%5,\L3&,3W%<;UFYE[U5B[&%VBJ:9CDF)PF.Z\R>CS    !UQ\E3
MEI3BSS<PJ'D%R]1UIO5#.G<ZJ^^AJ! EW^='7@F2R/&6W&9]Y,Q1&9>D.*32
M-;9LQ77TUI7D]\])^]-%KFW&.9L?&4\LX1X5/;IQPCCF(=3N?JGW9K-$7)PR
M]_XNKDC&?!GM58;>*)E8/$ )W                         !#>]IL^?7C
M']$V7?+!HF#U:>@YGSM/DHE]8WIN6\U5Y2,B26CD     "UBP'\Q,*^"6.?B
M>&5:S'R]?7GORLW8^0HZD=YZT\7J
M    5.!:M5\     "4W[,-^??+_X):<_'&PB+_69\AE.O<[U"2_5Q\OF^I;[
M]27H1(E4                          #_  XXVTVMUU:&FFD*<<<<51#;
M;:*54M:UJK1*$(33K6M?12@X=D<)P;9X%;SYG_+E[F?S%V;M*VW%^;KNQRD:
M[U$RNJJ,,:[Q%^5&M]QBM+]VS3+;L_-O:TJ]VARY517I1":4L9NSI,:-H]K*
MU1AF*HZ=SKU<,>]C"GM*^;R:K.KZM<S-,XY>F>A1U*>"??3C5VW/DW[1
M ]9@6$9+LS.,/UUAEM>O&79YD]BP_&;4PE:G;A?LCN<:T6J(FB$+53QYLM":
MUI2O;2O7^P\K]^WEK%>8O3A:MTS55/)$1C/L/6Q9N9F]1E[,8W:ZHIB.69G"
M%G%Q6X^XMQ7X\ZGT%B"&*VS6^(V^SS;@PUX/O_DK_?<LNRA]NM*53*R?*)LN
M>Y3T40J15-*432E*5HU34+NJ:A=S][VURN9PY(X*:?>TQ$=I8S3,A:TS(6LC
M:]K;HB,>6>&JKMSC/;; F SP          C&>TA\3Z99JW6G+[&+51R^:LFL
MZRV;)CM*5(?U[E5Q<DX;=)KG]Q,+%LXEO1$TI[I3F1=:]4H]S)?JYU7X+-7=
M(NSX%V.G1UZ8\*(YZJ<)]XCGU@Z7\+EK>JVX\.U/0KZM4^#/O:MGOT.,F!$H
M     $Q+V;SEI7*=<;*X>93<O$N^M)#^T-7-27U+>=P3);BS%S:R0VUN=C43
M&LRF1YU*)3W+7?G:_@1Z(A]8VD_!9FWJ]J/ NQT*^M$>#/;IB8]["6/5]JGP
MN7N:3=GP[?AT=69\*.U5,3[Z4GTC))                     #$V_/F*W3
M]$VQOD?>3+R'IUGSM'E0Q<]Z%>\U7Y,JLDM K2               >VUM#P&
MXY_AMOVI><@QS6\[([5$S?(,5ML:\9%8\:DRVF;K=[1:9;C,>YS+=%6IY+%5
M4J[V52GW5:'CF9S%.7KJRM--69BF>C%4X1,\43/%CRO;+Q8JOT4YJ:J<O-4=
M*:8QF(XYB./#D3DN.7D5>6WBUDQ;._>S*.2<2\VJUY)CV3Y[GBI^)7F!=8C,
M^W7>UV37[&(X[=K+/B2$N,-S4W!I;2Z555=>BB$=1WXWCNUUV,:<M-,S$TTT
MX51,;)B9KZ4Q,<>&"9]/W*W>M44W\*LQ$Q$Q-56-,Q.V)B*>C$Q/%CB['Z_U
MEKG4^.QL1U=@6&ZYQ:)TK&QW!L9LV*V5E73I5Q-LL<.#$\9?_>75%5JKZ:UK
M4X_,9G,9NY-W-7*[EV>.JJ:I[LS+K;&6R^5MQ:RU%%NU'%3$4QW(>X/![
M           *W;S6=;KU7YB/+/&:QJ1&KGMBZ[!BMHJNK*HNUH<#9S*V*KIT
MHW6F6].Q/N&E4JVGI1/2EC-ULS]:W>REW''"U%'B8T?Z5?-Y\O\ 5=?S5O#"
M)NS5X^%?^ISY-^T0    -A>)>WJZ#Y.Z"W,IY;$+7.V<'R:]50I::O8W"O\
M"_*B'52*T51$_'7)3"NG7W+E?17\!K]6RGU_3,QD_=7+55,=F8GHSVIPEGZ7
MF_J.I6,WQ6[M,SV,=O=C%:#,O-2&FI$=UM]A]M#S+S*TNM/-.IHMMUIQ%5(<
M;<0JE4JI6M*TKUH5EF)B<)X5D8F)C&.!_0_                  *Z?SD_Z
MF/*SX6XE]6.#EAMS_P"VLKU*O+J0%O;_ '%FNO3Y%+F0=*YP
M      %I+QLQ3\@^.N@\'\)#'Y&:5U9BG@-I90VS^3N#6*T>$A$9QZ.E#?J?
M2E&UK12E/<UK3I4K#J5WX?4;]_\ 7O5U=VJ964T^U\!D+%G]2S13W*8AFHPF
M8                   !  \^O\ J8[B^"6H/JQQDGO<3^VK/7N>7*#-]_[B
MN]2WY$.-YV#D@    ;8\"/WZ.%W\67'/ZX,.-5KWX'G?Y2]_#J;30_QK)_S5
MK^)2LWBM*Q@                       J]>7/[UW)W^(7=/UD9*6;TG\*R
MW\O;\B%;M5_$\SY^YY<M>C8,     '9#R%/ZF.G?@EM_ZL<F./W[_MJ]U[?E
MPZW<C^XK74N>1*?^0(G,         :7<QN O&KG%A[F/;KPB.O)8<%R)B>TL
M<;B6G96%KJIQQOWFR.L6169;$ONJ6NV3VY=L=6KO4QXE$.)W.CZ]J6B7OA,E
M7/P4SX5$[:*NS'+SQA//@U&K:'IVLVO@\Y1\9$>#7&RNGL3R<TXQS()7F!^7
M'NWR_MA-V7-V:Y=JW))DAO6^X;/ =C8]E3;37K*K3=8M7YB\7S&%'ZU?MK[J
M^]*%NQG9#":NTG+0-XLEK^7Z=CP,U3'AVYG;3SQP=*F>*8[$Q$[$*:[N_G-"
MO]"]X>6JGP+D1LJYIY*N6)[,3,;7/8Z!H0     .C_E2<MG^'G-#6.<W*Y.0
MM<9M,1JW;#57:-P_R+S*9$BIO<RBU40EO#<A:@WA2J4JY5F$XVGT.JI7G=ZM
M)C5]&NV*8QS-$=.WR]*GBCK1C3VXGB=!NQJDZ3J]N]5.&7KGH5]6KC][.%7:
M6.!798                    "K(WW\^FZ/I9V-\L+P6AR'H-GS5'DPK3GO
M3;WG:_*EB<RF*    "1OY$O WBAS+Q/D?<^26JOTCSL"R+6L'$W_ ,N=D8?[
MTQ<@MN92+NUX>!YAB[,[UMZU1Z]TE+RF_#Z(JFBE4K'>_.NZKH]W+4Z;=^#I
MN4US5X-%6.$TX>VIJPX9X$@;E:)I>KVLQ5J%KX2JBJB*?"KIPQBK'VM5./!'
M"Z\<G?(.X4YAH_/+/QKU934F\$VI5QUYEDC9FVLEM+E]MJZ2V<>O]MS3.<GM
M"++DJ&U0WI2(WK$*KJ9"*J\.K3G):9OYK5G.VZ]2N_"Y+'"NGH6XG">.)III
MG&.&(QPG@X\8ZK4MQ]'NY*NC3K7P6=PQHJZ=<QC'%,553&$\&.&,</,@W95B
MV1X/DV089E]EN..95BEYN6/9'8+M&<AW2RWNSRW8%SMD^*[2CC$N%,86VXFO
MX%)J3=:NV[]JF]9JBJU73$Q,<$Q.V)CLPAB[:N6;E5F[$TW:9F)B>&)C9,2^
M"?;X      F(^05YDM<[QV%P=W3?Z*S'#;4\]H#(;I(31[)<+MC-7IVM)$A]
M?B2+UAT5*G[33JJKMG0XQ2B*0&Z.Q#OYNY\!<G6\E3\37/QL1Q53P5]BK@J_
M:V^ZV2QN/O#\/;C1LY5\=1'Q4SQTQPT=FGAI_9V>YVR?B,DD
M                     QGN?;.'Z(U/L3<N?S:P<.UIB-[S"_/-]BI+L.S0
MG95(%O:6I%)-UNCZ$1HC-*]S\EYMM/I50R<GE+V>S=O)Y>,;UVN*8[,SPSS1
MPS/%#&SF:M9+*W,W?G"U;HFJ>UQ1SSP1SJQ7>^Y,NY";DV5NW.Y'CY5LW+[S
MEEU2EQ3C$#WRE*7!LT%2DI4FV6*VI9A14]*=D:.A/]A9C(Y.UI^3MY*Q\E:H
MBF.?#AF>>9VSSRKEG<W=S^;N9R_\K<KFJ>;'@B.:(V1S0Q,93%    !F#C_I
M7+>1FZ]8:-P9NBLGV?F-GQ2WR'&G'HUJ9GR*5NE_N#;5:.UM6.6AM^?+JGW2
M8T9RM/30Q,_G;6G9*[GK_P E:HFJ>?#@B.>9PB.>67D<G=U#.6\E9^4N5Q3'
M-CPS/-$8S/-"SLU+J_$=*:PP'4>!0/>W#=;XG8\.QV(JJ5O4MEAM[$!A^8\E
M*/6;C,\&KTEZM.Y^0XMQ7NE5J5GS>:O9W-7,W?G&]<KFJ>S,X]R."(XH6.RN
M6M9/+496Q&%FW1%,=B(P[O+RRR&8[W           !"$]H?XGJU)R@Q_D=C=
MMI'POD;9Z^_[D=-:,0MK87%A6R^T=;2I3<6F28TNVS6Z]$UDRT3E]*J2M59K
M]7VJ_6],JTZY/QV6G9ST58S'<G&.:.BAO?W2_JNI4ZA;CXG,1MZ].R>[&$\\
MXH]9(#@P    ?]2I2%)6A54J36BDJ36J5)4FO6BDUITK2M*T]%0+(+RM^62>
M8_##5>S;K<Z7+8>/0E:SVW5;M'9GZ1,*C0XEPNL^J4-MIE9C99$&^U2BG8VF
MZ413THK2E=-Z-*^Y]9NY:F,,O5/3M]2K@B.K.-/O5@MVM4^]M(M9FJ<;],="
MOKT\,SUHPJ[;H8<^WP                        0WO:;/GUXQ_1-EWRP:
M)@]6GH.9\[3Y*)?6-Z;EO-5>4C(DEHY      M8L!_,3"O@ECGXGAE6LQ\O7
MUY[\K-V/D*.I'>>M/%Z@                                   %3@6K
M5?      E-^S#?GWR_\ @EIS\<;"(O\ 69\AE.O<[U"2_5Q\OF^I;[]27H1(
ME4                          #C;YXG+NO&#A=D6*XY<JPMF\BW+AJ?$J
MQI*6+A;<:EP:.;*R>.E*T2:-V[&9-+<AYFM'(TZ\17*5IVG8;DZ1]YZS3=N1
MCELOA<JY)JQ\"GMU;<..*9AR6^>J_=ND56K<X9G,8T4\L1[N>U&SFFJ$ (GM
M!@     $CKV=3B,O9>_\LY5Y3:_&P_0<%['L'=DHHJ-<=LYA:WHKS[+:VW&9
M/Y'85,D/.45VK8EW2"\W7N1U3'?K#U;ZMD*-*M3\=?G&KFMTS_JJP[,4U0D#
M<'2OK.>KU.['Q5B,*>>NJ/\ 33CVYIE-5(83            #%V[=28IOK4.
MR=,9Q']9Q39N&W[#;SVH0M^+'O<!Z(U<X/?Z&KG9Y*T2XCE.BFI+*%TK2J:5
M,K)9N[D,W;SEB<+MJN*H[4\$\T\$\S&SF5M9[*7,G>^2N433/;CACGCACG5A
M6X]4Y;HS:^Q-.9Y$I"R_6>8W_"[^TWXE8SL^PW%^ J=;W7$-JDVJYMLIDQ'Z
M4[7XSK;B>J54J68R>:M9[*V\Y8G&S=HBJ.Q,8X3SQP3'%*N&;RMW)9JYE+\8
M7;=<TSV8G#&.:>&.6&-C)8X    -J^$?)B\\0>4>H-^VOUI^#A>41D9A:HG8
MIZ_:_O:%V7.;(RVZI+"IDW&9TGU13G5#,U++O3JW0U>M:;1J^EWLA5ATJZ?!
MGDKC;3/8BJ(QYL8;/1M1KTK4K6>IQZ-%7A1RTSLJCN3.'/A*S.L%^LV4V*RY
M/CMRB7G'\CM-NOUBO$!U+\&ZV:[PV;A;+E"?3[EZ).A2$.MKIZ%(52I6NY;K
MM5U6KD3%RF9B8GAB8V3$]B5BJ*Z+M$7+<Q-NJ(F)C@F)VQ/;A]8^'V
M             !B;?GS%;I^B;8WR/O)EY#TZSYVCRH8N>]"O>:K\F5626@5I
M      [I>1=PXXW\Q]K[UQKD?KG](UDPW7F.7W&X7Y7YYB'O;=9^2.0)<KUG
M!,HQ>7,\6)2B.Q]QUM/X:)HKTG#[\:QJ.CY2Q=TZY\'77<F)GHTU8Q$8^ZIJ
M]AVNY>D:?JV:OV]0M_"446XF/"JIPF9P]S,>RD&[E\A/R^\OU9G6-ZBU(YJ7
M9]TQ^8S@FQ$;,W/E+6+Y.UV2;5,GX]E.P[]9+M9WY+-(\UIR*MVL-YVK"FGZ
M-.HX#)[]Z_9S5%S-W?A<M%7A4="W3TJ>/"::(F)XXV\.&.,8P[K-[D:%=RU=
MO*VO@LS-/@U].Y5T9XL8JKF)CBG9P<&$[4&#:NKLYTIL?,]3[+L$O&,[P&_S
ML<R6RS$]'(MP@N=OB,.T_P .9;IS"D2(DENJF945UMYI2FUI56;\KFK&=RU&
M;RU456+E,33/-/>F."8X8G9*%\UEKV3S%>5S%,TWZ*IB8YX_1/#$\<;88_,A
MX      2J?($\R:MHN%OX([IOO\ Y5=I$N3QSR6ZRE]MNO#ZGIUUU)*DO*4V
MB)>7%.3+#W5;[)GCPDJ<5)A,HBW?W=SITSKN2I\*(^.ICCC@BYVN"KFPJXJI
M29N-O#T*HT3.5>#/R4SQ3QT=OAIY\8XXA+F(F2H               0D_:1]
M25Q+E[K+;,6/X5MV_IZ'"F/=BZ>M97K>]SK1='/%K_AJ\/%[U8T=M/=)[>M?
M0JA-/JYS?PND7<I/MK-['WM<8Q_FBI#GK"ROP6JV\U'M;MG_ #43,3[$TH[A
M(3@@     +'KRHN0:>2? KC_ )O+FJF9/C6*-:LS=3JZ.3*Y1K*M,4=G7!=%
M*369D5G@0[LKI6G5,]->B:]4TKKO5I_W;KN8L1&%JJOIT]6OPL([$S-/:6!W
M8S_WCH=B],XW::>A5UJ/!QGLQ$5=MT5.>;\                 (QO./R&M
MM\L.5>X>0N/;ZUSB=FV7>;-=(./7G&\FFW.V-VO$[!CKC4N5!<I%>6Z]9U.4
MJCT42NE*^FE22]$WZRFE:59T^Y8N5UVJ9B9B:<)QJF>/LHYUG<C-:IJ=W/V[
M]NBBY,3$3$S,84Q'Z&J'W9/>OVG-3?%',/\ --K^9>1^S7?&I:O\N<[]IM>+
M4?=D]Z_:<U-\4<P_S1^9>1^S7?&I/RYSOVFUXM1]V3WK]IS4WQ1S#_-'YEY'
M[-=\:D_+G._:;7BU'W9/>OVG-3?%',/\T?F7D?LUWQJ3\N<[]IM>+4?=D]Z_
M:<U-\4<P_P T?F7D?LUWQJ3\N<[]IM>+4?=D]Z_:<U-\4<P_S1^9>1^S7?&I
M/RYSOVFUXM1]V3WK]IS4WQ1S#_-'YEY'[-=\:D_+G._:;7BU'W9/>OVG-3?%
M',/\T?F7D?LUWQJ3\N<[]IM>+4?=D]Z_:<U-\4<P_P T?F7D?LUWQJ3\N<[]
MIM>+4?=D]Z_:<U-\4<P_S1^9>1^S7?&I/RYSOVFUXM2-]L#%:8+GF;80FZQ;
MZG#LNR3%:7R$Q(C0KS3'KS-M%+K$C2THE1XMQI#\9M#M*.(0NE%4I6E21LO=
M^'L47\)IZ=$583Q8Q$X=I'U^U\!?KLXQ5T*YIQY<)PQ[;R1ZO(    &2=,X.
MYL[<&J-:M-U>=V%LK!<'::2EY:G7,LRBUV!#:41W6)"JK5<*4I1"T+KU]RJE
M>E3&SE_ZMD[N9G@MVZJO%IF?T,C)V?K.;M9>.&Y<II\:8C]*U%2E*$I0A-$I
M32B4I32B4I2FG2B4TITI2E*4]%"KJS#_ *                    " !Y]?
M]3'<7P2U!]6.,D][B?VU9Z]SRY09OO\ W%=ZEOR(<;SL')     VQX$?OT<+
MOXLN.?UP8<:K7OP/._RE[^'4VFA_C63_ )JU_$I6;Q6E8P
M         5>O+G]Z[D[_ !"[I^LC)2S>D_A66_E[?D0K=JOXGF?/W/+EKT;!
M@     [(>0I_4QT[\$MO_5CDQQ^_?]M7NO;\N'6[D?W%:ZESR)3_ ,@1.8
M        88Y!:"UCR=U'F.D]OX^SD6$9I;JQ)C%:T9N%KGLJH_:<AL4ZB5.6
MV_V*>A$B*^GKVN(Z*HMM2T*S-/S^9TS-T9W*5=&_1.SDF..)CCB8V3##S^1R
MVI96O)YNGI6:X[<3Q3$\4Q.V)5QO-WB%G_"'D+F&BL[K6X-6VK=[P?+6XRHL
M'.L NKTE..Y3"94IRC#C](KL::Q1;E(EQBR&*+<HW1Q5B=$U>QK>GT9ZQLF=
ME5/'37'#3/?B>.)B>-7_ %G2K^C9^O)7]L1MIJXJJ9X*OT3'%,3#4DVS5@
M   6/GE2<B7N3? [0N?7:;Z[E]@QM6L,[=<?]8F.93K5]6*KN=R=[44K<,GL
ML&%>'*4IT3[XTH5UWJT^-,UV_EZ(PLU5=.GJU^%A'-3,S3VE@=V-0G4M$L7Z
MIQNTT]"KK4>#C//,1%7;=$SGF_                  !5D;[^?3='TL[&^6
M%X+0Y#T&SYJCR85ISWIM[SM?E2Q.93%    !+T]F&_,3E_\ "W3GXGV$1)ZS
M/E\IU+G?H2KZN/D,WU[?>J2FR+TEHJWM GES>_%OD<[M/V1'OG:(\"V\BK%;
MF/\ %N-H93$M6/;38CM(I5R196D-V^]5IW*5#]6D]$HC2G%2EN#O%T*HT+.5
M>#,S-F9XIX9H[?#3SXQQQ",M^MW^G3]]Y2GPHPB[$<<<$5]K@JYL)XI1&264
M6      >DP[,,HU]EF-YUA-\N.,YAA]\MF2XQD-I?5&N=EOMFF,S[9<X+Z>O
MAR(<MA"T]:5I6M.E:5IUH>=ZS:S%JJQ?IBJS73,51/!,3LF)>EF[=L7:;]FJ
M:;M%43$QPQ,;8F%BIY9?/C%N?/'BUYOWVVT[?PND'&-UX7#7V4M&54C*K&R2
MTPW5*DHQ'-F(ZYEO56KB6'$R(=7778;JZUZWET&[H.H38VSE*\:K=7+3R3^U
M3P3R[)PB)A/N[FN6M<R$7MD9NC"+E/)5RQ^S5PQR;8QF8ET7.=;\
M                       (N_M('+W\G,#UWPSQ*Y+;N^P'H6T]L>JO]M6L
M)L5PE1<&QF8A"E)=9R'+8+US=0JB'&JV2*JG5#]23O5UI'PE^YK-V/ M^!;Z
MTQX54=BF8I]]/(C;U@ZK\'8MZ1:GPKGAU]6)\&.W5&/O8Y4/@EU%      &;
M>/O(S<7%G8\3;>B<JBX5L2WVJZV6!DDC%,,R]V!;[VPF+=$PK?G./9+:8DJ7
M$I5FLAN.F0EEQQM*Z(<<2K"U#3LGJF6G*9ZB:\O,Q,QTJJ<9C@QFF8GM8X=Q
MF9#4,WIF8C-9*J*,Q$3$3T::L(GAV51,=O#%OM_/(\TG[4'_ "4X[_LD-#_1
M&Z_V7_<N_2-Y_6>\OVG_ &[7[A_/(\TG[4'_ "4X[_LD']$;K_9?]R[](?UG
MO+]I_P!NU^X?SR/-)^U!_P E.._[)!_1&Z_V7_<N_2']9[R_:?\ ;M?N'\\C
MS2?M0?\ )3CO^R0?T1NO]E_W+OTA_6>\OVG_ &[7[A_/(\TG[4'_ "4X[_LD
M']$;K_9?]R[](?UGO+]I_P!NU^X?SR/-)^U!_P E.._[)!_1&Z_V7_<N_2']
M9[R_:?\ ;M?N'\\CS2?M0?\ )3CO^R0?T1NO]E_W+OTA_6>\OVG_ &[7[A_/
M(\TG[4'_ "4X[_LD']$;K_9?]R[](?UGO+]I_P!NU^X?SR/-)^U!_P E.._[
M)!_1&Z_V7_<N_2']9[R_:?\ ;M?N'\\CS2?M0?\ )3CO^R0?T1NO]E_W+OTA
M_6>\OVG_ &[7[A_/(\TG[4'_ "4X[_LD']$;K_9?]R[](?UGO+]I_P!NU^X?
MSR/-)^U!_P E.._[)!_1&Z_V7_<N_2']9[R_:?\ ;M?N, \C_,EYH<N,"B:R
MY#[@B[%PFWY' RV!:']7Z>QQZ#D=LAW*W0[K"O.'Z_QZ^Q7VX%XE,JHW)2AQ
MI]:5I4FO0V&G;N:-I-^<SI]F;=Z:9IF>G<G&)F)PPJKF.&(G@XF#J&\.KZK8
MC+9^[%RS%451'0MQA,8QCC33$\$SQ\;1HW;2@     2!_9Z>6E=.<I;QQWR:
MY>!@W)*UMP[*F2^M$6V[8Q*/-N.,NM>(OU>/^4]D<GVQ=$IHY*FJ@([NC=$U
MX'U@:3]<TN-0M1\?EIQGGMU815XLX3S1TG=;AZI]4U.<A<GXG,1LYJZ=L=V,
M8YYZ*<00DF8                        (;WM-GSZ\8_HFR[Y8-$P>K3T'
M,^=I\E$OK&]-RWFJO*1D22T<@     6L6 _F)A7P2QS\3PRK68^7KZ\]^5F[
M'R%'4CO/6GB]0                                   "IP+5JO@
M 2F_9AOS[Y?_  2TY^.-A$7^LSY#*=>YWJ$E^KCY?-]2WWZDO0B1*H
M                    %>MYS_+JG*_FOFM,>NB+AK#2*']/Z]5$DN/VRXUQ
M^XREYGE4;I7U5]>0Y:[)0U*:IVR;9#A>Z4E":E@-S=)^ZM%H^$C#,W_C*^6,
M8\&GM4X;.*J:D#[WZK]Z:Q7\'..6L_%T\DX3X57;JQV\<1#DR=6Y<     #?
M3CYYG'-[BMKF-J;06YHFOL BW:ZWY%DC:ITO?GG[S>G4.W*Y3[YE6N[[D%SE
MOT9;;2N3+=JTPTVRWVM-MH3HM0W9T35,Q.;S]F;F8F(C'IW(V1P1$4UQ$=J.
M'&>&6[R&\>LZ9EXRN1O1;L1,SAT+<[9X9F:J)F>W/!LX&;_YY'FD_:@_Y*<=
M_P!DA@_T1NO]E_W+OTC-_K/>7[3_ +=K]P_GD>:3]J#_ )*<=_V2#^B-U_LO
M^Y=^D/ZSWE^T_P"W:_</YY'FD_:@_P"2G'?]D@_HC=?[+_N7?I#^L]Y?M/\
MMVOW#^>1YI/VH/\ DIQW_9(/Z(W7^R_[EWZ0_K/>7[3_ +=K]P_GD>:3]J#_
M )*<=_V2#^B-U_LO^Y=^D/ZSWE^T_P"W:_</YY'FD_:@_P"2G'?]D@_HC=?[
M+_N7?I#^L]Y?M/\ MVOW#^>1YI/VH/\ DIQW_9(/Z(W7^R_[EWZ0_K/>7[3_
M +=K]P_GD>:3]J#_ )*<=_V2#^B-U_LO^Y=^D/ZSWE^T_P"W:_</YY'FD_:@
M_P"2G'?]D@_HC=?[+_N7?I#^L]Y?M/\ MVOW#^>1YI/VH/\ DIQW_9(/Z(W7
M^R_[EWZ0_K/>7[3_ +=K]P_GD>:3]J#_ )*<=_V2#^B-U_LO^Y=^D/ZSWE^T
M_P"W:_</YY'FD_:@_P"2G'?]D@_HC=?[+_N7?I#^L]Y?M/\ MVOW'/K>N^-I
M\E=F7W<6Z<BB9=LC)V;4SD&21<6Q'$5W:EEMD2RVUZ9:\)L..65V7'M4!EBK
M_JWC.-M(HM2NVAT&1R.5TW+4Y/)4S1EJ<<(Z556&,XSMJF9X9F<,6ASN>S.H
MYFK-YRJ*\Q5AC/1IIQPC"-E,1'!&&.#$)EL4     "=/[/YRV5O3B3(T=E%V
MK-V!QEGP\6C)EOU<FS]47ZDN9KV4GO2WWL8\J'-LB6V^^D:);HG?6E74=8/W
M^TGZCJWUZU&&7S,=+FBY'M^[LJYYF>1-.XNJ?7=+^I7)QOY:>CV:)]KW-M/-
M$1RN]!PCMP                   ,3;\^8K=/T3;&^1]Y,O(>G6?.T>5#%S
MWH5[S5?DRJR2T"M(     $F[V9/Y]>3GT38C\L'2-/67Z#EO.U>2D;U<^FYG
MS5/E)D)#Z6D;_P ^[RY4[GUY(YD:BL/B[6U/8/#VS:+7'K65GNK+2FKGY158
M:IVRLAUM%JX\X[6E'7['1Q"EK]2B-$B[B;Q?4\Q]SYNK_BW:OBYGW-<\78K]
MBK#]:91]OQN_]<L?>V5I_P"5:I\.(]U1''V:/9I[$0A8$S(@      _9;KC<
M+/<(%WM$^;:[K:YL6XVRYVZ4_!N%NN$%]$F%/@38RVI,.;#DM)<:=;4E;:TT
M4FM*TI4_*J::Z9HKB)HF,)B=L3$\,3#]IJJHJBNB9BJ)QB8V3$QQPL&O*,\Q
M.V\[-"MV_,9\2/R'U-$MMCVI:NZ/'=R>(INL>R;-M$-NC::V[)$L51.0TBB8
M5T0XCM0R[%JY &]N[U6AY_I68F=/NS,T3^KRT3SQQ<M.''$X3MNKK].MY'HW
M9CZ_:B(KCEY*XYIX^2K'BF'6DY1U(             "/O[1EHU>P>&6*;BM\
M3QKKH'9UJG7*3VT5ZM@^R4LX9>DIZ)[Z+>S!6.UK7KVT0VKK2OHJGO\ U=Y[
MZOK->3JGP,Q:F(ZU'A1_EZ;A=_\ )?#Z13FZ8\*Q<B9ZM?@S_FZ*#P38AD
M   "3Y[-ERA;QG9FV^)60W%#-NV9;J;5US'D2*-MUS?$H35NS6UP&*UZR;CD
M&%MQIBNGI1'QY=?P?@C/UCZ9\+EK6K6X\*U/0KZM4XTS/-%6,=FM)'J]U+X/
M,7=+N3X-R.G1UJ8PJCLS3A/8I3$R($L
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
MORLW8^0HZD=YZT\7J                                    5.!:M5\
M     "4W[,-^??+_ ."6G/QQL(B_UF?(93KW.]0DOU<?+YOJ6^_4EZ$2)5
M                       !S0\VCEZWPZX8[$R^RW5%NVAL%JNK-2H;52LU
MK*\JB2FY^11D471;7Y'8PQ-N2'E)6RF8Q&:73_&32O2;J:1]\:S;LUQCE;?A
MW.3HT\$>^JPC#DF9XG.[T:K&DZ1<NT3AF;G@4<O2JX9][&,]G".-7/EAT @
M                            #I3Y37+2O$#FIK/-+S<O>_6^>2/T4[5J
M\^MF"QB.92X<>/?YE>^C2&L/R5B#='%J2M7JT5Y":4JYU.;WKTG[WT:[9HC'
M,V_#HY>E3Q1UHQI[,QR.AW7U3[JUBW>KG#+UST*^3HU<?O9PJ[$2L9BO"?P
M                  ,3;\^8K=/T3;&^1]Y,O(>G6?.T>5#%SWH5[S5?DRJR
M2T"M(     $F[V9/Y]>3GT38C\L'2-/67Z#EO.U>2D;U<^FYGS5/E)D)#Z6G
M^'&VW6UM.H0ZTZA3;C;B:+;<;72J5H6A5*I6A::]*TKZ*T'!MCA.'9/ @+>=
M!Y=2N%V]*;%UO9UL<=-VW.X7+#FHK3JXFO<R[/7\AUQ(>[:M,0>JG)UCHJJ5
M+MU5QZ=ZH+KJYYW-WA^^<C]7S,_^QL1$5?MT\$5]GBJY]ONHA!V]^@?<^=^L
M9>/_ %]Z9FG]FKAFCL<=/-L]S,N+AV3D      -E^(?*78O#??F#[XUK)K6Y
MXS-]6R"P.OK9M>:X9<'&49+AMZ[4N4K O4-JG8Y5"U1);;,ENGC,-UIK=7TO
M+ZQD*\AF8\&J-D\=-4<%4<\3W8QB=DMCI6IYC2,]1GLO[:F=L<55,\-,\T^Q
M.$\,+(SCIR UQRBTS@F\M57=%VP_.[,S<8Z%*;]\;)<V^L>]XQ?6&U+I#O\
MC=U;=ARVNJDT>:JI"EMJ0M5<]1R&9TS.7,CFHPO6ZL.:8XJHYIC;'^*P>GY[
M+ZEDZ,[E9QM5QCSQ/'$\\3LEFPPF8            !@WDSI>V<BN/>YM&W53
M34?:.NLIQ"-,>312+7>+G:I"+!>TT4VZGQK'?4QIC=:I5T<8I7I7\!G:;G:M
M.U"SGJ.&U<IJ[,1.V.W&,=MA:CDZ<_D+V2JX+MNJGL3,;)[4X3VE7M?;)=L9
MO=YQN_07[7?<?NMPLEZMDJB4R;==K3+>@7&#(2E2DT?B3(ZVUTI6M.Y-?26;
MMUT7:(N6YQHJB)B>6)VQ*MU=%5NN;=<85TS,3'),;)A\L^GR    #+N@MSY;
MQVW3K+>&#/5:RC6.8V;++<UX[D=BYMVZ2FMRL,YUI*G/>K(K4M^!+32E>^+)
M<3TKU,3/Y.UJ&2NY*_\ )7:)IGFQX)CGB<)CGAE9'.7<AG+>=L_*6ZXJCGPX
M8GFF,8GFE9R:7VWAN^M3:\W-KZ=[X8;LO$[-EUA?55OUEF+=XC<ARW7!MM:T
MQKM:)-7(DQBM>YB4RXVKW2:T*T9W*7LAF[F3S$87K=<TSVN..:>&)XXG%8W)
MYJSGLK;S=B<;-RB*H[?%//'!/)+)QC,D                           !
MQA\^?>K.GO+XSG&(TOU?(][Y/B^I;,EISI(3;I$U679?(JS3W2X+N*XK)@.K
M_NH7<&Z5KU4FE>RW$R,YS>"B[,8V[%-5R>SAT:>WTJHGM.0WWSL930J[<3\9
M?JBB.Q[:K_+3,=N$ XGE!P     $D#V:G52LCY1;MV[(BTD0-7Z<C8S&>4W5
M28.1[/R>&NW24.=M:-ON8_@MW9I3K2JD.K]%>E>D=>LC-?!Z78RD3X5V]TNS
M%%,X^S52D'U>9;X34KV:F/!MV<.Q-<[/8IJ33R&4O@
M  ( 'GU_U,=Q?!+4'U8XR3WN)_;5GKW/+E!F^_\ <5WJ6_(AQO.P<D    #;
M'@1^_1PN_BRXY_7!AQJM>_ \[_*7OX=3::'^-9/^:M?Q*5F\5I6,
M               %7KRY_>NY._Q"[I^LC)2S>D_A66_E[?D0K=JOXGF?/W/+
MEKT;!@     [(>0I_4QT[\$MO_5CDQQ^_?\ ;5[KV_+AUNY']Q6NI<\B4_\
M($3F           #\LZ%#N4*9;KA&8FP+A%D0IT.4TAZ-+ARFEL28TAERBD.
ML/LN*0M*J5HI-:TJ?M-4TU153.%43C#\JIBJ)IJC&F8PE6#<O-(N\;N3^]]&
MJ;?;AZWV;E-@L"Y*E+D2\1I<79N&7%Y2U+75RZ8G+A2:]5*KU=]-:_A+,Z1G
M8U'3+&>]U<M4S/6PPJCM58PKAJN3G3]2OY+BMW*HCJXXTSVZ<):YFQ:\
M'<GV>G/U8AYB%JQKUE++>U=/[,PBL=:VJ4ENVJ-:MEMH;0[6BE/M-Z_6NE6Z
M5<HW1?\ W*K.(]8%CX;=Z;F'R5ZBKNXT?ZW9[AW_ (+7XMX[+MJNGN85_P"E
M/&(+3:                  "K(WW\^FZ/I9V-\L+P6AR'H-GS5'DPK3GO3;
MWG:_*EB<RF*    "7I[,-^8G+_X6Z<_$^PB)/69\OE.I<[]"5?5Q\AF^O;[U
M24V1>DL T_YS</,"YP\>,PTAFE&;?<IC-;WKW,?5TOS,%V#;6'_R?R*.GIXC
MT&KCRHMQCIJA4NVR'VDK;6I#J-OH>KW]$U"C.V=M,;*Z?UJ)X8[/'$\4Q$\S
M4ZUI-C6<A7D[VRJ=M%7ZM4<$]CBF..)F.=6[;>U/G>BMG9OJ#9MC?QW.]>Y!
M-QO)+2_U4EJ;#52K<J&_VI1-M5SB.-RH<E'5J5$>;>;K5"TUK8S*9NQGLM1F
M\M5TK%RF)B>:>],<$QQ3C"ON;RM_)9FO*9FGHW[=4Q,?]<4\,3QQM8Y,AC@
M    2'_(E\R5/'O9#'%#<>0)BZ4VU?:5P*^W631%OUIM"YJ0PQ'??=]$'%,^
M?HW&D5K6C$.YU9D*\-IV8]2/M^=W/O#+?>N3IQSMJGPHCAKHCOU4\,<<TXQM
MF(AWNY6\/U#,?=>;JPR=VKP9G@HKGO4U<$\DX3P3,IN!"J8P
M                ".U[1!R]3J?CGCO%_%+HVSF_(::F=E[3"Z5F6S4.*3F9
M4RB^RM'8=<QRQB+$:7U[9$.%<&:TK2M>DA>KW2/K6HU:G=CXC+QA3R3<JC_3
M3C/-,TRX'?W5?JNGTZ;:GX[,3C5S6Z9_U581SQ%4(2I-*'0
M                  E.>S<\ME6G*MG<-<LNU:6_+&).V=2,2WZU0UDEHBQX
M6PL<MZ5(6M3EXQZ/%NK;*5(::3:ICG2JWE5K%_K&TGIVK6L6H\*CXNYV)VT3
M/8G&GWT1Q)+]7VJ]&[<TB[/@U>'1V8]O$=F,*NU/*EYD2)5
M          $-[VFSY]>,?T39=\L&B8/5IZ#F?.T^2B7UC>FY;S57E(R)):.0
M     +6+ ?S$PKX)8Y^)X95K,?+U]>>_*S=CY"CJ1WGK3Q>H
M                       !4X%JU7P     )3?LPWY]\O\ X):<_'&PB+_6
M9\AE.O<[U"2_5Q\OF^I;[]27H1(E4                         $#SS[N
M7JN0G+^3J#&;HY*UMQD8GX&PTTNOJ-QV?,?9>V9>$II6E5N6R9$BV/W=.B7+
M2ZMNO8]6JITW$TC[OTB,W=C#,YG"KGBCW$=N,:O?1CP(3WXU7Z_JLY2W..7R
MV-/--?NY[6RGWL\KAF=NXL                               +#KR<.6
MW_5EPEP"=?;E2;LS3Z4:?V/1UUI4V7,Q:#%3BV2OHHKQW$Y-A[L)UY]:$I=N
M+<Q*>[PZU*^[X:3]U:U<IMQAEKWQE')A5/A1[VK'9R8<J>MTM4^]-&MU5SCF
M+7Q=?O8\&>W3AMY<754Y9TP                  ,3;\^8K=/T3;&^1]Y,O
M(>G6?.T>5#%SWH5[S5?DRJR2T"M(     $F[V9/Y]>3GT38C\L'2-/67Z#EO
M.U>2D;U<^FYGS5/E)D)#Z6@#7SE+QLUWRWT7GFAMG0_%QW-;9X46Z,,M.W7%
M<BA+I+Q[+;$MSM\&[6"YMH>13N2E]NBV'>YEUQ"MAI>I9C2<];S^6GXRB>#B
MJB>&F>:8[G#&V(8&IZ?E]5R5>1S,?%UQP\=,\54<\3W>#@E6S\EN/&Q.*N[L
M_P!#[1@(AY9@5Y<@.2XU':VK(;1(0B98<IL3SR&W)%CR2SOLRXRE)2ZA#OAN
MH;>0XVFQNFZAE]4R5O/96<;5RG'GB>.F>>)V3[&Q7O4<AF-,SES)9F,+M$X<
MTQQ51S3&V/9VL%F<P@     .W'DL>9 ]PVW/^B/9][JSQOW5>H,6_OSI*DP-
M99\^EBV6?8S/BJK'B6>8TAJ#?ZT\/K"0Q*4NOJ"6G.*WSW<C6,G];RU/_L;-
M,X8<-=/#-'9XZ>?&/=8QV.Y^\$Z1G/JN9J_]?>G;CP45<$5]B>"KFPGW*>HV
MXVZVAUI:'6G4)<;<;51;;C:Z44A:%IK5*T+37K2M/16A!/!LGA3?P[8X'^P
M            0#_/<XRN:"YV9=FEJ@5C81R,@(V_9'VT?[.C*YSU;=LNW*=]
M'B3UY;'7=G:=.B6KPS3K6O4GG<;4XS^AT6:I^/R\_!SU8VT3V.CX/O90=OMI
MWU'6Z[U,86<Q'PD=:=E<=GI>%[Z'& [)R      $J[V=3G.S:Y^0\&-AWCPX
M]ZD7?/\ 0DF=)I1MN[497/S_ %Y%\5RO9[XQV%WV RVE*/%:N:E5JX\VFL6^
ML/0YJIIUS+QMIB*+N')P45]KVL^]Y)2;N#K44U5:+F)V3C5:QY>&JCM^VCWW
M+"7"1,E,                           !"#]HGY/(VIRKQ7C[89OCXQQQ
MQA3=[2R[6K$C9FQ(]JOM^HKPG*L2467%XEGC([J>)'E*F-^CN52LU^KW3/JN
ME5:A<CXW,U;.I1C$=VKI3SQ@AO?[4OK6ITY"B?B\O3MZ]>$SW(Z,<TXH]A(#
M@P     )PWLY&G%8/PMR_:\V-5NX;OVU>YEOD]M4IDX?KR(QAUK32M?[]6,M
M:OU*JI7I[JE.G6E>L)^L3.?#ZS1E:?:V+48]:OPI_P O13+ZO\I\#H]>:GVU
MZ[.'5H\&/\W22"3@'=@                    ( 'GU_P!3'<7P2U!]6.,D
M][B?VU9Z]SRY09OO_<5WJ6_(AQO.P<D    #;'@1^_1PN_BRXY_7!AQJM>_
M\[_*7OX=3::'^-9/^:M?Q*5F\5I6,                       %7KRY_>N
MY._Q"[I^LC)2S>D_A66_E[?D0K=JOXGF?/W/+EKT;!@     [(>0I_4QT[\$
MMO\ U8Y,<?OW_;5[KV_+AUNY']Q6NI<\B4_\@1.8            $"CV@K!V
M,2\QG*;XRS5I6S-5:NSB17LJA+S\.TR]=U>1U9:2NE6\!2FM:5<I5::]5=>J
M4SMN!?F[N[11/_:NUT^ST_\ 4A#?NS%K>"JN/^Y:HJ]CH?Z7$<[5QP    .F
M/DY7S\G_ #+N*,_QWH_K&99+8_$83W+5^4VN<SQOP%4_L9E>^WA.5_L;76O]
MAS6^%'PF[>:IX? B?%KIG]#HMTJ_@]XLK5^W,=VBJ/TK%XKRGX
M        %61OOY]-T?2SL;Y87@M#D/0;/FJ/)A6G/>FWO.U^5+$YE,4    $
MO3V8;\Q.7_PMTY^)]A$2>LSY?*=2YWZ$J^KCY#-]>WWJDILB])8  CK^?+Y<
MGZ>]:.\M]1V.CNX=.X^[38UGMD=M,K8>J+6AZ9)N56VT47/RC7;7B2&:]?%D
MVFK[/5Q<>$S20MQ=XOJ&9^Z<W5_P[U7@3/N*YXN:FO@YJL)XZI<#OON_]>R_
MWKE:?^7:I\.(]U1''SU4<//3C'%$(3!-*'0      $ZKR0?,EIRNU/3C]MR_
MUD\AM,V*,F-<[G(4[<-IZSA*CVZWY2J2\XMZ?E&,..L0;S5?5R11R-,JIQ;\
MGP8.WVW<^ZLW]X92G#3[U7!'!17.V:>:FK;-/)MC9A&,T[F[P_>F5^H9JK_G
MV:>&>&NB-D5<]4<%7+LGCG#O*<*[<                          #\LZ;
M#ML*9<;A)8A0+?%D39TR4ZAF-$AQ6EOR9,AYRJ4-,,,MJ6M2JTHE-*UJ?M-,
MU5133&-4SA#\JJBF)JJG"F(QE6M^8QRPG<SN7.U-THERWL-<N?Y(:KA2J+;]
MZ]8XHX_!QA"(KGNX3U[JI^[RV:UKV3[D_P!*].A8_=W2J=&TFUDL(^&PZ5<\
MM=6VKLX;*8GDB%>=?U2K5]5NYS&?@<>C1S44[*>[[:>>9:/&[:8
M                      ,O:!W1EG'7=>L-Y8.YVY/J_,K+EMOCJ?>C1KJU
M;I257/'[@ZQ_C4M.26E;\"8E/I7%DN)_M,3/Y*UJ.2NY&_\ )7:)IGFQX)CG
MB<)CGAE9'.7=/SEO.V?E+=<51SX<,3S3&,3S2L\=4;,Q3<^LL VW@L[WQP_9
M.(8_FN.2E=E'E6K([9&ND5F8TA;E(MQB(D^%)8K7O8D(6VKHI-:4K/FLM=R>
M9N92_&%ZW7-,]F)P[G)/'"Q^5S-K.9:WFK$XV;E$51V)C'N\L<4L@&.]P
M                  "&][39\^O&/Z)LN^6#1,'JT]!S/G:?)1+ZQO3<MYJK
MRD9$DM'(     %K%@/YB85\$L<_$\,JUF/EZ^O/?E9NQ\A1U([SUIXO4
M                                J<"U:KX     $IOV8;\^^7_P2TY^
M.-A$7^LSY#*=>YWJ$E^KCY?-]2WWZDO0B1*H
M:4^89RJ@\->)&VMW5=CURJWV;\F=:6]]3/6Z;*RRJK1B;:8[U:)FQ[/)>7=9
MC*?=JMUOD53Z:&ZW?TNK6-6M9+_M35TJYY**=M78Q]K'/,-/KVITZ1I5W.?]
MV(PHCEKJV4]SVT\T2K4KC<9]XN$^[76;*N5TNDV5<;E<9K[DF;/GS7UR9DV7
M)>4MV1*E2'5+<6JM5+6JM:UK6I9"FFFBF**(B*8C"(C@B(XE>*JJJZIKJF9J
MF<9F>.9?C/U^                               !V^\A?ELKCSS+MVK<
MCNU86M^3<6%K>XLR'ZMV^'LB/(>DZKO"FZ)4IR;,O$J186J4[4];[WKKT;I6
MG%;]Z3]X:-.:MQCF<M,UQR]#W<=C#"KWKLMR-4^H:O&6N3AE\S'0GDZ?N)[N
M-/OD]$@E-P                  ,3;\^8K=/T3;&^1]Y,O(>G6?.T>5#%SW
MH5[S5?DRJR2T"M(     $F[V9/Y]>3GT38C\L'2-/67Z#EO.U>2D;U<^FYGS
M5/E)D)#Z6@ !Q!\[#RYD\PM)?I?U?8Z2>1>D+/.FV6-":IZ]LC7C*GKGD& +
M2TTJ1.O4!7B7"PI]W6LNK\1":5G5<;[;<O>+[HSOU3-58:=?F,<>"BO@BOFB
M>"KFPGW+C=\=W_O;)_6\M3CJ%F)P_;HX9IYYCAIY\8]T@7J2I"E(6FJ5)K5*
MDJI5*DJ37I5*J5Z5I6E:>FA.J$7_        $SWR%/,EKMW"8?##<]_H[L[6
MUEZZ8OUSD)3(SC6MGC)37#'77G.Z7DNO8;7^S=ONY-C2GW'=!>==AO?O=SZI
M>G6<G3_QKE7QD1[FN?==BOCY*NM$1+NY&\/UNS&D9RK_ )-N/BYGW5$>Y[-/
M%RT]69F2D1PD,            #BUYZW$ISDIPMO.<8U;')^R>-LR7M/'D16?
M&FW'#/5&X>T;"WZ:U2PK'&&[S6B$J==?L;+2?_$KU[/<;5ONW68L7)PRV9CH
M3R15[B>[X/8JF7(;ZZ7.HZ/-ZW&.8R\]..6:?=QW/"[-,0@*D\(.      ]-
MA69Y1KK,,7S[";U.QS,,,O\ :<GQB_6UY3$^T7VR36;C;+A%=3_=>BRXZ%TZ
M]:5Z=*TK2M:'G>LVLQ9JL7Z8JLUTS35$\$Q,83#TLWKN7NTW[,S3=HJB8F.&
M)C;$K';RZ.<.(<\N.6.[3M?J=JV!9:1\7W!A<=SW>+9W$C(K+>B,K<=>_)K)
MFD^OVIQ2EU]6=JRM=7V'TIKKO%HE[0M1JRM6,Y>KPK=7ZU/^,<%7/MX)A8'0
M-9M:WI].9IPB_&RY3^K5_A/#3S;.&);YFB;L
M &N/+;DAB/$KCOM'?N9.1UPL#QN7+LUH?D)CNY1ETRE(.(XI#56M'*R,@O\
M(8CU4BBJLM*6\JG8VJM-CI.G7=6U"UD+/MKE6V?U:>&JKM1C/L-?JNH6M+R%
MW/7N"BG9'ZU7!33VYPCV597G^<Y-L[.LRV1FEQ<O&7Y[E%^S')[H[U[[A?\
M)+I*O%VEU352NRC\Z8M5$TKT32M*4]%"RN7L6\M8HRUF,+-NF*:8Y(B,(]A7
M2_>N9F_7F+TXW:ZIJF>69G&7DCU>0    /[Q8LF=)CPH4=^7,EOLQ8D2*RY(
MDRI,AQ+3$>.PTE;KS[SJZ)0A-*J4JM*4I6M3\F8IB:JIPB'[$35.$;9E9Y<-
MM'M\;>*^@]'59:9N&N]8XQ9\C\"J:L2,SD0477.)S/:I=*-7',;A.D)IW*Z4
M=I3N5^&M9]8SWWEJE_/>YN7:ICJXX4QVJ8B%CM(R7W?IEC)>ZMVXB>MAC5/;
MJF9;+&M;$                    !  \^O^ICN+X):@^K'&2>]Q/[:L]>YY
M<H,WW_N*[U+?D0XWG8.2    !MCP(_?HX7?Q9<<_K@PXU6O?@>=_E+W\.IM-
M#_&LG_-6OXE*S>*TK&                       "KUY<_O7<G?XA=T_61D
MI9O2?PK+?R]OR(5NU7\3S/G[GERUZ-@P     =D/(4_J8Z=^"6W_ *L<F./W
M[_MJ]U[?EPZW<C^XK74N>1*?^0(G,            "$+[2I^_1JC^$W!?K@W
ML37ZM_P.[_-U?P[2&_6'^-6OY6G^)<1ZB0'!@    Z%>5!_48XC?2S;OQ7=3
MG]ZO[=S?FI[\-]NO_<&5\['>E9"E=%@@                  59&^_GTW1]
M+.QOEA>"T.0]!L^:H\F%:<]Z;>\[7Y4L3F4Q0    2]/9AOS$Y?_  MTY^)]
MA$2>LSY?*=2YWZ$J^KCY#-]>WWJDILB])8  _P"*2E:5(6FBDJI5*DJI125)
M53I5*J5ZTK2M*^F@$"GSK/+F5PYW=3;&K[!6)QSW;=9\ZPL6^+5%KUOG[M7K
MC?==J2RGU>W6>6SW3[$BOAIK#H_%:16D!2U3MN9O%]\9+ZIFJL=1L1$3CPUT
M<$5\\\57/A,^V0AOAN_]TYSZUEJ<-/O3,QAP45<,T<T<=/-C'N7$<[5QP
M  &5M';JV'QUVS@VZM4WM>/Y[KV^,7RQ3^U3L5VJ6W8MPM-TBI<:]?L=]MDA
MZ%.C54E,B)(<;K6E%=3%SV2R^HY2O)9JGI6+E.$QWICDF)PF)XIB)962SF8T
M_-49S*U=&_;JQB>_$\L3&R8XXE9#\*.7>O.;7'[#]Y:_>:BN7-KWIS?$ZRDR
M;C@>>6YABN08I<J]K;BO5G'T/Q'E(1ZW;WV)%$TH[2E*YZUI.8T74*\CF-N&
MVFKBJIG@JCO3R3$QQ+!:/JN7UG(T9VQLF=E5/'35'#3/?CEB8GC;9&J;0
M                      '#_P ^?ETKCMPYG:LQFZ+@[(Y-2)^N[:J+);9G
M6[74-J+)VC=DHK6KBX\^SS6+$OI2E:4O55I513=#MMQ-)^\-8C-78QRV6PKG
MDFN?:1VIB:O>N-WWU7ZAI,Y:W.&8S.-$<L4>[GMQA3[Y P)U0B
M                       !,N]G$Y:4S;3V?\1<HN7B9#IV<_GVMV9+Z:NR
MM;9A<ZUR2UPF:KJZIK%,ZEJD.JZ4ITO[2:>A%>D.^L72?@<Y;U:U'Q=Z.A7U
MZ8V3/6IV>\E+GJ_U3X;*7-*NS\99GI4=2J=L1U:MOOH282-DB
M           $-[VFSY]>,?T39=\L&B8/5IZ#F?.T^2B7UC>FY;S57E(R)):.
M0     +6+ ?S$PKX)8Y^)X95K,?+U]>>_*S=CY"CJ1WGK3Q>H
M                        !4X%JU7P     )3?LPWY]\O_ ():<_'&PB+_
M %F?(93KW.]0DOU<?+YOJ6^_4EZ$2)5                        "$][1
M+R]_2IR$Q?BUBER0_AG'V)6[YE6(_P")'NFVLM@1WGHK]&U+8>_(G$W&(S:J
M5HXS,N,]ERE*HITFCU>Z1]5T^K5+L?'9B<*>:W3/^JK&>>(IE#V_VJ_6<_3I
MEJ?B;$8U<]=4?Z:<([,U0CHDAN                                 !
M^RW7&?9[A NUJFRK;=+7-BW&VW&$^Y&FP)\)]$F'-B265(=CRHLAI*VUIK12
M%II6E:5H?E5--=,T5Q$TS&$Q/!,3Q/VFJJBJ*Z9F*HG&)CBF%EQY?_*6%S'X
MEZAWI1V)^4U[L";'L:!#2AINU[)QA7O-F4=,1'_R,2?=(U9\-JOII;YC%>M:
M*I6M;=?TNK1]6O9';\%35C1,\=%6VGLX1LGGB5B-"U*-6TNUG=GPE5.%<<E<
M;*N[.V.:8;EFG;<                 ,3;\^8K=/T3;&^1]Y,O(>G6?.T>5
M#%SWH5[S5?DRJR2T"M(     $F[V9/Y]>3GT38C\L'2-/67Z#EO.U>2D;U<^
MFYGS5/E)D)#Z6@   A(>?'Y<M./^SU\L=16%;&FMR7]Q.P+1;8Z*6_76V+E5
MZ7(DML,THJ#C&PU-NRV>J:LQ;JF0SW-H?A,$U;B[Q?7\K]U9NK_F6:? F>&N
MW'?JHX.>G"=N%4H<WVW?^HYG[TRE/_$O5>%$<%%<]Z*^'FJQC9C$([Y(+@@
M    /8:^S_,=59QBFR->W^?BV;X1?;=DF,9!;'*-S;7>+7(1)B26^ZBVGF^]
M':ZTXE;+[2E-N)4A2DU\<QE[.:L5Y;,4Q58KIF*HG@F)_P"NT];%^]E;U.8L
M533>HJB8F.*86-'ES<Z,-Y[<>+'L^U>]UFV+8?5\:W%@D1Y:EXEFS+%:KDPV
M'UN2JXKE++59UI>4IVG@+7'6XN3%D437C>+0[V@ZA5E:\:LO5X5NK]:GG_:I
MX*N?;AA,)_T#6K.N9"G,TX1F*=ERG]6K]VKAIYMG#$M]S0MX           #
M\\R'$N$25 GQ8\Z#.COPYL*8PU)B3(DEI3,F+*C/)6S(CR&5J0M"TU2M-:TK
M2M*G[$S3,54SA5'!+\F(JB::HQIGAA6[^9GP\G\)^7&Q=5Q8$MG7-YEJSO3M
MQ?2\MF?KG)9$B1;+<W+>ZJF2\0FHD664XKHIQ^ IWI1+J*UL7NUK%.M:3;S4
MS'UF(Z-R.2N.&>;I1A5'-.'$K[O'I-6CZK<RT1/U>9Z5N>6B>"/>[:9YX: &
M_:(     #>WR\^=.>\"-_6G:..4F7O!;W2+CVW, :D(:CYIA:I5'7*1DOJI%
MCY1C[BU2K5*5VU:?[V5J]7D2$+T>\&AV->R$Y6YA3?IVVZ_U:OW9X*HY-O#$
M-WH.M7]#ST9FWC58JV5T_K4_O1PTSR[."96+6H-N:^WQK3#MNZKR*)E6 YW9
MH]\QV]0^]%'XKU5-O1I<9U*)$"YVZ6TY&EQ7DH>BR6EM.)2M"J4KSF\IF,CF
M:\IFJ9HOVZL)C_KAB>&)X)C:GW*9JQG<O1F\M5%5BN,8G_K@F."8XIV,D&,R
M                         A >?AS^9Y";GB<7]97Q$[4.A;S)<RRX6V7X
MUMS3<:&)%MN;J5LK4Q+MVO84A^UQE]/_ )Y^X5I5;=65$V;AZ!.GY.=3S-.&
M;OT^#$\--OACMUSA5/-%/.AK?C78S^<C3<M5CE+$^%,<%5S@GM4\$<\U<R/>
M=^X0     #K%Y+7&%?)?GAK"MUMM)V!:4<KNS.*O-H<B+3ADJ*O#+4\V^VY%
METNV?R;8EZ,NG^- ;DUZ5HA1RN^>IQINA7>C.%^]\73[[VT]JCI;>7!U&Z&F
M_>.MV^E&-BS\95[WVL=NK#9QQBL+2OR>                      " !Y]?
M]3'<7P2U!]6.,D][B?VU9Z]SRY09OO\ W%=ZEOR(<;SL')     VQX$?OT<+
MOXLN.?UP8<:K7OP/._RE[^'4VFA_C63_ )JU_$I6;Q6E8P
M         5>O+G]Z[D[_ !"[I^LC)2S>D_A66_E[?D0K=JOXGF?/W/+EKT;!
M@     [(>0I_4QT[\$MO_5CDQQ^_?]M7NO;\N'6[D?W%:ZESR)3_ ,@1.8
M          $ _P _/8\3/O,<V#:84FDJ/JW ];ZXJZA?>TF6U8JYM<HS=?P4
MK"N>;O,N4_[KS:Z?AI4GG</+38W=MUS&$W;E=?L]&.[%/<0;OQF(O[P7*:9Q
MBU111['2GV:NZXP'9.1    !TN\G6R?E!YEG%"!X4A[P,UR&]]D7_P 1/Y-:
M\S'(_%5[E?\ L\?WJ\1[T?\ A)5Z:?AIS>]]?P>[>;JV>TB/&KIC]+HMTZ.G
MO%E:?VYGN453^A8PE>$_                   JR-]_/INCZ6=C?+"\%H<A
MZ#9\U1Y,*TY[TV]YVORI8G,IB@    EZ>S#?F)R_^%NG/Q/L(B3UF?+Y3J7.
M_0E7U<?(9OKV^]4E-D7I+   # W)KCIKGE=I'/=$[2MR9N+YQ9WH:)S33*[I
MC-]9I5^P9=8'7DJ3&ON-W1#<F.JO5MRJ*M.I6RXXVK/TS4<QI6=MY[*SA=HG
M@XJHXZ9YIC9/=C;@P=1T_+ZIDZ\EF8QMUQP\<3Q51SQ.V.Y.Q6T<HN-^Q.)F
M\\]T1LZ"N/D6$W9R/%N:([K-LRK'9-:OX]E]B4Y57C6;(K6IN0U[I2F5*6P[
MVO-.(38W3-1R^K9&WGLM.-NN.#CIGCIGGB=GLQLF%>]2T_,:7G:\EF8^,HGA
MXJHXJHYIC;[$[88 ,]@@     =0_*F\P>^<"^0<.XWR9/FZ&V6_;<;W+C;%7
M7TQ("7UMVG8-JA(HNKF080Y+==[$)JJ9 =DQJ=%N-.-<QO3N_1KNGS31$1G[
M6,VYY^.B9Y*O8G">*<>DW8UZO1,_%5<S.1N81<CFXJHYZ?9C&.3"PVL%^LN5
M6*RY/C=T@WS'<CM-NOUAO5LD-S+;>++>(;-PM=TM\ME2F94&X09#;K3B*U2M
MM=%4KTJ5^N6Z[5=5JY$TW*9F)B>&)C9,3SQ*>:*Z+M$7+<Q5;JB)B8X)B=L3
M'-,/K'P^P                        KJO-TY=4Y@<T]AY18;HBXZQUJM6
MIM5N19+C]MGXUB<^<FY93#KU2RZC,<FDS)[3R4(6J"Y&;7W>$FI8;=+2?NC1
MK=JY&&9N?&5\L551&%/O:<([.,\: MZM5^]M8N7*)QRUOP*.28IG;5[Z<9[&
M'(YBG2N<                                  W"X$\H;IP[Y7ZBWI%D
M2T6"P9"U:-@P(M7%>_.M\DZ6?-+>N,AMZDQUFT253(C=4*[9\5AQ-*+0FM-1
MKVF4ZQI5[(SA\)53C1/)7&VF>;;LGFF6VT/4JM)U2UG8QZ%-6%4<M$[*H[FV
M.>(67UJNMMOMKMM[LTZ+<[1>($.ZVJY07D2(5PMMPCMRX,Z)(;JIM^++BO)<
M;6FM4J0JE:>BI6VJFJBJ:*XF*XG"8GAB8X86(IJIKIBNB8FB8QB>6)X)?O/E
M]                     (;WM-GSZ\8_HFR[Y8-$P>K3T',^=I\E$OK&]-R
MWFJO*1D22T<@     6L6 _F)A7P2QS\3PRK68^7KZ\]^5F['R%'4CO/6GB]0
M                                   "IP+5JO@     2F_9AOS[Y?\
MP2TY^.-A$7^LSY#*=>YWJ$E^KCY?-]2WWZDO0B1*H
M    UQY<\BL<XG\;]M[_ ,F]7>C:[Q.;<;/;)*U-HR#+IRF[3AF-4JVI+M/R
M@RJ?$B*4CTM-NJ<KT2BM:;'2=.N:KJ-K(6N&Y7A,\E,;:I[5,3+7ZKJ%O2]/
MNYZYP6Z<8CEJG93';JF(5DV<9GDNQ\TRW869W1^^9?G.2WW+\IO,GM]8NN0Y
M)<Y5XO-Q>HBB44<F7&8XY6B:432JNE*4H65L6;>7LT9>S'1LT4Q33')$1A$=
MJ%<[UZYF+U=^]/2NUU355/+,SC,]UY<]7F
M       !)1]G)Y;?H_W9G7$O*;E1G&-VPGLTU\W(=;;9B;1Q&V=;Q CT6INE
M',OP>$I2U=5JJ[9([:$]7%5(X]8FD_6,E1JUJ/C;,]&OJ53LGWM7E3*0_5_J
MOP&<KTN[/Q=Z.E3UZ8VQ[ZGR83/B&TN@                !B;?GS%;I^B;
M8WR/O)EY#TZSYVCRH8N>]"O>:K\F5626@5I      DW>S)_/KR<^B;$?E@Z1
MIZR_0<MYVKR4C>KGTW,^:I\I,A(?2T   &-=Q:DP/?.K\XT[LZR,9%@FPL?F
MXYD5K>2WWJBRJ)6Q.@O.-N^I7BT3FFID&4E/B1)C#3R*T6VFM,G)YN_D<U1G
M,M5T;]NJ)B?T3RQ,;)CCB9ACYO*V,]EJ\IF:>E8N4X3'^'/$[8GBF(E6Z\X^
M(.=\(>1.::-S1+\Z!;WZWK7^7*CUCQ,ZU[<Y$C\F\FC)IU:;E.-,+C3V$*6F
M)<HTABBEI;HM5C-$U>QK>G49ZSLJG973^K7'#3^F)XXF)5\UK2;^C9^O)7MM
M,;::OUJ)X)_1,<4Q,-1#;-4     !OIY='.;,N!7(BQ;1M%)UXU]??5L9W%@
M\9Q%4Y9@TB4E<AZ"R^ZS&3E6,NJK.M+REM=)"%,..4C29"5Z+>+0[.O:?5E:
M\(S%/A6ZOU:N?]FK@JCDV\,0W>@:U>T//TYFC&;%6RY3^M3S?M1PT\^S@F5C
M5K[/\.VK@^*;(U[?X&4X1F]BMV28QD%L<JY"NEGND=$F));[J(=9<[%]KK3B
M4/,.I4VXE*TJ32N^8R][*WZ\MF*9IOT53%43PQ,?]=M8"Q?LYJS3F+%456:Z
M8F)CCB7L3Q>H           .,WG:<&'.7G%F7F>#V5=QW?Q\1=LYPEF#'J]=
M,IQ)<9I>P<#8;0OOE2+C;(#5Q@-(;=D.W&V-1F:)]:<[NQW*US[IU2+-^K#)
M9C"FK'@IJ]Q5VIG">+"J9G@AR.^.B_>NF3>LQCG+&-5.'#53[JGMQ&,<>,1$
M<* 23T@T      !V"\I[S1LIX&[#1A6</SLAXP[!OC#V>8\TRY-N.#7>2VS!
MIL?#V6^Y^LN(PRU2YP$44FY0VNB4>LML*IR.]6[%K7<O\-8PIU.W3X,\$51P
M]"K_ $SQ3S3+J]U]Y;NB7_@;V-6FW*O"CCIG@Z=/Z8XXY\$^7"<VQ'9&)8]G
MF Y'9\OPS++5$O>-Y+8)S-QM%YM4UNCD:9!F1U+;=;6FO2M/0I"Z52JE%4K2
MD#WK%[+7:K%^F:+U$X33,83$QRIPLWK68M4W[%45V:XQB8VQ,2]0>3U
M                 .$/G4>9Y%XCZUE:"TW?D5Y*;3L;K+]RMLI/K.GL#NC3
MT67EC[T=ZDF#FM[:JIFQ-4[%L=5W!2D^!'1*[K<S=F=6S,9_.4_^MM5<$_\
M<JCW//3'NN7VO'.'$[X;R1I67G(Y2K_V-VGAC_MTS[KFJGW/)[;BC&">I2EJ
M4M:JJ4JM5*4JM5*4I5>M5*K7K6M:UKZ:DXH5?\      !/$\A/A^]QUXB-[;
MRRV>I;(Y.2+7GKZ)#'AS;7K&!%D,ZQM3O=2M?_-(5PEWSN36G<S=V4+31;-2
M"]^]7C4=7^J6IQRV6QIYIKGV\]J8BGWL\J;-R-)G3]*^M78PS&9PJYXHCVD=
MO&:O?1R.Y9Q#M                      " !Y]?]3'<7P2U!]6.,D][B?V
MU9Z]SRY09OO_ '%=ZEOR(<;SL')     VQX$?OT<+OXLN.?UP8<:K7OP/._R
ME[^'4VFA_C63_FK7\2E9O%:5C                       !5Z\N?WKN3O\
M0NZ?K(R4LWI/X5EOY>WY$*W:K^)YGS]SRY:]&P8     .R'D*?U,=._!+;_U
M8Y,<?OW_ &U>Z]ORX=;N1_<5KJ7/(E/_ "!$Y@           \3LK86*ZDUY
MG&T<XN%+5AVO,4OV9Y-<*T2I4:R8Y;)-VN*V6EK;H_*5&BJ2RU15%.NU2A/I
M50]\ME[N;S%&5L1C>N5Q33'/,X0\<Q?M97+UYF].%JW3-4SS1&,JO;=VU;_O
M/<6T=RY37ID&T<]RK.[FS1Q3K4*1DUZF7:EMBJ5TJF#:VI*8\=%*42AEI*:4
MI2E*%F\EE;>1R=K)VOD[5NFF/>QACV9X9YU;LYFKF=S=W-W?E+M=54]N<<.Q
M'!#%YDL8    ';KV?/!G,L\QK%K^AI#B=8:IVGG+JU-J<4PW<+/%UK1UM5&U
MT975W8:4=U:HI5*ZIZ]542KBM_[_ ,%N[5;^=NT4]R>G_H=EN)9^%W@IK^;M
M5U=V.A_J3U2"4W                   JR-]_/INCZ6=C?+"\%H<AZ#9\U1
MY,*TY[TV]YVORI8G,IB@    EZ>S#?F)R_\ A;IS\3["(D]9GR^4ZESOT)5]
M7'R&;Z]OO5)39%Z2P    <5/.E\NEOF9HQ>SM;6:C_(S2%GGW+%&H<;Q+AL7
M"&:OW*_ZT75JE9$FY44IV?8D]'.EQ\2,E**3W'4=GN9O#.C9[ZMF9_\ 77YB
M*N2BK@BOL<57-M]S$./WOT#[WR7UG+Q_["S$S3RUT\,T=GCIY]GNL4!UQMQI
MQ;3J%M.M+4VXVXFJ'&W$5JE:%H52BD+0JG2M*^FE2>.';"#^#9/"_P @
M  E;^0)YD_J+]OX(;KOW^R2WI<GCADUU>]$:8\MZ?=M0S)CBNG@SG5N3;!XG
M3M>K(@T<5XD".F+-_=V^E$Z[DJ=L?+4QR<$7.UP5\V%7%5*3MQMX<)C1,Y5L
MGY*9[LT?II[=/ZL);!$Z4@                      !RB\Y3EZGB5PKSAZ
MP71N#M+<]']1ZW;0NGKT1W(H3Z<QRB.VFOC-4Q?$*2ELR:4[&;F_"2KTN)I7
MJMSM(^]M9HBY&.5L_&5\FR?!I]]5ALXZ8JY',;W:K]UZ/7-$X9F]X%';]M/:
MIQV\LPKS2P*!@     .DOE@^7[</,)WK>M?3LAO&$ZYPC#IV69[FMGMD>Y2[
M>Y)<I:L4L,!$U:(-+K?KP\IU*7>O=!@RU)IW(I6G.;S:_3N_D:<Q33%>8KKB
MFFF9PQXZIG#;A$>S,.AW;T*K7L[-BJJ:,O11-5541CAQ4Q&.S&9]B)=^_NR>
MB_M.[9^*&'_YIP7YEY[[-:\:IW/Y<Y+[3=\6D^[)Z+^T[MGXH8?_ )H_,O/?
M9K7C5'Y<Y+[3=\6D^[)Z+^T[MGXH8?\ YH_,O/?9K7C5'Y<Y+[3=\6D^[)Z+
M^T[MGXH8?_FC\R\]]FM>-4?ESDOM-WQ:3[LGHO[3NV?BAA_^:/S+SWV:UXU1
M^7.2^TW?%I/NR>B_M.[9^*&'_P":/S+SWV:UXU1^7.2^TW?%I/NR>B_M.[9^
M*&'_ .:/S+SWV:UXU1^7.2^TW?%I/NR>B_M.[9^*&'_YH_,O/?9K7C5'Y<Y+
M[3=\6D^[)Z+^T[MGXH8?_FC\R\]]FM>-4?ESDOM-WQ:3[LGHO[3NV?BAA_\
MFC\R\]]FM>-4?ESDOM-WQ:3[LGHO[3NV?BAA_P#FC\R\]]FM>-4?ESDOM-WQ
M:3[LGHO[3NV?BAA_^:/S+SWV:UXU1^7.2^TW?%I/NR>B_M.[9^*&'_YH_,O/
M?9K7C5'Y<Y+[3=\6D^[)Z+^T[MGXH8?_ )H_,O/?9K7C5'Y<Y+[3=\6D^[)Z
M+^T[MGXH8?\ YH_,O/?9K7C5'Y<Y+[3=\6D^[)Z+^T[MGXH8?_FC\R\]]FM>
M-4?ESDOM-WQ:3[LGHO[3NV?BAA_^:/S+SWV:UXU1^7.2^TW?%I/NR>B_M.[9
M^*&'_P":/S+SWV:UXU1^7.2^TW?%I<-_-6\M=SR[=AZVMF.Y;?-@ZTV=BMPG
MV3++];(ELN#&6XY<:1\HQR4Q;N^#V0[=<[9*8<HNBW4RUIJFGA54KM]UMY(W
MAR]RJY13;S-JN(FF)QCHS'@SMV\,51/8YW&;S;O?<&8MTVZZKF6N4S,53&$]
M*)VQLV<$Q,=GF<ISJ7,      3Q/(-Y:5Y \.6-2Y)<O7-A<8YT+ 95'WU/3
M9VMKHU*FZRNCOB.*JEF!"AS+&VE-*40S9FZU]*R"]_-)^H:Q];MQAE\S$U\T
M5QLKCMSA5[Y-FX^J?7])^JW)QOY:8I[-$^TGM;:?>NY9Q#M
M        $-[VFSY]>,?T39=\L&B8/5IZ#F?.T^2B7UC>FY;S57E(R)):.0
M   +6+ ?S$PKX)8Y^)X95K,?+U]>>_*S=CY"CJ1WGK3Q>H
M                     !4X%JU7P     )3?LPWY]\O_@EIS\<;"(O]9GR&
M4Z]SO4)+]7'R^;ZEOOU)>A$B50                      !$$]I"Y>JOF8
MZYX88C='*6W"FXNU-P-1UU2W)RF]V^K6N\<E535#G6QXS-DW1YI7>R][[PW*
M='(].DN>KK2.A9N:S>CPJ_ M]6)\.>W5$4\O@SRHI]8.J].[;TBU/@T>'<[,
MQX$=J,:O?1R(M9)Z-0     )!WEF>21;N;?'IW?^T]G9CJVT7_+KS9=<V_'+
M%9[G7),>QM2+7>,HD/75Q/AQ5Y2U,M["$4HKOMSRE>Y4BM> WEWUJT74/J&5
MM47:Z:(FN9F8PF=L4[/V<)GLP[O=S<ZG6<A]>S-RNU157,41$1.,1LF=O[6,
M=J71+[LGHO[3NV?BAA_^:<]^9>>^S6O&J;_\N<E]IN^+2?=D]%_:=VS\4,/_
M ,T?F7GOLUKQJC\N<E]IN^+2?=D]%_:=VS\4,/\ \T?F7GOLUKQJC\N<E]IN
M^+2?=D]%_:=VS\4,/_S1^9>>^S6O&J/RYR7VF[XM)]V3T7]IW;/Q0P__ #1^
M9>>^S6O&J/RYR7VF[XM)]V3T7]IW;/Q0P_\ S1^9>>^S6O&J/RYR7VF[XM)]
MV3T7]IW;/Q0P_P#S1^9>>^S6O&J/RYR7VF[XM)]V3T7]IW;/Q0P__-'YEY[[
M-:\:H_+G)?:;OBTGW9/1?VG=L_%##_\ -'YEY[[-:\:H_+G)?:;OBTGW9/1?
MVG=L_%##_P#-'YEY[[-:\:H_+G)?:;OBTGW9/1?VG=L_%##_ /-'YEY[[-:\
M:H_+G)?:;OBTGW9/1?VG=L_%##_\T?F7GOLUKQJC\N<E]IN^+2?=D]%_:=VS
M\4,/_P T?F7GOLUKQJC\N<E]IN^+2?=D]%_:=VS\4,/_ ,T?F7GOLUKQJC\N
M<E]IN^+2?=D]%_:=VS\4,/\ \T?F7GOLUKQJC\N<E]IN^+2?=D]%_:=VS\4,
M/_S1^9>>^S6O&J/RYR7VF[XM)]V3T7]IW;/Q0P__ #1^9>>^S6O&J/RYR7VF
M[XM)]V3T7]IW;/Q0P_\ S1^9>>^S6O&J/RYR7VF[XM**?R6T7DW&;?FV-#9=
M1Q=[UAF=VQJLUR/6+2]6EIRDK',D8CU6Y5F'D^.2HEQ8355:T8E(])*>FYZU
MJ60M9^S[2[1$X<D\<=FF<8GGA&.HY*YIV>NY&[[>W7,=F.*>W&$QV6#S-88
M   /=ZNV1EFG=D8+M;!+DY:,QUWE=BS'&[@W6O1B[8_<8]RB)?;I6B9$)]R/
MX;[*^K;["UMKI5"JTKX9K+6LYEKF5OQC9N433,<TQAW>2>*7OELQ=RF8HS5B
M<+UNJ*HGGB<?_P \L+.WCMN[%>2.C=6;UPIQ"L=V?AMHRB-&2]ZPY:9TMCPK
MYCLMZC;5%W'&;ZQ)M\GHFE/6(RZ4]!6?4<E=T[/7<C>^4M5S3V8XI[%483'-
M*QN0SEK4,E:SMGY.Y1$]CECLQ.,3SPS.8;,                &)M^?,5NG
MZ)MC?(^\F7D/3K/G:/*ABY[T*]YJOR959):!6D     "3=[,G\^O)SZ)L1^6
M#I&GK+]!RWG:O)2-ZN?3<SYJGRDR$A]+0    .6/FR>7W:N=_'>9$QN!!8WW
MJUFYY1IV^.49CO7.36+1=ZUQ<)SO:ANS9LU%:0A2U(1&N3$5]2DM(>2OJ-U-
M?JT+4(FY,_4+N%-R.3DKB.6GV8F8X<',[T:%3K>0F+<1]>M8U6YY>6B9Y*O8
MG">#%7G7>T77'[M=+#?;;.L][LEQFVB\6BYQ7H-RM5UMLEV'<+;<(4E#<B'.
M@RV5M.M.)2MMQ-4JI2M*T+ T5TW*(N43$T51$Q,;8F)X)B>24#UT56ZIHKB8
MKB<)B=DQ,<,3SP^>?3Y      DE^0KYDJ=.9M%X9[FR"D?5FR;TI>G+]=)-$
M0\#V5>)2UO8FZZ[[F+CFQI[]/!]U1N->U)KV])S[K<<[][N?7+,ZQDZ<<U;I
M^,B/=41[KLT1W:>K$)"W(WA^J7HTC-U?\:Y/Q<S[FN?<]BN>#DJZTRFB$-)>
M             @<^>'Y?*^*&_G-TZWL2HN@M^W6XWF"U BH:MF ;->6]<<JP
MBC45M,:VV>Z476Z65'1I'@+DQ64=D"JE3IN3K_WKD/J69JQS^7B(G'AKHX*:
MN>8]K5SX3/MD);YZ%]UY[ZYEZ<,C?F9C#@IKX:J>:)X:>;&(]JX;';N,
M   =<_*\\U?8G 7+:8?DK=RSWC5EMX8DYA@:9'B73#YLEQIF9G.NJR741HMZ
M1&32LRWK4W$NR&TI6IEY+4EOD]Y]ULOKUGX:UA;U*B/!JXJH_5KYN2>&GGC&
M)ZK=O>?,:'=^!N8UZ=7/A4\=/[5'/RQP5<T[4]74FW=;;VU[C>U=1Y?9\ZP#
M+859UBR.R/J=BR4(=7'DQGVG4-2[?<K?+:6Q*B2&VI,5]M3;J$+2I-()S>4S
M.1S%65S=$V\Q1.$Q/_6V)X8F-DQMA-V5S67SMBG,Y6N*[%4;)C_K9,<<3MB>
M%D<QF0                   !R3\S_S4]:\",,DXGCSELSGDSE-F5(P?7E7
M%OV[&(LSQ&(V<;%<BN-N0+#&<0I<6#1QN;=W6_#:\)BCTICK-V-ULSKU[X6Y
MC1IM%7A5\=7[-'+/+/!3QXSA$\MO)O-E]#LS:MX5ZC5'@T\5/[5?)')'#5S1
MC,0#MA;"S?;&;Y/LC9&3W;,LZS*[2;YDV37R365<KM<I5:>(\\YT2VTRTVE+
M3++24,1V$(::0AM"$4GG+Y>QE+%.6RU,46*(PIIC@B/^N&>&9VSM0;?OWLU>
MJS&8JFN]7.,S/#,_]=S@AXT]GD     !T/\ +!X6W+G#ROPK6\R'*KJ_%7&L
M_P!SW9I*VVHN 6*;%K(L3<I+C/@W7-KBZS:8W8I3S-)3DJB%MQ7>G/[S:S3H
MFE5YF)CZU7X%N/VYCA[%,>%/%LB..&^W;T>K6=4HR\Q/U:GPKD_LQQ=FJ?!C
MLX\4K'B'#B6^)%@0(L>#!@QV(<*%#8:C1(<2,TEF-%BQF4H9CQX[*$H0A":)
M0FE*4I2E"NLS-4S55.-4\,K Q$4Q%-,84QP0_0?C]
M   ( 'GU_P!3'<7P2U!]6.,D][B?VU9Z]SRY09OO_<5WJ6_(AQO.P<D    #
M;'@1^_1PN_BRXY_7!AQJM>_ \[_*7OX=3::'^-9/^:M?Q*5F\5I6,
M                %7KRY_>NY._Q"[I^LC)2S>D_A66_E[?D0K=JOXGF?/W/
M+EKT;!@     [(>0I_4QT[\$MO\ U8Y,<?OW_;5[KV_+AUNY']Q6NI<\B4_\
M@1.8           (M'M#_/.%9<6MW!?6]Y;>R#)ZV;+]]28#]:KLN-17H]XP
MO I#C*^UN?D4]EF[365=KC<*/$ZTJW,K0E#U?:%57=G7,S3\73C3:QXYX*JN
MQ$>#'/,\<(TW]UN*+4:+EY^,JPJNX<4<--/9F?"GFB.5$');14     !+)]F
M1U"_1/*+?<V)5,9:L(U#C4[I3M=?:I/S/.(E:UIW4JPV]CRZ=*]*^)7K^"A%
M/K+S<?\ %R%,[?"N51W*:?\ 6E#U<Y2?^3GIC9X-N/9JJ_TI8Q%24
M            59&^_GTW1]+.QOEA>"T.0]!L^:H\F%:<]Z;>\[7Y4L3F4Q0
M   2]/9AOS$Y?_"W3GXGV$1)ZS/E\IU+G?H2KZN/D,WU[?>J2FR+TE@
M0J//L\N2FD=BN\P=0V)+&I=M7VK6TK):XRJ1<!VK=%K?<O\ X;=:TBXYLE^J
MWJU[?"C7FCR*J2F9$93,^XF\7UW+_=&;J_Y=JGP)GW5$<79H]FG#DF4/[[[O
M_4LQ][92G_BW:O#B/<USQ]BOV*L>6(1QR1$?@     ?0M%WNN/W:UWZQ7*=9
M[W9+C"N]GN]LE/0;E:KK;9+4RWW*WS8RVY$.=!ELH=:=;4E;;B:*36E:4J?-
M=%-RB;=<1-%43$Q.V)B>&)CDE]45U6ZHKHF8KB<8F-DQ,<$QSPL'_*2\Q&U\
M[]!,L9;.A1>0NJ(MLQ_;5F36/&<R-NK%&+-L^T0F:-MTM66ICK]<;:0A$&ZM
MOM4;0PJ*IV -[-WJM"S^-J)G3[LS-N>3EHF>6GBY:<)X<<)VW6U^G6\CA=F(
MS]J(BN.7DKCFJX^2K&.##'K <JZ@                      @'^>;R]5R9
MYFW_  ;'+HY,UAQNI<M5XTTVNM8,[-(\U'Z4LC91U4A3DG)(2+4AU"E-OQ+,
MPZCI1RO6>=R-(^[=&IOW(PS69PKJY8I]Q'<GI<TU3"#M]-5^\=7JLVYQRV7Q
MHCDFK'PY[L='GBF)<8#LG(      6 WDA<1:<7^%6+9)D-LI"V;R'K V[F"G
MFU(GP<=N=O336N,R*+2VZU2U8K(I.<8<0EV-<+K+;5_=IT@/?;5OO/6JK=N<
M<ME\;=/),Q/AU=NK9CQQ3$ITW-TK[MT>FY<C#,YC"NKEB)CP([5.W#BFJ8=B
M3D'6                    <L/..XJ4Y5<&]E6VS6RL_8FHFU;GUW2-%5)N
M,FY89;Y[F1X_#;9[94IS)L,DW"*S&16M'9]8JZH6II%#J-S]5^Z];MU5SAE[
MWQ=?)A5,83[VK"9GDQY7,[VZ9]YZ+<IHC',6OC*.7&F)QCMTXQARX<BN_+!H
M%      ZB^3[RTIQ(YN:YOM]N7J&M-J+IIW9M7GT,P(=DS&=!;L.32UOKI&B
MLXCF,:WSI$BJ:N-VU$MM%:>,KKS&]VD_>VBW+=$8YFU\91RXTQ.,>^IQB(Y<
M.1TFZFJ?=6LVZZYPR]WXNODPJF,)][5A,SR8\JQ**]I\
M     0WO:;/GUXQ_1-EWRP:)@]6GH.9\[3Y*)?6-Z;EO-5>4C(DEHY
MM8L!_,3"O@ECGXGAE6LQ\O7UY[\K-V/D*.I'>>M/%Z@
M                  %3@6K5?      E-^S#?GWR_P#@EIS\<;"(O]9GR&4Z
M]SO4)+]7'R^;ZEOOU)>A$B50                     #%F\-O8GH'3^RMU
M9S(]7Q36.&WW,;Q1+K+4B:U9H+LF/:+?5]2&W;M>YB6X<-KKU>E/MHIUJJE#
M*R64NY_.6\E8C&[=KBF.;&>&>:.&>:&-G<W:R.4N9R]\E;HFJ>U'!'//!'/*
ML5W=MW+=^;>V1NC.Y59>6;-S&^9A>:^(XZQ$>O$YV2Q:H/B>Z:M5EAJ;AQ&J
M=$LQ6&VTTHE-*4LODLI:R&4MY*Q&%JU1%,=J.&>>>&>695QSF:NY[-W,Y?G&
M[<KFJ>W/!'-'!'-#%IE,8    &7=!:8RWD3NG66C\&9J[E&SLQLV)VYWP')#
M%L;N,E-+E?IS32DN>]6.VI#\^6JE:=D6,XKK3H8F?SEK3\E=SM_Y*U1-4\^'
M!$<\SA$<\LK(Y.[G\Y;R5GY2Y7%,<V/#,\T1C,\T+.O3^K,2T?JS7VH,#@TM
M^(:VQ&QX=8(_:W1Y4"QP&829DQ3:$)?N5Q<:5(E/5IW/R75N*ZJ56I6?-YJ]
MG<U<S=^<;URN:I[,SCLYHX(Y(6.RF6M9++6\I8C"U;HBF.Q$8=V>&>=D<QV0
M                   !$;]I-XHU@WS4W,;%[<NL:^,HTYM5R.RNK;-VM[4R
M\ZYR"55M*_=W&UIN-M??<JA"*08+5*J4Y2E)9]7&J]*B[H]V=M/QE'8G97':
MG"8CGJGB19ZPM+Z-=K5K<;*OBZ^S&VB>W&,3V*8XT50E)&0     $N?V;?EL
MJY6':/#+*[DFLG'*R-P:D3)=KWKLEQEQ+9L?&HM7%(;2W;;U)@76,PW1;KJK
MC<':]$-5Z1-ZQM)Z-RUK-J-E7Q=SLQMHGMQC3,\U,<:5/5[JO2HNZ1=G;3\9
M1V)V5QVIPJB.>J>)*H(M28                ,3;\^8K=/T3;&^1]Y,O(>G
M6?.T>5#%SWH5[S5?DRJR2T"M(     $F[V9/Y]>3GT38C\L'2-/67Z#EO.U>
M2D;U<^FYGS5/E)D)#Z6@     (B7M ?ER)L-R>YUZ;L"DV>^38=MY$V"T0Z)
M8M5\E+1#LNV4LL4[&XN02%MV^]*HE-*7!4:56BURI3J):W!WB^$I^X\Y5X=,
M8V9GCCAFWVN&GFQCBB$5[];O]"K[ZRE/@53A=B.*>*OM\%7/A/'**Z2BC,
M   #_3;CC3B'6EK:=:6EQMQM54.-N(K12%H6FM%(6A5.M*T]-*CAV2<&V.%/
M2\E?S(F^9&F_T0[1O='^2&E[+#8OC\U[NG;+U_%K$M5HV(A;JZNS+U#D.M0;
M]_>K26MB4I5/7:-MP3OGNY.CYSZWE:?_ %UZK9R45\,T=CCIYL8]RF[<_>'[
MVRGU3,U?^PLQMQX:Z>"*^SQ5<^$^Z=NSBG9            P'R=XY:YY8Z/S
MS0^TH%96+YO:E1D3XZ&:W;&;[%7258,LL#SR5)C7K'KHTW(9K7JV[1*F7:+9
M<<0K/TS4<QI6=MY[*SA=HG@XJHXZ9YIC9/=C;$,'4M/R^J9*O)9F,;=<</'$
M\54<\3M]B=BMRY4<9]D\1-Y9OHG:4"L?(,2GU][[LRRXU:LNQF6IQS'\PL*W
M*J\:SWZ"FCB*=REL.T<8=[7F7$IL9I>I9;5\C1GLK/Q=<;8XZ:N.F>>)[O#&
MR85\U/3LQI6=KR69CXRB=D\54<54<TQW.#AAKR;!@       -_\ @3YC.^.
M>>+O6O9_Y3ZVO\N.O8.G[_,?3BN5,-THW6X0%I2^O%\MCQ_1'N<5NJ_<I1(;
MD,4JS70:]N[D=>L=#,1T<S3'@7(CPJ>:?UJ>6F>UA.UO=#W@SNAW^GEYZ67J
MGPK<^UJYXY*N28[>,;$[WA;SWX\\ZL#IEFF\G0WDEKB1G<WU??W8D//\%DOU
MHWTN]H;?=]<LSTBE41KG%4]!D].VBTNI<:;@S6=!U#0[_P %G*?BYGP:X]I5
MV)Y>6F=L=C:FO1]<R&M6/A<I5\9$>%1/MJ>S')R3&R>SL;IFF;@
M        (^GFH>==A_&&/?\ 1/&*Y6//>1"D2[3D>6M^!>,,TO)2ND>2W+1T
M<@9/L"/3Q$MV^BEQ+;(314ZBU(K"=[_=?<N]J<TY[4XJMZ?PQ3P57/TTT<_#
M,>U_6CA-YM\+6FQ5DM-FFO/\$U<--O\ 1-7-P1/MN284>;9MEVR,MR'/,^R.
M\9?F>6767>\DR6_SGKC=[S=9KE7),R=,D*6XZXM5>E*>A*$4HE-*)I2E)GLV
M+.6M4V+%,46:(PBF(PB(CD0]>O7<Q=JOWZIKO5SC,SMF9EY<]7F     !^N!
M G76="M=KA2[E<[E+C0+=;H$9Z9.GSICR(\2%"B1T.2)4N5(<2VVVVE2UK51
M*:5K6E#\JJIHIFJJ8BF(QF9X(CEE^TTU55133$S5,X1$<,SR0L//*6X%Q."O
M&6V6C)8,3].>T_>_--S7-KPW78%QK'=KCNOV)3?<ERW8#;9JV%]JW&G;H_-?
M:55IYM*:^;UZ[.N:G-=N9^HVL:;<<L<=?9JF,>K%,3MA/6ZVAQHNG13<B/KM
MW"JY/)/%3V*8G#LS,\$NI!S#I0                      !  \^O\ J8[B
M^"6H/JQQDGO<3^VK/7N>7*#-]_[BN]2WY$.-YV#D@    ;8\"/WZ.%W\67'/
MZX,.-5KWX'G?Y2]_#J;30_QK)_S5K^)2LWBM*Q@
M  J]>7/[UW)W^(7=/UD9*6;TG\*RW\O;\B%;M5_$\SY^YY<M>C8,     '9#
MR%/ZF.G?@EM_ZL<F./W[_MJ]U[?EPZW<C^XK74N>1*?^0(G,          .6
M'FA>9C@/ 35<B+:9-GRKD;FUM>;U=KIU[UANWH<76*YG^;L1G$R+?B-F5WJ8
M:55MZ\3&Z16*I0F5)B]1NQNU?U[-8UQ-.G43X=?+^Q3RU3Q_JQMGBB>9WDWB
ML:'E9BB8JU"N/ HY/VJN2F.+]:=D<<Q7T9QF^6[+S')]@YY?[CE.:9G?+EDF
M49%=GO'N-XO=VE.3)\Z4NB4-T6\^[6M$(2EMM/1*$I32B:3]8L6LM9IR]BF*
M;-%,13$<$1'!""KUZ[F+U5^_5-5ZNJ9F9X9F>&7ECU>0     %B[Y0?'9WC9
MP#T;B]T@(@9?GMID;CS='AN,R%7O92FKW:HUP8=2EQBYV/"*6BV245I[EZ"J
MA7G>[4(U+7K]VF<;-N?@Z>Q1LG#FFKI51V4_;J9"=.T.S:JC"[7'PE79KVQC
MSQ3T8GL.F1S3H@                  59&^_GTW1]+.QOEA>"T.0]!L^:H\
MF%:<]Z;>\[7Y4L3F4Q0    2]/9AOS$Y?_"W3GXGV$1)ZS/E\IU+G?H2KZN/
MD,WU[?>J2FR+TE@     8^VOJS!=W:VS74NS+#%R; ]@8_/QK)K+*ZI3*MT]
MKLJ[&?16C\&Y07Z(D1)32D/Q)33;S2DN-I53(RN:OY+,T9O+533?MU1-,\\=
M^)X)C@F-D['AFLM8SF7KRN9IBJQ<IF)CFGO3'#$\,3MA6\\[^'&<\&^1>7Z2
MR^DBX69E?Y0ZVS!;/A1LYUW=),E-@O[54MM-(N+%8[D*Y,HIVQ[E%?;15;=&
MW%V+T+6+&MZ=1G;.$5\%=/ZM<<,=CCCEB8XU?-;TF]HNH5Y.[MHX:*OUJ)X)
M[/%/),3Q--S<-2     !L_P[Y6[&X8;\PO>VMWZO3,?E>I9-C+TIZ-:LYPN>
MXRG(L0O-6J+IZK<XS5%,NU0Y6)-:9DH35;*:&LUC2LOK.0KR.9X*HQIJXZ:H
MX*H[''RQC'&V6DZGF-(SU&=R_#3.V.*JF>&F>S[$X3Q+(SC]OC7')K3N";QU
M1>/?G!\_LS=UMKCJ6VKA;93;CD.[X_>XK;KR(5^QV[1WH4UFBUI;DL+HE:T=
MJU5SU#(YG3,Y7D<W'1OVYPGDGDF.6)C"8YI6#R.>R^HY2C.Y6<;-<8QRQRQ/
M),3LGG9D,-E@                   :!^9KRT8X9\.MI[9A3&X^>7*!37^I
MV*NM(?>V/F+$J#99[#;M:4DIQ2&W*O;S5.E78]M<12M*JI4WV[6DSK.L6LI5
M'Q$3T[G4IVS'OIPICGJ:/>/5(TC2;N:IGX^8Z-'7JV1/O=M78A6XR)#\M]^5
M*?>DRI+SDB3)D.+>?D/O+4X\^^\XI3CKSKBJJ4I5:J4JM:UKU+&Q$1&$;(A7
MN9F9QG;,OY     !T&\K[B2[S,YDZPU;<;>Y-U]8I2]C[;<HGK':UUATF')N
M5OE5Z*JAO++Q)@V1*DTJI#ES2O\  FM::#>?5HT?1[N:IG#,51T+?7JX)][&
M-7O6]W;TO[WU>WEJHQL4STZ^I3PQ[Z<*>VLAFVVVFT--(0TTTA+;;;::(;;;
M12B4(0A-*)0A":=*4IZ*4*Y\.V>%8/@V1P/]@                    _XI
M*5I4A::*2JE4J2JE%)4E5.E4JI7K2M*TKZ: 5P'FF\4Z\/\ FIMG6UJMU;?K
M_(YZ=FZJHE"41*8#G#\J?#M<%-*U52+B-[:G61-5^[7[V]]>M%456Q>Z^J_>
M^BVLS5..8ICH5]>G9C/6C"KMJ^[RZ9]TZQ=R],86*IZ='5JVX1U9QI[3G@=
MT(     %BSY1O+97+[A3K?*[]=JW39NNF_T3;5<DOU>N4O*,0APV[?D<]2TM
MN/OYABTF!<GGJ)\)4R1(;36M6E]*\[V:3]T:U<M6XPRUSXRCDZ-7#$=6K&,.
M2(GC3[NKJGWKH]N[7..9M^!7RXT\$SUJ<)[,SR.FQS3HP
M    (;WM-GSZ\8_HFR[Y8-$P>K3T',^=I\E$OK&]-RWFJO*1D22T<@     6
ML6 _F)A7P2QS\3PRK68^7KZ\]^5F['R%'4CO/6GB]0
M                 "IP+5JO@     2F_9AOS[Y?_!+3GXXV$1?ZS/D,IU[G
M>H27ZN/E\WU+??J2]")$J@                     $6CVD/EY2RXCKCACB
M5T;]?S-R)M;;K<5]578^,66>ZQKW&YJ4=S-6[WDD.1=76EU2\U6TPW.G8\FJ
MI0]7.D=.]<UF['@T>!;ZTQX<QV(F*??51Q(T]8.J]"U;TBU/A5^'7V(GP8GL
MSC5[V.5$');14     !*C]FYXC)NN1;-YG9;:^^+B_K6H]0N245I3\H+E!BS
MMC9+$;6A"^^W6&=#M4>0A2FETN,]JM.]JO;%WK&U;H6[6C6IVU?&7.Q$X41V
MYB:ICFIGC29ZOM*Z5RYJ]V-E/@6^S,8USVHF*8GGJCB2[")4J
M          -:>8G'6R<L>,^X= 7NL=G](.(385@N,I-%-6/,[:MJ]83?EUHR
M\Y1FS97;H;[M$)[W&4+12M.XV6CZC7I6I6<_1C\77$S'+3.RJ.W3,QV6NU;3
MZ-4TZ[D:_P#N4;)Y*HVTSVJHB59'E.,WW"LFR+#<IMDJRY-B5]N^,Y%9YK=6
M9MIOMAN$BU7>V2VE=%-2H%PBN-.)KZ4K16A9:U=MWK5-ZU,56JZ8JB8X)B8Q
MB>W"N=VW79N56;L3%RBJ8F.28G"8[4OA'V^     ;&<1^1&0\4>2&HN0&-T?
M?E:YRZ'<KK;8ZD(<OV)SFWK-FF-T4ZI+2*Y#B=QF0TK57HTMZBZ=*II6FNU;
M3[>JZ=>R%S@N481/)5&VF>U5$2V&E9^YI>H6L];X;=>,QRTSLJCMTS,+-_#<
MNQW8&(XOG>(W./>L5S/'K-E6-7B(NCD6Z6'(+='NMIN$==*UHIJ7 EMN)_[%
M%:;UFYE[U5B]$TW:*IIF.28G"8[JQEF[;OVJ;]J<;5=,51/+$QC$]QZ0\WH
M              8FWY\Q6Z?HFV-\C[R9>0].L^=H\J&+GO0KWFJ_)E5DEH%:
M0     )-WLR?SZ\G/HFQ'Y8.D:>LOT'+>=J\E(WJY]-S/FJ?*3(2'TM
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
M,4XT\U=.,QXU.,<\Q3#@=_M,^LZ=3J-N/C<O/A<]%6$3XM6$\T35*$J32AT
M    #NWY ?+2NA^7U-+Y)<O5M?\ )N#$PRB)#ZT1(&T;.J5-US/HE2ZM^->G
M)4RR)2E'>](N<>M542WTKPV_ND_7M(^N6XQS&6GI=FB?;QVME78IGE=KN-JG
MU+5?J=R<+&9CH]BN-M$]O;3V9A.T(-36                   !#>]IL^?7
MC']$V7?+!HF#U:>@YGSM/DHE]8WIN6\U5Y2,B26CD     "UBP'\Q,*^"6.?
MB>&5:S'R]?7GORLW8^0HZD=YZT\7J
M     5.!:M5\     "4W[,-^??+_ ."6G/QQL(B_UF?(93KW.]0DOU<?+YOJ
M6^_4EZ$2)5                     >5SG-<8UMA>6[#S6[1[%A^#8W>\NR
MB]2ZUI&M5@QZW2;M=Y[W;2JE(BP8BU]J:54KITI2M:TH>MBS=S-ZC+V8Z5ZN
MJ*:8Y9F<(CNO*]>MY>S7?O3T;5%,U3/)$1C,]Q63<M^1.2\K^1VVM_Y15]N7
ML/*YEPM5M?4FM;!B<%#5IPW&T40XZWTL&+0(D52DJK1Q;2G*UJI=:ULKI.G6
M]*TZUD+7!;HPF>6J=M4]NJ9E735<_<U34+N>N\-RK&(Y*8V4QVJ8B&N9L6O
M   !ZG!L*R?9.:8EKS"K3(ON89SDEDQ+%[+$I2LFZW_(;C&M-H@,]U:)2N5.
MEH1W*K1*>O6M:4I6IY7[UK+6:\Q>GHV:*9JJGDB(QF>X];-FYF+U%BS'2NUU
M13$<LS.$1W5F_P 3N/6.<5..FI- 8O5AZ#KC$8-IN%R892PF_9/*4[=<OR1;
M:6VJI<R+*)\N96BJ=R?&[:_@*TZKJ%S5=1NY^[[:Y7,Q')3P4QVJ8B.TL9I>
M0MZ9I]K(V_:VZ(B9Y9X:I[<S,MAS7L\                      @O>T%<3
MOT(\MH>]<;MGJN!\F;9(R*6J.UVP[?M/&40+;G46O9126EW^+)M]X[G%45(E
MS9E4T[6J])PW U7Z[I,Y&Y.-_+3AV:*L9I[FVGFB(Y4+[]Z7]3U6,[;C"QF8
MQ[%<815W=E7/,SR.")W;AP     )O?L\G+96WN,F0<<,INU9>;<<KDTG'$3'
MZN3)^I<MD2YMA2S5Q%'9+>*9"W.@*I12TQ(;D%KW":MI(4]8.D_5-3IU&U&%
MG,QMY(N4X1/C1A///2GE3)N%JGUO3JM/NSC>R\[.>BK@\6<8YHZ,)"A'[O
M             #$V_/F*W3]$VQOD?>3+R'IUGSM'E0Q<]Z%>\U7Y,JLDM K2
M     !)N]F3^?7DY]$V(_+!TC3UE^@Y;SM7DI&]7/IN9\U3Y29"0^EH
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
M/WZ.%W\67'/ZX,.-5KWX'G?Y2]_#J;30_P :R?\ -6OXE*S>*TK&
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
MN5WKE5V[,U7*JIF9GAF9G&9[<K%6[=%JW3:MQ$6Z8B(CDB(PB.U#[1\/L
M                   \=L/ \9VE@6:ZTS2!2Z8AL'%,@PO)[=6M$>NV#)[5
M*LUVC)<JE?A..P9BZ)72E:H5T53TT/;+W[F5OT9FS.%ZW7%5,\DTSC'LP\LQ
M8MYFQ7E[T8VKE,TS'-,82K#>2.C\EXU[XVOHC+N]=\UAFMYQ=R8IA<9%XMT5
M_P :PY#&87[MN#DEA?C7"/U]-6)**EF-.SMK4LC:SUGVEVB*L.2>..S$XQ//
M"N&H9*YIV>NY*[[>W7-/9CBGMQA,=EA,S6&    #Z=DO5UQN\VC(K%/D6N^6
M&YP+U9KG$7X<NW76URVIUNGQ7.E?#D0Y;"'$*_L4FE3YKHHN43;N1$T51,3'
M+$[)A]45U6ZXN43A73,3$\DQMB5F-P7Y.6GF!Q6U!OF N*B[95C+$/.+9%4U
MVV38>/J59<VM?@-K4N-%3?X3S\-+E$+<@/L.U32CE"MFN:97I&J7LA5CT**O
M!GEHG;3/<G">>)A8K1=1IU;3+6>IPZ=5/A1R5QLJCN\'-A+;8U+:
M           AO>TV?/KQC^B;+OE@T3!ZM/0<SYVGR42^L;TW+>:J\I&1)+1R
M     !8P8;YJOEWP,0Q2!,Y9ZICS(6-V*)*CN7"Z4<8DQK7%9?972EKK3O:=
M15-?^VA7F]NMO#5>KJIREW":IXHY>RGZSO-H--JFF<U:QBF..>3L/2?S8/+F
M^USJ;_>%T_X4>7]*[Q?9+O<C_%Z?U/H'VJUW9_P/YL'ES?:YU-_O"Z?\*']*
M[Q?9+O<C_$_J?0/M5KNS_@?S8/+F^USJ;_>%T_X4/Z5WB^R7>Y'^)_4^@?:K
M7=G_  /YL'ES?:YU-_O"Z?\ "A_2N\7V2[W(_P 3^I] ^U6N[/\ @?S8/+F^
MUSJ;_>%T_P"%#^E=XOLEWN1_B?U/H'VJUW9_P/YL'ES?:YU-_O"Z?\*']*[Q
M?9+O<C_$_J?0/M5KNS_@?S8/+F^USJ;_ 'A=/^%#^E=XOLEWN1_B?U/H'VJU
MW9_P/YL'ES?:YU-_O"Z?\*']*[Q?9+O<C_$_J?0/M5KNS_@?S8/+F^USJ;_>
M%T_X4/Z5WB^R7>Y'^)_4^@?:K7=G_ _FP>7-]KG4W^\+I_PH?TKO%]DN]R/\
M3^I] ^U6N[/^!_-@\N;[7.IO]X73_A0_I7>+[)=[D?XG]3Z!]JM=V?\ !D/5
M/F$<+-XY]8=7:EY%:\SO8.4>^GY/XI8YD]VZ77WELMQR*Z^JMO6]AI7J-DM,
MF2OJJG1ME5:=:^@Q\UN_K.1L59K-Y>Y;R].&-4X81C,1''QS,0R,KKNCYV_3
MELKF+==^K'"F)VSA$S/%Q1$RW(-.VP                     !4X%JU7P
M    )3?LPWY]\O\ X):<_'&PB+_69\AE.O<[U"2_5Q\OF^I;[]27H1(E4
M                 !'-]HEY>_HMX_8MQ9Q.YO1LTW_+I>LT]4=\-VW:CQ2<
MVX[#D*31+S7Y:Y:TPPW5"NUV';9S+E.URE%2)ZO=(^M:A7JEV,;.7C"GGN51
MP^]IQGLS3,. W^U7ZMD*=,M3\=?G&KFHIG_55A'8BJ)0HB9T/      2+?9V
MN(E-J<ALJY1Y7;:/X;Q\AIM6&TEQE+BW3;67P)3#$F,MQ"XK]<(Q14B2ZBO1
MUB9<;>\BM*IZD>>L+5_JNGT:7:GX[,3C5S6Z9_U581SQ%4._W!TKZSGZM2NQ
M\38C"GGKJC_33C/-,TRFQ$+IA                       ',GS=.)Z>6_"
M/9V+6>VUN&Q];L?I?U=1E-%2WLHPN%->N-BCI[FZON99B,JY6UEI2TM>N26'
M5=:LI.EW2U7[IUNU=KG#+W/BZ^K5,83[VK"KL1,<;G-ZM+^]=&N6J(QS%OXR
MCLT\,>^IQCLS$\2NF+#("      Z ^6'RR>X;<R=5[4GSZP\!O$_]'>V$*6I
M,9>N<RDQ(5WN,E*5)4Y3%+@U$O;::5IWO6U*:^Y56E=!O-I4:QH]W*TQC?B.
MG;Z].V(]]&-/;;W=O5)TC5[69JG"Q,]"OJ5<,^]G"KM+(MMQMUM#K2T.M.H2
MXVXVJBVW&UTHI"T+36J5H6FO6E:>BM"N?!LGA6#X=L<#_8
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
M5:]^!YW^4O?PZFTT/\:R?\U:_B4K-XK2L8                       *O7
MES^]=R=_B%W3]9&2EF])_"LM_+V_(A6[5?Q/,^?N>7+7HV#
M            #MIY+?EOR>9.Z6]M;-L:W>-NEKY!EY$B='ZP-E9Y%I&NEFUN
MQ1]M3$ZTL-K9FW^E*+[8"V8RJ)K.;<1Q>^6\<:/DOJF6J_\ 97J9PPX:*>":
M^:>*GGQGW.#L=T-WYU?.?6LS3_Z^S5&./!75PQ1SQQU<V$>Z3VDI2A*4(31*
M4THE*4THE*4IITHE-*=*4I2E/10@A-[_ *                    "K(WW\
M^FZ/I9V-\L+P6AR'H-GS5'DPK3GO3;WG:_*EB<RF*    "7I[,-^8G+_ .%N
MG/Q/L(B3UF?+Y3J7._0E7U<?(9OKV^]4E-D7I+        /BY)C=AS'';[B6
M56B!D&,Y/9[EC^0V*ZQFYELO-DO$-ZWW2UW"*[134F'.A2%M.(52M%(56A]V
M[ERS<IO6IFF[3,3$QPQ,;8F.>)?%RW1=MU6KL15;JB8F)X)B=DQ/95UWFA\"
M;_P*Y&W;#X4:XS=,9VN?E6D<IF*5)5-QBK[?KV*72=VT0[D^#2Y2(<OKT<D1
MU1IE4(3*2A-A=V->MZ[IT7JIB,[;PIN4\E7%5$?JU<,<DXQQ(#WDT.O0]0FU
M&,Y.O&JW5S<=,SRT\$\L83QN;9T;G@     /::XV)F>I,\Q'9NN[_.Q?.,%O
M]NR7&+];G/#E6Z[6N0B1&=[:T4U(CN535M]AQ*V9#*UM.)4VM2:^.8R]G-V*
M\MF*8JL5TS%43QQ/_6R>*=L/;+YB]E;]&9R]4TWJ*HF)CBF/^ML<<;%C?Y=_
M.##.>7';']KV3U&TYU:/5\9V[A$=[J[B.>18;+LWU5AUUV77&,@0KURU/KJO
MQ(ZZM*75^/(2BNV\.B7M"U&K*UXS8GPK=7ZU..SWT<%4<NW@F$_Z!K-G6\A3
MFJ,(OQLKI_5J_P )X:9Y-G#$M[#1MV                (:_M'/+U6:;8P3
MAYB=T<5CVH6(NP-HQV%UI'F[(RFT(7B5KE)ZUHXYB6#W)4E%4^YJJ_+2KJMJ
MG;,/JZTCX'*7-7NQ\9>\"CFHIGPI]]5&'O>=$GK U7X;-4:3:GXNUX5?/75'
M@Q[VF<??<R,P24CH     "8S[.#Q&KB6LMA<QLKME6KUM)^9K35CLAM-%MZ]
MQFZM.9G?(:^VM:L9)G%L1!_#1256!?H[7*5K$'K%U;X7,V]'M3X%KPZ^O5'@
MQVJ9Q]]S)9]7VE?!9:YJUV/#N^!1U8GPI[=48>]2=B,TC@
M         !$(]I*XHUL^7ZIYBXO;.VWYA';U%M5Z.VOM;R>RQ9-SU[?9=:5<
M[W;UC;$ZW.N5\-MI-HB(]TMTEOU<:KT[-W1[L^%1/PE'5G97':G"??3R(J]8
M6E]"[:U:U'@U^!7V8VTSVXQCWL<J+.2@C0     "3A[.!RV5B.U-B</LJNU4
M6':T*3LC5L64_6C$?8F*6VB<QL]O9HFM:RLKP6$F:NJE40A..=*4[W:]8T]8
MND_#96WJ]J/C+4]"OJ53X,SU:IP]_P R1O5]JGP69N:3=GP+L=.CKTQX41UJ
M=OO$Q\A]+0                  (;WM-GSZ\8_HFR[Y8-$P>K3T',^=I\E$
MOK&]-RWFJO*1D22T<@                   =8_(W_JD\7_ /UK_P#;OMLY
M3??^U\U_X_XMMU&YG]RY;_R?PJUA85_3P                      5.!:M
M5\     "4W[,-^??+_X):<_'&PB+_69\AE.O<[U"2_5Q\OF^I;[]27H1(E4
M                  #\5QN,"SV^?=KK-BVVUVN%*N-RN,Y]N-"@0(3"Y,R;
M+DO*0U'BQ8[2EN+56B4(36M:TI0^J::JZHHHB9JF<(B.&9GB?E55-%,U53$4
MQ&,SR0K4?,+Y5S^9G+;;&\%+E(Q:XWBF-:UMLE;G6TZUQ2BK3BC5([BETA2K
MO&:7=)K**U;3<;A(JFM:5ZED-W]*IT;2;62V?"Q&-<\M=6VKLX>UCFB%>->U
M.K5]4NYW;\%,X41R44[*>[[:>>9:5FY:<    'Z(<.7<)<6! BR)TZ=(8APH
M4-AV3+F2Y+J68T6+&92MZ1(D/+2A"$)JI:JTI2E:U/R9BF)JJG"F.&7[$35,
M4TQC5/!"RH\NKBC"X9\1M4:65%CLY@Q::9;M*9'<0_[Y;.RMMBX94NLIJB6Y
M<>RN>%:8CM*4[H%N8Z]5=:UKAO#JM6LZM=SN/Q./1HYJ*=E/=]M//,K#:!I<
M:1I5K)X?&X=*OGKJVU=SVL<T0W?-(W(                        5T?FX
M\3Z<1N;>SL3LEKI;=;;#?3MO5B&&E-08^+9G*EOW"P0T^[0RQB.61KC;&6^]
M2_5(S#BNGBTH6&W3U7[VT6U=KG',VX^#KY>E3P3/6IPJ[,S'$@'>K2_NK6;E
MJB,,O<\.CL5<,>]JQCL1'*YF'2N=      L#O)'Y;?\ 5#PEQ&R9!<J3-F<?
MG(VG\S2\ZW6;/LMH@MN:YR5QE*EOU8N>'^#!6^[6JY5RM4QP@+?72?NS6JZ[
M<89;,?&4\TS/AQVJMN'%%4)UW.U7[RT>BBY..9L?%U<LQ$>!/;IV8\<TR[ G
M(NK              8FWY\Q6Z?HFV-\C[R9>0].L^=H\J&+GO0KWFJ_)E5DE
MH%:0     )-WLR?SZ\G/HFQ'Y8.D:>LOT'+>=J\E(WJY]-S/FJ?*3(2'TM
M      '\)46-.C2(4V.Q+ARV'HLN)*9;D1I4:0VII^/(8=2MIYAYI=4K0JE4
MJ36M*TK2I^Q,TS%5,X3#\F(JC"=L2K\?.$\O"1P<W^N^8+:I">.^XY=SONL9
M"*.OQ\/NK2FI&1:SG2E56I"["[*H]:U/*[Y-J<13O=>C25TGW=#>&-;R'0OS
M'WA9B(K_ &HXJX[/NN2KDB805O9H,Z-GNG8C_@7IF:/V9XZ)['%RT\LQ+D*=
M:Y4     #[..Y%?L0R"R97BUWN./Y+C5VMU^Q^^VB6] NMFO5IEM3[9=+;-C
MJ0_$G0)K"'6G$5HI"TTK2O6A\7+=N];JM78BJU5$Q,3MB8G9,3'),/NW<KM7
M*;MJ9IN4S$Q,;)B8VQ,<\+#SRKO,%L//?CW"O=XE6Z#O?7#-MQS=6+Q?!CT5
M=G&7D6G/+1!;2W1G&\Z8A.R&T(11$.<W)B4[DL(==K[O1H%S0=0FBB)G(W,9
MMU<W'3,\M..'/&$\>$3UNSKM&N9"*ZYB,[;PBY'/Q51')5P\TXQQ8STZ.9=&
M            !PK\U;R<<-YE0;KNG1<:Q8#R>@0U/3D*1'L^)[H:C)35,#,'
MF(]4V_-FXZ/"@7M5.CM.R-/K5BC,B%W&ZV^%[1ZHR6>FJYIDSLXZK?/3RT\M
M/;IVXQ5Q6\VZ5G5XG.9+HV]2B-O%3<YJN2KDJ[56S"8@Z; U]F^JLRR'7FQ\
M6O6%9OB=R?M&18SD,%ZW76USXZNBVGX[R:=S;B:T6TZBJFGVE)<;4I"DJK-N
M7S%C-6:<QEJJ:[%<8Q5$XQ,?]=Q#-^Q>RMZK+YBF:+U,X3$[)B7CSV>0
M                        !T0\O'RY=P^8!LYJR8O&EXKJ'&KC%IM+;TR"
MIVS8S#4E$ERR61+JFFL@SBXQ%4]5@-JKX5'$OR5-1_=UY_>#>+)Z!ENG=F*\
MW5'@6\=M7//)3''/:C&6_P! W?S>NYGH6\:<I3/AU\4<T<M4\4=N<(6!/&_C
M;J'B?J;']+Z2QAO&,+L%7Y2J./5FWF_WN=1KWTR;)KLXE,B\Y!=5,H\5]=*)
M0VVVRTAJ.TTTB M1U+-ZKFZL[G:NE>J[41$<%-,<41R=N<9F93II^GY32\K3
MD\G3T;-/=F9X9F>.9Y>U&R(AG8P6:                          !  \^
MO^ICN+X):@^K'&2>]Q/[:L]>YY<H,WW_ +BN]2WY$.-YV#D@    ;8\"/WZ.
M%W\67'/ZX,.-5KWX'G?Y2]_#J;30_P :R?\ -6OXE*S>*TK&
M           "KUY<_O7<G?XA=T_61DI9O2?PK+?R]OR(5NU7\3S/G[GERUZ-
M@P                       !O1P X'[1Y\[LAZVPA#ECPRQ4AWK:VR)49Q
MRSX-B:Y:65J0JJ:,W'*[UVN,VFVT51R6\A;BZMQ8\E]G1Z_KN5T')3F;WA7J
MME%''55^BF/=3Q=F8B=UH6B9G7,Y&7L^#9IVUU\5-/Z:I]S''V(F8L2M#Z-U
MMQLU)A.D]2V%O'L$P*SM6JT1/\-R;,=JM<FYWR]2VF6*7'(+_<WG9DZ35":O
MRGEKZ)I6B:5[SV>S.I9NO.YNKI7[DXSR1R1')$1LB.*(3WD<EE].RM&3RM/1
ML41A'Z9GEF9VS/'++IB,L                    !5D;[^?3='TL[&^6%X+
M0Y#T&SYJCR85ISWIM[SM?E2Q.93%    !+T]F&_,3E_\+=.?B?81$GK,^7RG
M4N=^A*OJX^0S?7M]ZI*;(O26         -(?,%X589SLXXY3IW(*Q+5EL7KD
MVJLU>C^*_AF?VYAY-LF+4BE7G+'>&7%P+HQ3KXD*0M2*4?;8<;W>@:U>T/4:
M<Y;QFU/@UT_K43PQV8X:9Y8Y,6FUW1[.MZ?5E+F$78VT5?JU1P=J>"KFGEP5
MPFR=<YIJ+/LPUAL6PS,8SG \@N6,9189Z4TD6Z[VJ2N-);HXVI;$J*Y5%'&)
M#2EL26%H=:6MM:55L5ELQ9S=BC,Y>J*K%RF*J9CCB?\ K;'#$[)5^S&7O92_
M7ELQ3--ZBJ8F)XIC_K9/!,;8>)/9X@     ;_>6_SJR[@1R*LFS(%)]XUMDE
M(V+;EPF*ZGIDV$ORDN+GV^.^M$;\J\2?56=:W:J:JIQ+D53K<>7([M#O'H=G
M7M.JRU6$9FGPK=7ZM7)/[-7!5W<,8AO-W]:NZ'J$9FG&<O5X-RGEIY8_:IX:
M>YCA,K&3 \ZQ+9V%8KL3 [[!R;"\VL%KR?%[_;7/%A7:R7B(U-@3&:UHE:/%
M8>IW(6E+C:^J%I2I-:4KO?L7<M>KR]^F:;U%4TU1/#$QLE/]B]:S-FG,6*HJ
MLUTQ,3'!,3P/6GD]0             &%.1V\L4XTZ)VIOC-54KCVL,.NN32(
MGK#45Z\W!AM,>PXY#?>_PD7+)[_)BVZ+W>BLF4BG]IFZ=D;NI9ZUD;/REVN*
M>Q''/8IC&9YH8>H9VUIV2NYV]\G;HF>S/%'9F<(CGE6,;3V3E>X]E9YM?.K@
MNZ9AL7+;]F61S5575#MVR"Y2+E*;C(6M=8\&,N1X4=FE>QAA"&TTHE-*4LOE
M<M:R>6MY2Q&%FW1%,1S1&'=Y>65<LSF+N;S%>:OSC=N535,\\SCW.3DAX(]W
M@    #+V@=+Y9R*W7K#1N#M]V3[0S*RXE;Y"F'I,:U-7&4E-SR"X-,?XU;3C
M=I0_/F*3Z418SBO[#$S^=M:=DKN>O_)6J)JGGPX(CGF<(CGEE9')W=0SEO)6
M?E+E<4QS8\,SS1&,SS0LZM/ZLQ+1^K-?:@P.#2WXAK;$;'AU@C]K='E0+' 9
MA)F3%-H0E^Y7%QI4B4]6G<_)=6XKJI5:E9\WFKV=S5S-WYQO7*YJGLS..SFC
M@CDA8[*9:UDLM;REB,+5NB*8[$1AW9X9YV1S'9
M   :I\WN-EKY<<6-RZ$G(B)N.:8G*5A]PEMMK19<^L:V[YA%W\1=4+89C9);
MXZ9%4+;4Y$6\W55$N*Z[71-2JTG5+.?IQZ-%?A1RT3LJCQ9G#GPEK-9TZG5=
M,O9&K#I5T^#/)5&VF>[$8\V*LNO-GNF.WBZX_?($JU7NQW*=9[Q:YK2F)MMN
MELE.PKA EL+I1;,J'+86VXBOI2M-:5+*45TW*(N43$T51$Q,<$Q.V)5TKHJM
MUS;KB8KIF8F.28X8?-/I\@    R1IW:F6:.VKKS<."S/4LNUKE]AS*PO*4\E
MAV=8K@Q.3!G)8<:<?MER;:5&EL]U*/1G5MJ]RJICYS*VL]E;F3OQC9N433/8
MF,,8YXX8Y)9&4S-W)9JWF[$X7;=<51V8G'">:>">99XZ+W!BG(#3FM-UX._X
MV+;.PVQ9A:D*=0Z_!1=X33\JSSE-THE-SL<ZKL.6CI2K<EA::TI6G0K-GLG=
MR&<NY*_\K:KFF>?">&.:8VQS2L=DLW:SV4MYRS\E<HBJ.;&.">>)V3SPRL8K
M*                 "&][39\^O&/Z)LN^6#1,'JT]!S/G:?)1+ZQO3<MYJK
MRD9$DM'(                   '6/R-_P"J3Q?_ /6O_P!N^VSE-]_[7S7_
M (_XMMU&YG]RY;_R?PJUA85_3P                      5.!:M5\
M"4W[,-^??+_X):<_'&PB+_69\AE.O<[U"2_5Q\OF^I;[]27H1(E4
M           #AAY^/+RG'WB _I_&+HW&V/R;E3L$::9?4W/MFKX##,G95X;2
MCK3P[G&E1+%5+E$T<:N[RT5[F:].XW#TC[PU?ZY=C'+9:(JYIKGVD=K;5[V.
M5Q>_&J_4-*^J6YPS&9F:>>*(]O/;V4^^GD0/R<T)@     =N/(=XBKY%\R;9
ML[(K567K7C.Q V1=GGV$.P)NPWI+S&KK$NKB'$TE-7>'(O:?1T[;)5-:TJM/
M7BM^M6^[M'G+6YPS.9QHCEZ'NY[DQ3[YV.Y.E?>&KQF;D8Y?+85SR35[B.[C
M5[U/7()3>                         #@;[09Q0KNSB3!WMC5K];SKC/=
MG\@FJC,J7-G:KRE<&V9S&HEENJGT6";'MUX4MQ5&XL*%,4GI5Q77O-P-5^I:
MM.1N3A8S,81R173C-/=C&GGF:7#[]Z7]<TJ,[;C&_EIQ[-%6$5=S95S1$H,1
M-Z%P     .R?D<<MZ\9.:N-XGD-T]1UGR,:A:ERQ$A]35N@Y3,G4=UCDKZ*4
MHUZQ RA^ML\9U26HT*]2G%5I1/6G'[[Z3]YZ+5=MQCF<OC<IY9IP\.GMT^%S
MS3$.MW,U7[NUBFU<G#+9C"BKDBK'P)[4[.:*IE/\($3F              Q-
MOSYBMT_1-L;Y'WDR\AZ=9\[1Y4,7/>A7O-5^3*K)+0*T@     2;O9D_GUY.
M?1-B/RP=(T]9?H.6\[5Y*1O5SZ;F?-4^4F0D/I:         &LO+_BQKWF5H
M'.="[&9HU;\FA>M8[D349N3<\)S2W(=<QK,;.E:FJ^NV>8Y6CK='&Z2X;K\5
M:J-/KZ[+2-4S&CY^C/Y?VU,[8XJJ9]M3/-,=R<)X8:[5M,L:OD:\CF/:U1LG
MCIJC@JCL>S&,<:MHWWHW8?&S;^>:1VI:/>;.-?7QZS79AM2G8,UKL;E6N]VB
M2I#59MCO]JD,S83W:FKL9]"JI2JM4TL=D,]E]2REO.Y6>E8N4XQR\\3SQ.,3
MSPKUGLEF-.S=>3S487K=6$\D\DQS3&V.:6(3+8H     &W7"#F!L#A#R$Q#=
M^"K>G0X#WO/GN'UE+CV_/,"N+S-+_C4VM.K;<A3;29,"0I*Z1+C'8>[5T0I"
MM3K>D9?6]/KR5_95.VFKCIJC@F.],<<3,-KHVK7]&S]&<L;8C953Q54SPQ/?
MB>*8B5D'I/<NON0FJL&W/JN^-Y#@>P;%&OU@N*4I:D(:>JMF7;;G%HMQ5OO5
MEN#+L.=&56JXTMAQI7NDU*Z9W)YC3\U7D\U3T;]NK"8_3'+$QMB>.)B5@LGF
M[&?RM&<RU72L7*<8G]$\DQ.R8XIC!E(Q62            !SB\P+RR]"\_L0
M2C+XM,'W#8H#D7!MSX];X[N0VI%/$=8L>3PZKBMYCAU92ZKK!D.MO1U*6J)(
MC+==4YT6@;RY_0+WQ,]/)U3X5N9V3ST_JU<\</'$X0Y_7=W,CKMKXV.AFZ8\
M&Y$;8YI_6IYIX.*8VH)W,7@QR'X.Y^O"=W8BY&MD]^33#=BV*DFY:]SV%'6J
ME96-Y J-'328VWT7(MTMN-<HB5H4\PA#C:USEH^N:?K>7^&R5>-4>VHG973/
M/')R3&,3Q3PH5U;1<_HU_P"!SE&%,^UKC;35'-/?B<)CCAI\;=J0
M                  .V/EF^35MKFE,L^T]KM7S4G&5+S<EO(WXM(>9;3:15
M#BH.M[?<65I;L;J:]CN02&EP4JK5$5$QU#Z6.+WEWQRFC4SE<KT;NI\GN:.>
MN8X_V(V\N$88]CN[NCFM8F,SFNE:T[E]U7S41/%^U.SDQG'"<EI[3>L= Z[Q
MO5&GL-L^"8!B<-,*RX_9FG*--TZ4J_-G3)+C]PO%XN#O5V7.ENORY;RE./.+
M6JJJPCG,YF<_F*LUG*YN9BN<9F>]'%$1Q1&$1Q0F;*93+9'+TY7*4118IC9$
M?IXYF>.9QF>-DPQF2                            @ >?7_4QW%\$M0?
M5CC)/>XG]M6>O<\N4&;[_P!Q7>I;\B'&\[!R0    -L>!'[]'"[^++CG]<&'
M&JU[\#SO\I>_AU-IH?XUD_YJU_$I6;Q6E8P                       5>
MO+G]Z[D[_$+NGZR,E+-Z3^%9;^7M^1"MVJ_B>9\_<\N6O1L&
M           ;^\ ?+PW7S]V8WC6"0G<<UICTZ'79^W;G#<<QS#;:ZI+KD*$E
M2XZ<BS*=%ZUA6IARCBZUHX^MB-1Q]&AU_>'):#EOA;\]+,U1X%N)VU3RSR4Q
MQU3V(QG8WFA:!G-<S/P=F.CEJ9\.N>"F.2.6J>*F.S.$;5@)Q8XJ:9X<ZCLN
MFM)8Y[RXY;5JG7:[3ELS,HS+(9#;;=PRG+[PW'C5NU\G490GNHAMB.PAMB.T
MS':;:1 >J:KG-8S=6<SM6-R=D1'M:8XJ:8XHCNS.V9F9F4Z:9IF3TG*QE,G3
MA;C;,SPU3QU53QS[$1LB(B,&QQKFP                      *LC??SZ;H
M^EG8WRPO!:'(>@V?-4>3"M.>]-O>=K\J6)S*8H    )>GLPWYB<O_A;IS\3[
M"(D]9GR^4ZESOT)5]7'R&;Z]OO5)39%Z2P          C4>?MY<M=KX0_P U
M-06.CNR-:65J-NJR6R&GUK-=:6IGMC9K2D=-')>0:ZBH[)2EI4MZPTK6KB4V
MYIIR2-PMXOJM_P"Y<W5_QKM7Q<S[FN?<]BOB_:ZTS$>;\;O_ %JS]\92G_D6
MX^,B/=41[KLT<?+3U8B88Y,:(@      $EOR$?,FKJG,(?"K<U^\/6FPKR\_
MI/(+I*75G"-BW=]*I&#NNOJJB+C&?RUU<B42I+<6^*K[A7OBZZU&^_>[GUJS
M.M9.G_DVX^,B/=41[KK4<?+3U8B9$W'WA^JW8T?.5?\ 'N3\7,^YKGW/8JXN
M2KK3,3-"'$N              (G?M(W+RB6]9\+<1NC=5.5A[>W F(^JKC:4
M>N0-<8K.\+_#31U59EWD1G*U7[FW/=M*5354J^KG2-MW6;T?_KM]^NJ/8IB>
MM"+_ %@ZKLMZ1:G_ /9<[U%/?JF.K*)H2LB\     "5'[-SQ&3=<BV;S.RVU
M]\7%_6M1ZA<DHK2GY07*#%G;&R6(VM"%]]NL,Z':H\A"E-+I<9[5:=[5>V+O
M6-JW0MVM&M3MJ^,N=B)PHCMS$U3'-3/&DSU?:5TKES5[L;*? M]F8QKGM1,4
MQ//5'$EV$2I4                           @;>?EQ2KH'F=,VM8+;6)@
M/)V!,V+#=::2B%'V1;GXL':-M;JEM'?*F7&9#OCZE5553M[5TKTITI.NX>J_
M7]&C*W)QS&6GH>\G;1/:C&F.JA+?C3/J.KSFK<86,S'3]_&RN.[A5/6<.3MG
M&      3 _9N^6WO_@NRN&^57*BKE@3\G:FJ&I#K=%NXAD%P:CY]8(B%*0KP
M['E<V/<D)2EQ;BKS)56J4M4H1%ZQM)^#OV]8M1X-SP+G6B/ GMTXQ[V.5*_J
M^U7X2Q<TB[/A4>'1U9GPH[56$^^GD2C",4D@                !#>]IL^?
M7C']$V7?+!HF#U:>@YGSM/DHE]8WIN6\U5Y2,B26CD
M #K'Y&_]4GB__P"M?_MWVV<IOO\ VOFO_'_%MNHW,_N7+?\ D_A5K"PK^G@
M                     J<"U:KX     $IOV8;\^^7_ ,$M.?CC81%_K,^0
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
M5U7+]4[9GO1Q1$<41A$<27\IE,MD;%.6RE%-%BG@B._/',SQS.V>-DPQF2
M                     *LC??SZ;H^EG8WRPO!:'(>@V?-4>3"M.>]-O>=K
M\J6)S*8H    )>GLPWYB<O\ X6Z<_$^PB)/69\OE.I<[]"5?5Q\AF^O;[U24
MV1>DL          /XR([$MA^+*89DQ9++D>3&D-H>8D,/(4V\P^RXE3;K+K:
MJI4E5*I4FM:5IT/V)F)QC9,/R8B8PG;$H GG)>79)X3;[=S/7UF<:XY;HN5Q
MO.OUQ([GO?@.1K4N;?\ 5DIZE5)8;MG<J59N_MJ]:ET:35UV')63UN?O#&M9
M#X',3_[&S$17RU1P17V^"KDJV[(F$&[VZ!.CY[X:Q'_K[TS-/)3/'1VN&G]G
M9MPEQQ.P<D     !_1EYV.ZU(CNN,/L.(>9>96IIUEUI5%MNM.(JE;;C:TTJ
ME5*TK2M.M!,1,83P$3,3C'"GN^2_YD#',_2OZ+MFWEMSDCI:SP8>4.2WFD2]
ME82VM-OLFQX;-:H<D7)BOA0;]1%%I;GU:DUJA,]IEN"-\MW)T;._6LM3_P"M
MO3/1_8JX9H[''3S8Q[F93ANAO!&KY/ZMF9_]A9B.E^W3P17V>*KGPGW40[7'
M%NP           !X79^R,1T]KG.=JY[<T6?"]=XK?,QR:XJHE2X]GL%O?N,R
MD9E2VZRISS4>K<=A->]]]:&T4JI5*5]\KEKV<S%&5L1C>N5Q33'/,X1VN6>*
M-KPS.8M93+UYJ_.%FW3-4SS1&/=Y(XY5C/)/>N5<F=\[4WSFBO\ _H-G9?<L
MB=BT55;5HMBJHA8]CT5=?=*@XUCL.+;X]55JJK,9/=6M>M:V7TW(VM-R-K(6
M?D[5$1V9X9GLU3C,\\JY:CG;NHYZ[GKWM[E<SV(XH[481'880,UA@    ]3@
MV%9/LG-,2UYA5ID7W,,YR2R8EB]EB4I63=;_ )#<8UIM$!GNK1*5RITM".Y5
M:)3UZUK2E*U/*_>M9:S7F+T]&S13-54\D1&,SW'K9LW,Q>HL68Z5VNJ*8CEF
M9PB.ZLW^)W'K'.*G'34F@,7JP]!UQB,&TW"Y,,I83?LGE*=NN7Y(MM+;54N9
M%E$^7,K15.Y/C=M?P%:=5U"YJNHW<_=]M<KF8CDIX*8[5,1':6,TO(6],T^U
MD;?M;=$1,\L\-4]N9F6PYKV>                          !R1\ZKBE3E
M#P<SV38[;2=L?1E5[FP:K32E394?&H4E.=6!BK+;DE^EYPAZ8XS&12M)%QB0
MZ5IU32J>LW,U7[LUNW%<X9>_\75R>%/@SVJL-O%$RY;?#2_O+1JYHC',6?C*
M>U[:.W3CLXYB%>\3^@@     #:'A?R3OW$;DYJ+?MC7+6SA&51%Y3:XCG8K(
M<%NU%V?-L>4E5%,N+NF-39*&*N)71F51IZE.]M-::S6=-MZMIE[(5X8UT^#/
M)5&VF>U,1CRQC'&V6CZC7I6I6L]1CA15X4<M,[*H[<8X<^$K-3&LCL>88Y8,
MNQBYQ;UC64V6U9'CUYA+JY"NUCO<%BYVFYQ%J2E2XL^!*;=;K6E*U0NGH*U7
M+==FY5:NQ--RFJ8F)X8F)PF.U*Q=NY1=MTW;<Q-NJ(F)Y8F,8GMP^T?#[
M             $-[VFSY]>,?T39=\L&B8/5IZ#F?.T^2B7UC>FY;S57E(R))
M:.0                   .L?D;_ -4GB_\ ^M?_ +=]MG*;[_VOFO\ Q_Q;
M;J-S/[ERW_D_A5K"PK^G@                      J<"U:KX     $IOV8
M;\^^7_P2TY^.-A$7^LSY#*=>YWJ$E^KCY?-]2WWZDO0B1*H
M     .2WG0\NU\4.%69MXY=5V[:.[UO:AUZN*[1NX6YN_07U9ME,>J5)D1O>
M#$$24,2F^BHUSF0ZTK2M:5.KW-TC[UUJB;D8Y6Q\97R3A/@T]NK#&..F)<MO
M?JOW7H]?P<X9F]\73RQC'A3VJ<=O%,PKV2P""      .G_E"<1D\O>:NO<;O
M]K]\=8ZQ_P#Y<VDAY%?49N/XG.@^\^-25*15I]&6Y9+@0GX_<AURW+EN(K_A
M*K3F=[M6^Z-%N7+<X9F[\71RXU1.,^]IQF)Y<.5TFZFE?>NL6[=<8Y:WX=?)
MA3.R/?581AR8\BQ0*])\                            14/:3.)_KUGU
M1S)QBWH]8LBV--;55'9Z..6J<_<+UKK(956ZI1V6^YNW&VR'UT4XNLV"UUHA
MM-*2GZN-5Z-=W1[L[*OC*.S&$5QVXPF(YJIXT9>L+2\:+6KVXVQ\77V)QFB>
MU.,3V:8XD1\EA%@     $B7V=OEM^BGD?D_&3*+E2/AO(:V^O8I22ZTW&M^V
M<.A29D!E"WE-H8IEN*TF1%=*U6_-B0&DIK57HCWUA:3]:TZG4[4?'9><*N>W
M5.WQ:L)YHFJ7?;@ZI]5U"K3KD_$YB,:>:NG@\:G&.>8IA-J(63$
M   !B;?GS%;I^B;8WR/O)EY#TZSYVCRH8N>]"O>:K\F5626@5I      DW>S
M)_/KR<^B;$?E@Z1IZR_0<MYVKR4C>KGTW,^:I\I,A(?2T           "#'Y
MYOER5XO[>KR.U/8E,:%W=?93MWMUNC);MNLMJS:/W&YV!#35>R)CF9(:?N-K
MHFB6F'D2XB4M-,QJ.3?N1O%]YY3[NS=7_/L4[)GAKHC9$]FG9%7+LG;,RA??
M3=_[MS?WAE:?^#>JVQ'!17.V8[%6V8Y-L<4.!AWCAP      $WSR*O,D_P"H
MW6;7%C<.0KE;SU!8$5PR]7:1WSMFZLM:8\**MR6ZKON.7X*AQN+-[ZUD3+?X
M$NM7G$3G40IOSNY]W9G[TR=.&1O5>%$<%%<]ZFKACBB<8V1T83)N5O#]X9;[
MLS=6.=M4^#,\-=$=^JG@GCF,)V^$D)D?N\               -!N8_EJ\3^;
MULD.[9P!BU["3#<C6;;^$>!CFQ;4OP4M1:S;HPPY#RV!#HBE&X=Y8GQFDU5X
M*6EJ[Z;[1]Y-5T2J(RES'+X[;=6VB>Q'#3//3,3RXM'JV[VEZS3_ ,JWA?PV
M7*=E<=OW4<U43')@B7\P?(7Y?<=E7C*-1PV^3.L8-'I:9V!P'(FS+9 155>E
MXUB[)F7.Z/MTZ4_\B?NZETZN+;93UHF5M(W[TC4,+6;GZMF9XJI\"9YJ^"/?
M13V91=JVY&JY#&[E8^LY:..F/#B.>CAGWLU=IQ%N-NN%GGS;5=H$VUW2VRGX
M5QMMQBOPI\";&<4S)B38<E#4B+*CNHJE;:TI6A5*TK2E:';4U4UTQ71,33,8
MQ,;8F.9QM5-5%4TUQ,51.$Q.R8?C/U^                 !]O&L8R3,[]:
ML5P_'KYE>3WV6W LF.8U:9]]OUXGN]:M0K59[7'E7"X2W*)KVMLMK77IZ*'Q
M<NV[-N;MZJFBU3&,S,Q$1'+,SLA]V[=R]7%JU355<JG"(B)F9GFB-LI"7#+V
M>3?NV56C,^5E^IQ_P-ZK$RN"VWU'(-PWN$JJ7*L264.2,9P"DIA=*I<F.7">
MPNE4/6YM7II'^L^L'(93&SI5/UB_^M.,6XGRJ^UA$\53O-(W"SV:PO:G5\!8
M_5C";D_HI[>,\M*61QBX=\=.'N'4PO0.M++AD:0VU2^Y#5"KIFN6/M5JNDK*
MLON%7[Y>:I>4I;3"W:1(O?5,=EEOHBD5:GK&HZO>^&S]RJN>*."FGJTQLCL\
M,\<RE#3=)T_2;/P.1MQ1''/#55UJIVSV.".*(;-&L;$
M              ( 'GU_U,=Q?!+4'U8XR3WN)_;5GKW/+E!F^_\ <5WJ6_(A
MQO.P<D    #;'@1^_1PN_BRXY_7!AQJM>_ \[_*7OX=3::'^-9/^:M?Q*5F\
M5I6,                       %7KRY_>NY._Q"[I^LC)2S>D_A66_E[?D0
MK=JOXGF?/W/+EKT;!@                   Z:<2?*/YJ\O'K1=L8UI+UMK
M.Y>&_7:^V69V(8L];E50KUS'+<_$=RC,D/M551ARV07X2G4=CLEFG55.:U;>
MS1=(B:+MV+F9CW%O"JK'GGVM//TIB>2)='I6ZVL:K,56[<V\M/NZ\:8PYHX:
MN;",.682S.#ODG\4^(#]IS;)H=>0.Z;?5F4QG>P+3#;QO&[BW2E?6,%U[XUQ
MM%F?:=2EQJ9/>NERCNI[V)+%*]E(IUO?35=7B;-J?J^2GW-$[9C]JO9,]B(I
MB>.)2AHVYVF:3,7KD?#YR/=51LB?V:=L1V9QF.*8=CSCW6@
M            JR-]_/INCZ6=C?+"\%H<AZ#9\U1Y,*TY[TV]YVORI8G,IB@
M   EZ>S#?F)R_P#A;IS\3["(D]9GR^4ZESOT)5]7'R&;Z]OO5)39%Z2P
M       :W<M>,.N^86A<[T/LJ(A5HRRW*79;XW':>NF&9=";=<QO,K&ISI5J
MYV*>JBJIHI*9,93L9WJR^ZE6QTG4\QI&?MY_+3X=$[8XJJ9X:9YICN3A,;8A
MK]4TW+ZMD:\CF(\"J-D\=-7%5'/$]V,8X)5M7(C0>Q.,.YL^T;M.U+M68X#?
M)%JEJ2AVD"\VY7219<FLCSR&UR[!DMI=9FPW:I2I3#R>]*5T4A-CM/S^7U/)
MV\]E9QLW*<>>)XZ9YXG9//"O>?R.8TW.5Y+,QA=HJPYICBF.:8VQS,+&8PP
M    ,X<;^0>QN+.ZL#WKJNY4M^7X'>$3V&)%7E6N^VM]"HE[QB_1V'67)=BR
M*U/.Q)3:5)71MWN;4AU*%IPM1T_+ZIDKF1S48V;D8<\3Q51SQ.V/9V,S3\_F
M-,SE&=RTX7:)QYICCB>:8V2LCN)?*#7',30V#;ZUC*_\ERR#5J\6&1(;?NV%
MY; HAG),,OM$(:JFYV*?6J:.=B$2XRF93-*L/M*57+5M,S.CY^O(9F/#HG9/
M%53/!5'-,=R<8G;$K":7J67U;(T9[+3X%4;8XZ:HX:9YXGNQA,;)ALB:YL
M         C0^T;<O?R$U!@W$'$KF\QD^XY$;/-E4BN]BHNKL8N3K=ALTNE*)
M7V9CG$&CZ:H5Z&K"ZVY3L?IUDGU=Z1\/FZ]7NQ\59CHT=>J-L^]IG#WT8<".
M_6!JOP&4HTJU/QE[PJ^I$[(]]5'^6>5#.)B1&     !(M]G:XB4VIR&RKE'E
M=MH_AO'R&FU8;27&4N+=-M9? E,,28RW$+BOUPC%%2)+J*]'6)EQM[R*TJGJ
M1YZPM7^JZ?1I=J?CLQ.-7-;IG_55A'/$50[_ '!TKZSGZM2NQ\38C"GGKJC_
M $TXSS3-,IL1"Z80                           '^'&VW6UM.H0ZTZA3
M;C;B:+;<;72J5H6A5*I6A::]*TKZ*T'!MCA.'9/ K9_,QXL.\/N9FX-2PK>N
M!A$N\JSW5?1EQJ*[K;-7I%UQZ'!6Y2E9+.,/UDV1UVGH7*MCO3_X%CMVM4C5
M]'LYN9QOQ3T:^O3LG'K;*NQ5"O6\6F?=.KW<K3&%F9Z5'4JVQW-M/9B6A9O6
MD      G,>SX\M*[LXGW'0>3W+UG.^,USC6.W4DOJ<F7/4^5.3[EA,FBGU][
MWY-W&-<;/5MI-6XD&) HJM%.II6$=_\ 2?J6JQG[486,S&,\URG"*N[&%7/,
MU<B9]Q-4^N:7.1N3\?EIPCGHJQFGN3C3S1%/*[[G!.Y                $
M-[VFSY]>,?T39=\L&B8/5IZ#F?.T^2B7UC>FY;S57E(R)):.0
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
M#(VJ:)XYX:I[-4XU3W<.1L^:QL@
M( 'GU_U,=Q?!+4'U8XR3WN)_;5GKW/+E!F^_]Q7>I;\B'&\[!R0    -L>!'
M[]'"[^++CG]<&'&JU[\#SO\ *7OX=3::'^-9/^:M?Q*5F\5I6,
M             %7KRY_>NY._Q"[I^LC)2S>D_A66_E[?D0K=JOXGF?/W/+EK
MT;!@            ][;=5;0O+ZXMGUOGMVDMM*D+CVW#\AG/H82MMM3RV8MN
M=<2TEQU*:JK3I2JJ4Z]:T/"K-96B,:[EN(YZHC]+WIRN9KG"BW<F>:F9_0S3
MC/!KFCF*T)QGB7R0N[;GX)<;2FQDVU'5A4E'CW1['6K='\5E/5'B.I\2M:43
MUK6E*X5W7-&L_*YO+1_Y*,>YCBS+>BZO>^3RN8G_ ,=>'=PP;285Y+/F79PM
MJL3C-><>AN=?$G9KF>N<01&IT=[5.V^]Y=%OCG>MKMI1J(XJE5)JJE$5[C5W
MM\]V['#F::IY*::ZO9BG#V6RL[H;Q7N#+33'+5513[$U8^PW<US[-ES"R%4:
M1L?:VBM<0'5M4?CV^Y9=G61Q6ZTI5Y2K=#QFQV!Y;=*]$I1=JT6JE>M4TZ*5
MI<QZQ](MXQE[5^Y5SQ33'=FJ9_RMSE_5[JUS;F+MBW3S355/<PB/\SHGJKV:
M'CI8%QY&XM_[9V2^SV+7"PNS8QJ^SR5TI7O:E-SZ;&NZX]:U]'@S([GHZ]WI
MZ'/9KUDZC<V9/+VK<<M4U5S['0CV);_*^KO3[>W-W[MR>2F(HCV>G/LPZPZ
M\L3@KQHF0KSJ[COA2,JM_AN1<SS--PV+ED66W6E??"UW?.9M^7CTY=:>E=L3
M#I1-:II2B:UI7E,_O-KFI4S1FLQ7\%/N:<**>Q,4Q&,=;%T^1W<T73IBO+9>
MCX6/=58UU=F)JQPGL8-]31-X                            JR-]_/IN
MCZ6=C?+"\%H<AZ#9\U1Y,*TY[TV]YVORI8G,IB@    EZ>S#?F)R_P#A;IS\
M3["(D]9GR^4ZESOT)5]7'R&;Z]OO5)39%Z2P            .%'G?>7)_P!6
MFFJ;UU58JRN0ND;++?;@6^.Z_<-F:RBUE7.\86U&CH6_-R.Q/O.W"RI312W5
MJDQ$H4N6TIKN=R=XONG.?4<U5AI]^KAG@HKX(JYHG@J[4\4X\5OEN_\ >F4^
MNY6G'/V8X(X:Z.&:>S'#3VXXXP@CDY(4       ==/*#\Q2?P8WRW9<WN4MS
MCKMZ=;++L^WUJ])9Q&Y)JN+8MG6N&FJJMR+"N1X=T2RFKDRU573L=>CQ4IY+
M>[=ZG7,AT[$1]XV8F:)_6CCHGL^YY*N2)EU6ZFOU:+GNA>F?J%V8BN/U9XJX
M[''RT\LQ"P1@SH5SA1+E;9<6X6ZX18\Z!/@R&I<*;"EM(?BRXDIA;C$F+)8<
M2MMQ"E(6A5*TK6E2 JJ:J:IIJB8JB<)B>&)3K$Q5$54S$TS&R7ZC\?H
M  !\J^WRT8S9+QDF07"+:+#CUJN%\O=UFN49A6RT6F(]/N5PENU]#46%#CK<
M<57^ZA-:GW117=KBW;B9N53$1$<<SLB.V^:ZZ+=$W+DQ%%,3,SR1&V95FO.'
MD]>N87*/;>_+IZY'MN79&]'PNSS7.YW'=?6-";1A5D4VA2H[,J/88C+DOPNC
M;L]U]WIU<K6MD]$TRC2-+M9"G#I44^%,<=<[:I[O!S80KKK.I5ZMJ5W/58]&
MNKP8Y*8V4QW.'GQEJ>;5JP    ?HAPY=PEQ8$"+(G3ITAB'"A0V'9,N9+DNI
M9C18L9E*WI$B0\M*$(0FJEJK2E*5K4_)F*8FJJ<*8X9?L1-4Q33&-4\$+*CR
MZN*,+AGQ&U1I946.SF#%IIENTID=Q#_OEL[*VV+AE2ZRFJ);EQ[*YX5IB.TI
M3N@6YCKU5UK6N&\.JU:SJUW.X_$X]&CFHIV4]WVT\\RL-H&EQI&E6LGA\;AT
MJ^>NK;5W/:QS1#=\TC<@                            $<#VC/BC38O'
M_">4^-6SQ<HT/=F\:SAZ.VGQY>K<YN,:'%ERJ]:O2$8GG#L7P4(IT:9O$MU?
MN45K21?5WJOU?/UZ7=GXJ_&-/7IC_53CVZ8A'V_^E_6,A1J=N/C;$X5=2J?]
M-6'C3*%>3,B      #HWY4_+2O#OFEK#8-VN'J.N\PD5U7M>KCB&HK>"YK,@
M,+O,MQU24M1\0R*);[RXJGNU-6];=/\ Q*TKSN].D_?&C7<O1&.8HCIT=:F)
MV>^C&GMN@W8U3[IUBW?JG#+U^!7U:L-OO9PJ[2QT*[+
M"&][39\^O&/Z)LN^6#1,'JT]!S/G:?)1+ZQO3<MYJKRD9$DM'(
M         '6/R-_ZI/%__P!:_P#V[[;.4WW_ +7S7_C_ (MMU&YG]RY;_P G
M\*M86%?T\                      %3@6K5?      E-^S#?GWR_\ @EIS
M\<;"(O\ 69\AE.O<[U"2_5Q\OF^I;[]27H1(E4                 .>_F@
M\MV>&?#C9VS[=<F86P[]$IKK4;*E]LE[8F7QY46WW&(CJGQ%XC:&)M[72M:)
M6BVU1U[EII7H-V-)G6=8M96J,<O3/3N=2GACWTX4]MH=Y-5C2-)N9FF<,Q5'
M0HZU7!/O8QJ[2MZ<<<=<6ZZM;KKJU....*JMQQQ=:J6M:U5JI:UJKUK6OIK4
ML7P;(5]X=L\+_(     ;K>7GQ5G<RN6^I=(T:D4Q6X7G\IMEW!A+W2UZUQ.B
M;OECBI#-*JA2+Q&91:H;RO<)N-PCT5Z*FEW@U2G1])NYW_NQ3T:(Y:ZME/9P
M]M/-$MQH.F5:OJMK)_\ :F<:YY**=M7=]K'/,+*RW6Z!9[? M-JA1;;:[7"B
MVZVVZ"PW&A0($)A$:'"B1F4H:CQ8L=I*&T)I1*$)I2E*4H5PJJJKJFNN9FJ9
MQF9X9F>-8>FFFBF*:8B*8C"(Y(?M/E^@
M$)7VB?B?35G)/%.2^,VRK&(<A[.J%E;D:.JD2!M;"(D*!.=?6TFD>)7*\27
MDM(KT<DRH4][JJO=TFGU>ZK]:TVO3;L_'9><:>>BK;'BU8QS1-,(=W^TOZMJ
M-.HVX^*S$>%S5TX1/C4X3SS%4H[1(3@0     )7?LVW+93$S:7#'*[DGP9E)
M.X]2)DNU[DS&40+3LC&8BG5*JJDB(W;[K%C-=J4>#<7JTK5:JTBOUC:3C3:U
MFU&V/B[G8VS15WZ9GGIA)_J]U3";ND79V3\91[$5QWJHCK2EJ$4)1
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
MJ:XXYCI5>-5C5[+<,U#;
M
M
M
M
M
M
M
M
M
M
M
M
M
2                    /__9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>15
<FILENAME>rock-20231231_g2.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 rock-20231231_g2.jpg
M_]C_X  02D9)1@ ! 0$ 8 !@  #_VP!#  ," @," @,# P,$ P,$!0@%!00$
M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_
MVP!# 0,$! 4$!0D%!0D4#0L-%!04%!04%!04%!04%!04%!04%!04%!04%!04
M%!04%!04%!04%!04%!04%!04%!04%!3_P  1" "B ",# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#]2]1:Z73[
MHV*PO>B)C MPQ6,R8.T,0"0N<9(!..U>8?VW\9;#,DWA3P7JHQQ%:>(+JW8'
MU+/9L".V,"O5Z* /./AW\6K_ ,5>*+_POXB\(7WA#Q)96,.HO!-=07=M-!([
MH&AFB8[L/&RD,J'H<8->CUY7;?\ )TFI?]B;:_\ I=<5ZI0 4444 %%%% 'E
M=M_R=)J7_8FVO_I=<5ZI7E=M_P G2:E_V)MK_P"EUQ7JE !1110 4444 >5V
MW_)TFI?]B;:_^EUQ7JE>5VW_ "=)J7_8FVO_ *77%>J4 %%%% !1110!Y7;?
M\G2:E_V)MK_Z77%>J5Y7;?\ )TFI?]B;:_\ I=<5ZI0 4444 %%%% 'E=M_R
M=)J7_8FVO_I=<5ZI7B^L^*-(\(_M0"37-3M-'CU/PG#;6,E_,L"7,T=Y*SQQ
MLQ 9U61"5!SA@<5[)!<1W*;HI%D'0E6!Q0!)1244 +1110!X1\5/!,'QK^+S
M^ ?$.H7R>#[?PZFISZ78R+"+R:6XEA/FR!?,VJB<*C+]YLYSBK'A;]BCX)>"
M[6>VTCX?:=;6\SB1XWEGE!8#&?GD..,=/2MNV_Y.DU+_ +$VU_\ 2ZXKU2@"
MAIFB6NBZ;:Z?8QBULK6)8(((P-L<:@!5'L  **OT4 %%%% 'E=M_R=)J7_8F
MVO\ Z77%>J5Y7;?\G2:E_P!B;:_^EUQ7JE !1110 4444 >5VW_)TFI?]B;:
M_P#I=<5ZI7E=M_R=)J7_ &)MK_Z77%>J4 %%%% !1110!Y7;?\G2:E_V)MK_
M .EUQ7JE>5VW_)TFI?\ 8FVO_I=<5ZI0 4444 %%5]0N)+.QN;B*UEO98HV=
M+: J))F )"*6(7)Z#<0.>2.M>:M\5/&US\EE\'?$4<O4G4]4TR"/'?YH[F4Y
MZ<;<=>?4 ;;?\G2:E_V)MK_Z77%>J5Y3\/\ P_XPU3XG:GXV\5Z5IOAT3Z/!
MI-II5C?M?2A4FDE:2:3RHU5LR!=B;A\I.XUZM0 4444 %%%% !1110 4444
#?__9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667558526208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover Page - USD ($)<br> $ in Billions</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Feb. 20, 2024</div></th>
<th class="th"><div>Jun. 30, 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_dei_CoverAbstract', window );"><strong>Cover [Abstract]</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_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-K<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_dei_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<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_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2023<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_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>
<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>
<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_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">000-22462<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_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">GIBRALTAR INDUSTRIES, INC.<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_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>
<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_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">16-1445150<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_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">3556 Lake Shore Road<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_dei_EntityAddressAddressLine2', window );">Entity Address, Address Line Two</a></td>
<td class="text">P.O. Box 2028<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_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Buffalo ,<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_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">NY<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_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">14219-0228<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_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">716<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_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">826-6500<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_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock, $0.01 par value per share<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_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">ROCK<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_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<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_dei_EntityWellKnownSeasonedIssuer', window );">Entity Well-known Seasoned Issuer</a></td>
<td class="text">Yes<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_dei_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<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_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<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_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<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_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Large Accelerated Filer<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_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">false<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_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<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_dei_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</a></td>
<td class="text">true<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_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<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_dei_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.9<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_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30,442,954<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_DocumentsIncorporatedByReferenceTextBlock', window );">Documents Incorporated by Reference</a></td>
<td class="text"><div style="margin-top:9pt;text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">DOCUMENTS INCORPORATED BY REFERENCE</span></div><div style="margin-top:6pt;text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Portions of the Registrant&#8217;s Definitive Proxy Statement to be filed for its 2024 Annual Meeting of Stockholders</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">are incorporated by reference into Part III of this Annual Report on Form 10-K.</span></div><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_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<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_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2023<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_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<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_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000912562<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_dei_DocumentFinStmtErrorCorrectionFlag', window );">Document Financial Statement Error Correction [Flag]</a></td>
<td class="text">false<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_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_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 annual 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-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<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_DocumentAnnualReport</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_DocumentFinStmtErrorCorrectionFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 whether any of the financial statement period in the filing include a restatement due to error correction.</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-K<br> -Number 229<br> -Section 402<br> -Subsection w<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<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_DocumentFinStmtErrorCorrectionFlag</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_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_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_DocumentsIncorporatedByReferenceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Documents incorporated by reference.</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-23<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_DocumentsIncorporatedByReferenceTextBlock</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>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_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_EntityAddressAddressLine2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 2 such as Street or Suite number</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_EntityAddressAddressLine2</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_EntityPublicFloat">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.</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_EntityPublicFloat</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: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_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_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</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_EntityVoluntaryFilers</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_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</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 Securities Act<br> -Number 230<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_EntityWellKnownSeasonedIssuer</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_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<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_IcfrAuditorAttestationFlag</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_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>17
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667558518800">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Audit Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_rock_AuditInformationAbstract', window );"><strong>Audit Information [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_dei_AuditorName', window );">Auditor Name</a></td>
<td class="text">Ernst & Young LLP<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_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">Boston, Massachusetts<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_AuditorFirmId', window );">Auditor Firm ID</a></td>
<td class="text">42<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorFirmId">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>PCAOB issued Audit Firm Identifier</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-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<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_AuditorFirmId</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:nonemptySequenceNumberItemType</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_AuditorLocation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<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_AuditorLocation</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:internationalNameItemType</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_AuditorName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<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_AuditorName</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:internationalNameItemType</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_rock_AuditInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Audit Information [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;">rock_AuditInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667560574672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Income - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_IncomeStatementAbstract', window );"><strong>Income Statement [Abstract]</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_Revenues', window );">Net sales:</a></td>
<td class="nump">$ 1,377,736<span></span>
</td>
<td class="nump">$ 1,389,966<span></span>
</td>
<td class="nump">$ 1,339,783<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_CostOfRevenue', window );">Cost of sales</a></td>
<td class="nump">1,015,770<span></span>
</td>
<td class="nump">1,071,272<span></span>
</td>
<td class="nump">1,049,772<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">361,966<span></span>
</td>
<td class="nump">318,694<span></span>
</td>
<td class="nump">290,011<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 expense</a></td>
<td class="nump">207,440<span></span>
</td>
<td class="nump">188,592<span></span>
</td>
<td class="nump">184,723<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_GoodwillAndIntangibleAssetImpairment', window );">Intangible asset impairment</a></td>
<td class="nump">3,797<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">8,300<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_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">150,729<span></span>
</td>
<td class="nump">130,102<span></span>
</td>
<td class="nump">96,988<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_InterestIncomeExpenseNet', window );">Interest expense, net</a></td>
<td class="nump">3,002<span></span>
</td>
<td class="nump">4,047<span></span>
</td>
<td class="nump">1,639<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_OtherIncome', window );">Other (income) expense</a></td>
<td class="num">(1,265)<span></span>
</td>
<td class="nump">14,565<span></span>
</td>
<td class="num">(4,213)<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 taxes</a></td>
<td class="nump">148,992<span></span>
</td>
<td class="nump">111,490<span></span>
</td>
<td class="nump">99,562<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">38,459<span></span>
</td>
<td class="nump">29,084<span></span>
</td>
<td class="nump">25,046<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_IncomeLossFromContinuingOperations', window );">Income from continuing operations</a></td>
<td class="nump">110,533<span></span>
</td>
<td class="nump">82,406<span></span>
</td>
<td class="nump">74,516<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_NetIncomeLossAttributableToReportingEntityAbstract', window );"><strong>Discontinued operations:</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_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax', window );">Income before taxes</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,479<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_DiscontinuedOperationTaxEffectOfDiscontinuedOperation', window );">Provision for income taxes</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">366<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_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity', window );">Income from discontinued operations</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,113<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_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 110,533<span></span>
</td>
<td class="nump">$ 82,406<span></span>
</td>
<td class="nump">$ 75,629<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_EarningsPerShareAbstract', window );"><strong>Net earnings per share &#8211; Basic:</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_IncomeLossFromContinuingOperationsPerBasicShare', window );">Income from continuing operations (in dollars per share)</a></td>
<td class="nump">$ 3.61<span></span>
</td>
<td class="nump">$ 2.57<span></span>
</td>
<td class="nump">$ 2.27<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_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare', window );">Income from discontinued operations (in dollars per share)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0.03<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_EarningsPerShareBasic', window );">Net income (in dollars per share)</a></td>
<td class="nump">$ 3.61<span></span>
</td>
<td class="nump">$ 2.57<span></span>
</td>
<td class="nump">$ 2.30<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 );">Weighted average shares outstanding &#8211; Basic (in shares)</a></td>
<td class="nump">30,626<span></span>
</td>
<td class="nump">32,096<span></span>
</td>
<td class="nump">32,873<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_EarningsPerShareDilutedAbstract', window );"><strong>Net earnings per share &#8211; Diluted:</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_IncomeLossFromContinuingOperationsPerDilutedShare', window );">Income from continuing operations (in dollars per share)</a></td>
<td class="nump">$ 3.59<span></span>
</td>
<td class="nump">$ 2.56<span></span>
</td>
<td class="nump">$ 2.25<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_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare', window );">Income from discontinued operations (in dollars per share)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0.04<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_EarningsPerShareDiluted', window );">Net income (in dollars per share)</a></td>
<td class="nump">$ 3.59<span></span>
</td>
<td class="nump">$ 2.56<span></span>
</td>
<td class="nump">$ 2.29<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_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted average shares outstanding &#8211; Diluted (in shares)</a></td>
<td class="nump">30,785<span></span>
</td>
<td class="nump">32,192<span></span>
</td>
<td class="nump">33,054<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_CostOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 cost of goods produced and sold and services rendered 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 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 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 5: 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 6: 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 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)(iv))<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)(5))<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 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 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)(iii)(A))<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)(B))<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)(iv))<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)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: 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)<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_CostOfRevenue</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_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 tax of income (loss) from a discontinued operation. Includes, but is not limited to, the income (loss) from operations during the phase-out period, gain (loss) on disposal, gain (loss) for reversal of write-down (write-down) to fair value, less cost to sell, and adjustments to a prior period gain (loss) on disposal.</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 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-3A<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-5B<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-3B<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-4<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<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/2147483499/205-20-50-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-3<br><br>Reference 8: 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(14))<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_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax</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_DiscontinuedOperationTaxEffectOfDiscontinuedOperation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 tax expense (benefit) related to a discontinued operation. Includes, but is not limited to, tax expense (benefit) related to income (loss) from operations during the phase-out period, tax expense (benefit) related to gain (loss) on disposal, tax expense (benefit) related to gain (loss) for reversal of write-down (write-down) to fair value, less cost to sell, and tax expense (benefit) related to adjustments of a prior period gain (loss) on disposal.</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 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 2: 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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-3A<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-5B<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-5C<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-3B<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-4<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<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/2147483499/205-20-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_DiscontinuedOperationTaxEffectOfDiscontinuedOperation</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_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EarningsPerShareAbstract</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_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_EarningsPerShareDilutedAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EarningsPerShareDilutedAbstract</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_GoodwillAndIntangibleAssetImpairment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 loss recognized during the period from the impairment of goodwill plus the loss recognized in the period resulting from the impairment of the carrying amount of intangible assets, other than goodwill.</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_GoodwillAndIntangibleAssetImpairment</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_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_IncomeLossFromContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 income (loss) from continuing operations 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 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 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 3: 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 4: 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 5: 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 6: 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 7: 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 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-18<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.13)<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_IncomeLossFromContinuingOperations</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_IncomeLossFromContinuingOperationsPerBasicShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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) from continuing operations 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 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 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 (f)<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 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 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 (b)<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 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 7: 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 8: 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 9: http://www.xbrl.org/2009/role/commonPracticeRef<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 10: 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 11: 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 12: 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><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-1<br><br>Reference 14: 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(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: 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.7-04(19))<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_IncomeLossFromContinuingOperationsPerBasicShare</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_IncomeLossFromContinuingOperationsPerDilutedShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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) derived from continuing operations during 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 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 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 (f)<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 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 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 (b)<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 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 7: 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 8: 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 9: http://www.xbrl.org/2009/role/commonPracticeRef<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 10: 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 11: 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 12: 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 13: 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><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-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_IncomeLossFromContinuingOperationsPerDilutedShare</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_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 income (loss) from a discontinued operation attributable to the parent. Includes, but is not limited to, the income (loss) from operations during the phase-out period, gain (loss) on disposal, gain (loss) for reversal of write-down (write-down) to fair value, less cost to sell, and adjustments to a prior period gain (loss) on disposal.</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 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 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-3A<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-5B<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-5C<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-3B<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-4<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<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/2147483499/205-20-50-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-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_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity</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_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Per basic share amount, after tax, of income (loss) from the day-to-day business activities of the discontinued operation and gain (loss) from the disposal of the 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 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-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 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 3: http://www.xbrl.org/2009/role/commonPracticeRef<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 4: 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 5: http://www.xbrl.org/2009/role/commonPracticeRef<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 6: 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><br>Reference 7: 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(14))<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_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare</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_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Per diluted share amount, after tax, of income (loss) from the day-to-day business activities of the discontinued operation and gain (loss) from the disposal of the 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 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-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 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 3: 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><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5<br> -Subparagraph (SAB Topic 5.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479836/810-10-S99-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_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare</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_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_NetIncomeLossAttributableToReportingEntityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NetIncomeLossAttributableToReportingEntityAbstract</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_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_OtherIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 revenue and income 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 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column E)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480032/946-320-S99-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column E)(Footnote 4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480032/946-320-S99-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column E)(Footnote 6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480032/946-320-S99-6<br><br>Reference 4: 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(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 5: 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(1)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-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_OtherIncome</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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</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 S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<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 (a)<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 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 17: 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 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: 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 20: 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 21: 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 22: 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 23: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_Revenues</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>19
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667558417152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Comprehensive Income - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract', window );"><strong>Other Comprehensive Income (Loss), Net of Tax [Abstract]</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_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 110,533<span></span>
</td>
<td class="nump">$ 82,406<span></span>
</td>
<td class="nump">$ 75,629<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_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract', window );"><strong>Other comprehensive income (loss):</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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">1,204<span></span>
</td>
<td class="num">(5,022)<span></span>
</td>
<td class="nump">2,512<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_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax', window );">Adjustment to postretirement benefit liability, net of tax</a></td>
<td class="nump">114<span></span>
</td>
<td class="nump">1,403<span></span>
</td>
<td class="nump">136<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_OtherComprehensiveIncomeLossNetOfTax', window );">Other comprehensive income (loss)</a></td>
<td class="nump">1,318<span></span>
</td>
<td class="num">(3,619)<span></span>
</td>
<td class="nump">2,648<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 );">Total comprehensive income</a></td>
<td class="nump">$ 111,851<span></span>
</td>
<td class="nump">$ 78,787<span></span>
</td>
<td class="nump">$ 78,277<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_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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</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 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</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_OtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 and reclassification adjustments of other comprehensive income (loss).</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 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-17<br><br>Reference 4: 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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-4<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-5<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 8: 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(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 9: 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(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 10: 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 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482739/220-10-55-15<br><br>Reference 12: 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-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_OtherComprehensiveIncomeLossNetOfTax</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_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract</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_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract</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_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 and reclassification adjustment, of (increase) decrease in accumulated other comprehensive income for defined benefit plan.</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 10A<br> -Subparagraph (i-k)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<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 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<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_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax</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>20
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667558912112">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 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_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">$ 99,426<span></span>
</td>
<td class="nump">$ 17,608<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 of allowance of $5,572 and $3,746, respectively</a></td>
<td class="nump">224,550<span></span>
</td>
<td class="nump">217,156<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, net</a></td>
<td class="nump">120,503<span></span>
</td>
<td class="nump">170,360<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_OtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">17,772<span></span>
</td>
<td class="nump">18,813<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">462,251<span></span>
</td>
<td class="nump">423,937<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">107,603<span></span>
</td>
<td class="nump">109,584<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">44,918<span></span>
</td>
<td class="nump">26,502<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">513,383<span></span>
</td>
<td class="nump">512,363<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_IntangibleAssetsNetExcludingGoodwill', window );">Acquired intangibles</a></td>
<td class="nump">125,980<span></span>
</td>
<td class="nump">137,526<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_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">2,316<span></span>
</td>
<td class="nump">701<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_Assets', window );">Total assets</a></td>
<td class="nump">1,256,451<span></span>
</td>
<td class="nump">1,210,613<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_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="ro">
<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">92,124<span></span>
</td>
<td class="nump">106,582<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_AccruedLiabilitiesCurrent', window );">Accrued expenses</a></td>
<td class="nump">88,719<span></span>
</td>
<td class="nump">73,721<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_ContractWithCustomerLiabilityCurrent', window );">Billings in excess of costs</a></td>
<td class="nump">44,735<span></span>
</td>
<td class="nump">35,017<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">225,578<span></span>
</td>
<td class="nump">215,320<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_LongTermDebtNoncurrent', window );">Long-term debt</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">88,762<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_DeferredIncomeTaxLiabilitiesNet', window );">Deferred income taxes</a></td>
<td class="nump">57,103<span></span>
</td>
<td class="nump">47,088<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 );">Non-current operating lease liabilities</a></td>
<td class="nump">35,989<span></span>
</td>
<td class="nump">19,041<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 non-current liabilities</a></td>
<td class="nump">22,783<span></span>
</td>
<td class="nump">18,303<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&#8217; 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; authorized 10,000 shares; none 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; authorized 100,000 shares; 34,219 and 34,060 shares issued and outstanding in 2023 and 2022</a></td>
<td class="nump">342<span></span>
</td>
<td class="nump">340<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_AdditionalPaidInCapital', window );">Additional paid-in capital</a></td>
<td class="nump">332,621<span></span>
</td>
<td class="nump">322,873<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">738,511<span></span>
</td>
<td class="nump">627,978<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_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(2,114)<span></span>
</td>
<td class="num">(3,432)<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_TreasuryStockValue', window );">Cost of 3,778 and 3,199 common shares held in treasury in 2023 and 2022</a></td>
<td class="num">(154,362)<span></span>
</td>
<td class="num">(125,660)<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_StockholdersEquity', window );">Total stockholders&#8217; equity</a></td>
<td class="nump">914,998<span></span>
</td>
<td class="nump">822,099<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_LiabilitiesAndStockholdersEquity', window );">Total liabilities and shareholders' equity</a></td>
<td class="nump">$ 1,256,451<span></span>
</td>
<td class="nump">$ 1,210,613<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_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_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. 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_AccruedLiabilitiesCurrent</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_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.</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 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<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 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<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)(ii)<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 (h)(2)<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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: 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)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-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_AccumulatedOtherComprehensiveIncomeLossNetOfTax</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_AdditionalPaidInCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.</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/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(18))<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> -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_AdditionalPaidInCapital</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_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_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 obligation to transfer good or service to customer for which consideration has been received or is receivable, 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 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-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 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-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_ContractWithCustomerLiabilityCurrent</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_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_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</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 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<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 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-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_IntangibleAssetsNetExcludingGoodwill</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_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_LongTermDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.</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(22))<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_LongTermDebtNoncurrent</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_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_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_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_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>21
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667557670416">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 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_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_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Allowance for credit loss</a></td>
<td class="nump">$ 5,572<span></span>
</td>
<td class="nump">$ 3,746<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_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<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_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized (in shares)</a></td>
<td class="nump">10,000,000<span></span>
</td>
<td class="nump">10,000,000<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 (in shares)</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 (in dollars per share)</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 (in shares)</a></td>
<td class="nump">100,000,000<span></span>
</td>
<td class="nump">100,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 (in shares)</a></td>
<td class="nump">34,219,000<span></span>
</td>
<td class="nump">34,060,000<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 (in shares)</a></td>
<td class="nump">34,219,000<span></span>
</td>
<td class="nump">34,060,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_TreasuryStockCommonShares', window );">Treasury stock, shares (in shares)</a></td>
<td class="nump">3,778,000<span></span>
</td>
<td class="nump">3,199,000<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_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 allowance for credit loss on accounts receivable, 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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<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 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-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_AllowanceForDoubtfulAccountsReceivableCurrent</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_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_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>22
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667560838512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Cash Flows - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash Flows from Operating Activities</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="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">$ 110,533<span></span>
</td>
<td class="nump">$ 82,406<span></span>
</td>
<td class="nump">$ 75,629<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_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity', window );">Income from discontinued operations</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,113<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_IncomeLossFromContinuingOperations', window );">Income from continuing operations</a></td>
<td class="nump">110,533<span></span>
</td>
<td class="nump">82,406<span></span>
</td>
<td class="nump">74,516<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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by operating activities:</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_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">27,378<span></span>
</td>
<td class="nump">26,167<span></span>
</td>
<td class="nump">31,966<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_GoodwillAndIntangibleAssetImpairment', window );">Intangible asset impairment</a></td>
<td class="nump">3,797<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">8,300<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 compensation expense</a></td>
<td class="nump">9,750<span></span>
</td>
<td class="nump">8,334<span></span>
</td>
<td class="nump">8,652<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_AmortizationOfFinancingCostsAndDiscounts', window );">Exit activity costs, non-cash</a></td>
<td class="nump">2,771<span></span>
</td>
<td class="nump">16,266<span></span>
</td>
<td class="nump">1,193<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_DeferredIncomeTaxExpenseBenefit', window );">Provision for deferred income taxes</a></td>
<td class="nump">10,800<span></span>
</td>
<td class="nump">6,337<span></span>
</td>
<td class="nump">2,968<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_OtherNoncashIncomeExpense', window );">Other, net</a></td>
<td class="nump">12,492<span></span>
</td>
<td class="nump">1,506<span></span>
</td>
<td class="nump">1,570<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_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities net of effects from acquisitions:</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_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="num">(15,375)<span></span>
</td>
<td class="nump">32,754<span></span>
</td>
<td class="num">(41,887)<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_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="nump">45,908<span></span>
</td>
<td class="nump">14,377<span></span>
</td>
<td class="num">(85,763)<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_IncreaseDecreaseInOtherOperatingAssets', window );">Other current assets and other assets</a></td>
<td class="nump">514<span></span>
</td>
<td class="nump">2,062<span></span>
</td>
<td class="num">(426)<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_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(14,387)<span></span>
</td>
<td class="num">(76,260)<span></span>
</td>
<td class="nump">38,367<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_IncreaseDecreaseInOtherAccruedLiabilities', window );">Accrued expenses and other non-current liabilities</a></td>
<td class="nump">24,295<span></span>
</td>
<td class="num">(11,258)<span></span>
</td>
<td class="num">(14,384)<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_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations', window );">Net cash provided by operating activities of continuing operations</a></td>
<td class="nump">218,476<span></span>
</td>
<td class="nump">102,691<span></span>
</td>
<td class="nump">25,072<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_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations', window );">Net cash used in operating activities of discontinued operations</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(2,002)<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 provided by operating activities</a></td>
<td class="nump">218,476<span></span>
</td>
<td class="nump">102,691<span></span>
</td>
<td class="nump">23,070<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>Cash Flows from Investing Activities</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_rock_PaymentsToAcquirePropertyPlantAndEquipmentNet', window );">Purchases of property, plant, and equipment, net</a></td>
<td class="num">(13,906)<span></span>
</td>
<td class="num">(20,062)<span></span>
</td>
<td class="num">(17,491)<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_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Acquisitions, net of cash acquired</a></td>
<td class="num">(9,863)<span></span>
</td>
<td class="num">(51,621)<span></span>
</td>
<td class="nump">4,143<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_ProceedsFromDivestitureOfBusinessesNetOfCashDivested', window );">Net proceeds from sale of business</a></td>
<td class="nump">8,047<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">38,062<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_NetCashProvidedByUsedInInvestingActivitiesContinuingOperations', window );">Net cash (used in) provided by investing activities of continuing operations</a></td>
<td class="num">(15,722)<span></span>
</td>
<td class="num">(71,683)<span></span>
</td>
<td class="nump">24,714<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_CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations', window );">Net cash used in investing activities of discontinued operations</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(176)<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_NetCashProvidedByUsedInInvestingActivities', window );">Net cash (used in) provided by investing activities</a></td>
<td class="num">(15,722)<span></span>
</td>
<td class="num">(71,683)<span></span>
</td>
<td class="nump">24,538<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_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash Flows from Financing Activities</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_RepaymentsOfLongTermDebt', window );">Long-term debt payments</a></td>
<td class="num">(141,000)<span></span>
</td>
<td class="num">(138,000)<span></span>
</td>
<td class="num">(120,636)<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_ProceedsFromIssuanceOfLongTermDebt', window );">Proceeds from long-term debt</a></td>
<td class="nump">50,000<span></span>
</td>
<td class="nump">204,500<span></span>
</td>
<td class="nump">59,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_PaymentsOfFinancingCosts', window );">Payment of debt issuance costs</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(2,013)<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_PaymentsForRepurchaseOfCommonStock', window );">Purchase of common stock at market prices</a></td>
<td class="num">(29,329)<span></span>
</td>
<td class="num">(89,494)<span></span>
</td>
<td class="num">(6,497)<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_ProceedsFromIssuanceOfCommonStock', window );">Net proceeds from issuance of common stock</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,021<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_NetCashProvidedByUsedInFinancingActivities', window );">Net cash used in financing activities</a></td>
<td class="num">(120,329)<span></span>
</td>
<td class="num">(25,007)<span></span>
</td>
<td class="num">(66,612)<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_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Effect of exchange rate changes on cash</a></td>
<td class="num">(607)<span></span>
</td>
<td class="num">(1,242)<span></span>
</td>
<td class="num">(201)<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">81,818<span></span>
</td>
<td class="nump">4,759<span></span>
</td>
<td class="num">(19,205)<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 at beginning of year</a></td>
<td class="nump">17,608<span></span>
</td>
<td class="nump">12,849<span></span>
</td>
<td class="nump">32,054<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 at end of year</a></td>
<td class="nump">$ 99,426<span></span>
</td>
<td class="nump">$ 17,608<span></span>
</td>
<td class="nump">$ 12,849<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_PaymentsToAcquirePropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 to Acquire Property, Plant, and Equipment, Net</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;">rock_PaymentsToAcquirePropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</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_AmortizationOfFinancingCostsAndDiscounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 amortization expense attributable to debt discount (premium) and debt issuance costs.</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 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69E<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69F<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69F<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 4: 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-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_AmortizationOfFinancingCostsAndDiscounts</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_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_CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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) of investing activities of 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://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> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-5B<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_CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations</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_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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) of operating activities of 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 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> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-5B<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_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations</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_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_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts 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 830<br> -SubTopic 230<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<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_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</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_GoodwillAndIntangibleAssetImpairment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 loss recognized during the period from the impairment of goodwill plus the loss recognized in the period resulting from the impairment of the carrying amount of intangible assets, other than goodwill.</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_GoodwillAndIntangibleAssetImpairment</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_IncomeLossFromContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 income (loss) from continuing operations 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 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 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 3: 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 4: 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 5: 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 6: 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 7: 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 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-18<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.13)<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_IncomeLossFromContinuingOperations</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_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 income (loss) from a discontinued operation attributable to the parent. Includes, but is not limited to, the income (loss) from operations during the phase-out period, gain (loss) on disposal, gain (loss) for reversal of write-down (write-down) to fair value, less cost to sell, and adjustments to a prior period gain (loss) on disposal.</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 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 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-3A<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-5B<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-5C<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-3B<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-4<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<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/2147483499/205-20-50-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-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_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity</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_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_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncreaseDecreaseInOperatingCapitalAbstract</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_IncreaseDecreaseInOtherAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 other expenses incurred but not yet paid.</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_IncreaseDecreaseInOtherAccruedLiabilities</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_IncreaseDecreaseInOtherOperatingAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 operating 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_IncreaseDecreaseInOtherOperatingAssets</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_NetCashProvidedByUsedInInvestingActivitiesContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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) of investing activities, excluding 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/2009/role/commonPracticeRef<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_NetCashProvidedByUsedInInvestingActivitiesContinuingOperations</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_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_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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, excluding 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_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations</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_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_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_PaymentsOfFinancingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 for loan and debt issuance costs.</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> -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_PaymentsOfFinancingCosts</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_PaymentsToAcquireBusinessesNetOfCashAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 a business, net of the cash acquired from the purchase.</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 13<br> -Subparagraph (b)<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_PaymentsToAcquireBusinessesNetOfCashAcquired</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_ProceedsFromDivestitureOfBusinessesNetOfCashDivested">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 element represents the cash inflow during the period from the sale of a component of the entity.</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 12<br> -Subparagraph (b)<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_ProceedsFromDivestitureOfBusinessesNetOfCashDivested</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_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 additional capital contribution to the entity.</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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_ProceedsFromIssuanceOfCommonStock</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_ProceedsFromIssuanceOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 a debt initially having maturity due after one year or beyond the 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/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)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<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_ProceedsFromIssuanceOfLongTermDebt</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_RepaymentsOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 for debt initially having maturity due after one year or beyond 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/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 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_RepaymentsOfLongTermDebt</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667557779328">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Statements of Stockholders' Equity - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Additional Paid-In Capital</div></th>
<th class="th"><div>Retained Earnings</div></th>
<th class="th"><div>Accumulated Other Comprehensive (Loss) Income</div></th>
<th class="th"><div>Treasury Stock</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_SharesIssued', window );">Balance, shares at Dec. 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33,568,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,028,000<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 );">Balance at Dec. 31, 2020</a></td>
<td class="nump">$ 743,805<span></span>
</td>
<td class="nump">$ 336<span></span>
</td>
<td class="nump">$ 304,870<span></span>
</td>
<td class="nump">$ 469,943<span></span>
</td>
<td class="num">$ (2,461)<span></span>
</td>
<td class="num">$ (28,883)<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_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">75,629<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">75,629<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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">2,512<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,512<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_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax', window );">Adjustment to post-retirement healthcare benefit liability, net of taxes</a></td>
<td class="nump">136<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">136<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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock compensation expense</a></td>
<td class="nump">8,652<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,652<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement', window );">Net settlement of restricted stock units, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">192,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">79,000<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_rock_StockIssuedDuringPeriodValueRestrictedStockAwardSettlement', window );">Net settlement of restricted stock units</a></td>
<td class="num">$ (6,497)<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="num">(2)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (6,497)<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_StockIssuedDuringPeriodSharesOther', window );">Issuance of restricted stock, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,000<span></span>
</td>
<td class="text">&#160;<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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock options exercised, shares</a></td>
<td class="nump">36,500<span></span>
</td>
<td class="nump">36,000<span></span>
</td>
<td class="text">&#160;<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_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Common stock repurchased under stock repurchase program</a></td>
<td class="nump">$ 1,021<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,021<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_SharesIssued', window );">Balance, shares at Dec. 31, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33,799,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,107,000<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 );">Balance at Dec. 31, 2021</a></td>
<td class="nump">825,258<span></span>
</td>
<td class="nump">$ 338<span></span>
</td>
<td class="nump">314,541<span></span>
</td>
<td class="nump">545,572<span></span>
</td>
<td class="nump">187<span></span>
</td>
<td class="num">$ (35,380)<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_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1', window );">Minimum pension and post retirement benefit plan adjustments, net of taxes</a></td>
<td class="num">(43)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">82,406<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">82,406<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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="num">(5,022)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,022)<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_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax', window );">Adjustment to post-retirement healthcare benefit liability, net of taxes</a></td>
<td class="nump">1,403<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,403<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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock compensation expense</a></td>
<td class="nump">8,334<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,334<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement', window );">Net settlement of restricted stock units, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">245,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">95,000<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_rock_StockIssuedDuringPeriodValueRestrictedStockAwardSettlement', window );">Net settlement of restricted stock units</a></td>
<td class="num">(4,404)<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="num">(2)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (4,404)<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_StockIssuedDuringPeriodSharesOther', window );">Issuance of restricted stock, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,000<span></span>
</td>
<td class="text">&#160;<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_StockRepurchasedDuringPeriodShares', window );">Common stock repurchased under stock repurchase program (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,997,000<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_StockRepurchasedDuringPeriodValue', window );">Common stock repurchased under stock repurchase program</a></td>
<td class="num">(85,876)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (85,876)<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 );">Balance, shares at Dec. 31, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">34,060,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,199,000<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 );">Balance at Dec. 31, 2022</a></td>
<td class="nump">822,099<span></span>
</td>
<td class="nump">$ 340<span></span>
</td>
<td class="nump">322,873<span></span>
</td>
<td class="nump">627,978<span></span>
</td>
<td class="num">(3,432)<span></span>
</td>
<td class="num">$ (125,660)<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_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1', window );">Minimum pension and post retirement benefit plan adjustments, net of taxes</a></td>
<td class="num">(449)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">110,533<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">110,533<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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">1,204<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,204<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_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax', window );">Adjustment to post-retirement healthcare benefit liability, net of taxes</a></td>
<td class="nump">114<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">114<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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock compensation expense</a></td>
<td class="nump">9,750<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,750<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement', window );">Net settlement of restricted stock units, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">151,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">58,000<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_rock_StockIssuedDuringPeriodValueRestrictedStockAwardSettlement', window );">Net settlement of restricted stock units</a></td>
<td class="num">(3,362)<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="num">(2)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (3,362)<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_StockIssuedDuringPeriodSharesOther', window );">Issuance of restricted stock, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,000<span></span>
</td>
<td class="text">&#160;<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_StockRepurchasedDuringPeriodShares', window );">Common stock repurchased under stock repurchase program (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">521,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_StockRepurchasedDuringPeriodValue', window );">Common stock repurchased under stock repurchase program</a></td>
<td class="num">$ (25,181)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (25,181)<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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock options exercised, shares</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod', window );">Excise tax on repurchase of common shares</a></td>
<td class="num">$ (159)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (159)<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 );">Balance, shares at Dec. 31, 2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">34,219,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,778,000<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 );">Balance at Dec. 31, 2023</a></td>
<td class="nump">914,998<span></span>
</td>
<td class="nump">$ 342<span></span>
</td>
<td class="nump">$ 332,621<span></span>
</td>
<td class="nump">$ 738,511<span></span>
</td>
<td class="num">$ (2,114)<span></span>
</td>
<td class="num">$ (154,362)<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_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1', window );">Minimum pension and post retirement benefit plan adjustments, net of taxes</a></td>
<td class="num">$ (36)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Other Comprehensive Income Minimum Pension Liability Net Adjustment Tax 1</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;">rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_rock_StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Stock Issued During Period, Shares, Restricted Stock Award, Settlement</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;">rock_StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_rock_StockIssuedDuringPeriodValueRestrictedStockAwardSettlement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Stock Issued During Period, Value, Restricted Stock Award, Settlement</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;">rock_StockIssuedDuringPeriodValueRestrictedStockAwardSettlement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Treasury Stock, Value, Acquired, Excise Tax Amount, Cost Method</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;">rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 to additional paid-in capital (APIC) for recognition of cost 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>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 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481089/718-20-55-13<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481089/718-20-55-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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</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_IncreaseDecreaseInStockholdersEquityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 roll forward is a reconciliation of a concept from the beginning of a period to the end of a 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_IncreaseDecreaseInStockholdersEquityRollForward</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_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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</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 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</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_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 and reclassification adjustment, of (increase) decrease in accumulated other comprehensive income for defined benefit plan.</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 10A<br> -Subparagraph (i-k)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<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 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<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_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax</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_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_StockIssuedDuringPeriodSharesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 attributable to transactions classified as 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;">us-gaap_StockIssuedDuringPeriodSharesOther</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_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 share options (or share units) exercised during the current 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> -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 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 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><br>Reference 4: 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 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(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_StockIssuedDuringPeriodSharesStockOptionsExercised</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_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 of stock issued as a result of the exercise of stock options.</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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<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_StockIssuedDuringPeriodValueStockOptionsExercised</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_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_StockRepurchasedDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate 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/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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-4<br><br>Reference 4: 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 5: 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 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(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-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(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_StockRepurchasedDuringPeriodValue</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_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>24
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667561897664">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Stockholders' Equity (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_StatementOfStockholdersEquityAbstract', window );"><strong>Statement of Stockholders' Equity [Abstract]</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_rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1', window );">Minimum pension and post retirement benefit plan adjustments, net of taxes</a></td>
<td class="num">$ (36)<span></span>
</td>
<td class="num">$ (449)<span></span>
</td>
<td class="num">$ (43)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Other Comprehensive Income Minimum Pension Liability Net Adjustment Tax 1</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;">rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_StatementOfStockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementOfStockholdersEquityAbstract</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>25
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667561885712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_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_SignificantAccountingPoliciesTextBlock', window );">Summary Of Significant Accounting Policies</a></td>
<td class="text">SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Principles of consolidation</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The consolidated financial statements include the accounts of Gibraltar Industries, Inc. and subsidiaries (the "Company"). All intercompany accounts and transactions have been eliminated in consolidation.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Use of estimates</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of the consolidated financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and accompanying notes. Actual results could differ from those estimates due to uncertainty in the current economic environment.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Segment reporting</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has four reportable segments: Renewables, Residential, Agtech and Infrastructure. For further disclosure regarding the Company's reportable segments, refer to Note 20 "Segment Information."</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Revenue recognition</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue is recognized when, or as, the Company transfers control of promised products or services to a customer in an amount that reflects the consideration the Company expects to be entitled in exchange for transferring those products or services.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Performance obligations satisfied at a point in time and significant judgments</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue from contracts with customers is recognized when the Company transfers control of the promised product at a point in time, which is determined when the customer has legal title and the significant risks and rewards of ownership of the asset, and the Company has a present right to payment for the product.  The Company allocates the transaction price, which is generally the quoted price per terms of the contract and the consideration the Company expects to receive, to each performance obligation.  These products are generally sold with rights of return and these contracts may provide other credits or incentives, which are accounted for as variable consideration.  Sales returns, allowances, and customer incentives, including rebates, are treated as reductions to the sales transaction price and based largely on an assessment of all information (i.e., historical, current and forecasted) that is reasonably available to the Company, and estimated at contract inception and updated at the end of each reporting period as additional information becomes available.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Performance obligations satisfied over time and significant judgments</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For a contract to construct an asset that the customer controls as it is being created or enhanced, or a promise to provide a product that has no alternative use to the Company and the Company has enforceable rights to payment, the Company recognizes revenue over time.  For the contracts to construct a certain asset, the Company determines that the customer controls the asset while it is being constructed.  For the contracts for products that have no alternative use and for which the Company has an enforceable right to payment, the Company identifies these products as products that are not a standard inventory item or the Company cannot readily direct the product to another customer for use without incurring a significant economic loss, or significant costs to rework the product.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company determines the transaction price for each contract based on the consideration the Company expects to receive for the promised products and services under the entire contract, which is generally the stated contract price based on an expected cost plus a margin.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the above contracts with customers with respect to which the Company satisfies a performance obligation over time, the Company recognizes revenue based on the extent of progress towards completion of the performance obligation using the cost-to-cost measure of progress.  Under the cost-to-cost measure of progress, the extent of progress toward completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation.  Revenues are recognized proportionally as costs are incurred.  Costs to fulfill a contract include all direct costs related to contract performance.  Selling and administrative expenses are charged to operations as incurred.  Provision for loss on an uncompleted performance obligation is recognized in the period in which such loss is determined.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company regularly reviews the progress under the cost-to-cost method and any adjustments are recognized as necessary.  Changes in estimates are recognized as they become known using the cumulative catch-up basis.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company also recognizes revenues from services contracts over time.  The Company recognizes revenue over time during the term of the agreement as the customer is simultaneously receiving and consuming the benefits provided throughout the Company's performance. Therefore, due to control transferring over time, the Company recognizes revenue on a straight-line basis throughout the contract period.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contract assets and contract liabilities</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract assets primarily represents revenue recognized for performance obligations that have been satisfied but for which amounts receivable have not been billed.  These are included as current assets and included within accounts receivable on the Company's consolidated balance sheets.  Contract liabilities include payments received from customers in advance of the satisfaction of performance obligations for a contract.  The Company does not consider contract advances to be significant financing components as the intent of these payments in advance are for reasons other than providing a significant financing benefit and are customary in the Company's industry.  Unearned revenue relates to payments received in advance of performance under the contract and is recognized when the Company performs under the contract. Unearned revenue is presented within accrued expenses in the Company's consolidated balance sheets.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Costs to obtain a contract with a customer</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes an asset for the incremental costs of obtaining a contract with a customer if the Company expects the benefit of those costs to be longer than one year.  If the amortization period of the asset is one year or less, the Company recognizes the incremental costs of obtaining a contract as an expense when incurred.  These incremental costs include, but are not limited to, sales commissions incurred to obtain a contract with a customer.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Cash and cash equivalents</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">All highly liquid investments with a maturity of three months or less are considered cash equivalents.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Accounts receivable and allowance for doubtful accounts and contract assets</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable are composed of trade and contract receivables recorded at either the invoiced amount or costs in excess of billings, are expected to be collected within one year, and do not bear interest.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s expected loss allowance methodology for accounts receivable and costs in excess of billings (collectively "accounts receivable") is developed using historical collection experience, current and future economic and market conditions, and a review of the current status of customers' accounts receivables.  The Company is exposed to credit losses through sales of products and services.  Due to the short-term nature of such accounts receivable, the estimated amount of accounts receivable that may not be collected is based on aging of the accounts receivable balances.  Additionally, specific allowance amounts are established to record the appropriate provision for customers that no longer share risk characteristics similar with other accounts receivable. The Company&#8217;s monitoring activities include timely account reconciliation, dispute resolution, payment confirmation, consideration of customers' financial condition and macroeconomic conditions.  Balances are written off when determined to be u</span><span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ncollectible </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">after all means of collection have been exhausted and the potential for recovery is considered remote.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Estimates are used to determine the allowance. These estimates are based on assessment of anticipated payment and all other historical, current and future information that is reasonably available.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes activity recorded within the allowance for doubtful accounts and contract assets balances for the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:62.788%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.449%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.449%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.454%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Beginning balance</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,746&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,738&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,529&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Bad debt expense, net of recoveries</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,148&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,221&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">898&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts written off against allowance and other adjustments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,322)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,213)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(689)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Ending balance</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,572&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,746&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,738&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Concentrations of credit risk in accounts receivable are limited to those from significant customers that are believed to be financially sound. As of December&#160;31, 2023 and 2022, the Company's most significant customer is a home improvement retailer. The</span><span style="color:#291bff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">home improvement retailer purchases from the Residential segment.  Accounts receivable as a percentage of consolidated accounts receivable from the home improvement retailer was 13% and 14% as of December&#160;31, 2023 and 2022, respectively.  Net sales to the home improvement retailer as a percentage of consolidated net sales were 13%, 14%, and 13% during the years ended December&#160;31, 2023, 2022 and 2021, respectively.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Inventories</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories are valued at the lower of cost or net realizable value. Cost is determined using either the first-in, first-out method or the average costing method. Shipping and handling costs are recognized as a component of cost of sales.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Property, plant, and equipment</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property, plant, and equipment are stated at cost and depreciated over their estimated useful lives using the straight-line method. Interest is capitalized in connection with construction of qualified assets. Expenditures that exceed an established dollar threshold and that extend the useful lives of assets are capitalized, while repair and maintenance costs are expensed as incurred. The estimated useful lives of land improvements, buildings, and building improvements are 15 to 40 years, while the estimated useful lives for machinery and equipment are 3 to 20 years.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The table below sets forth the depreciation expense recognized during the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation expense</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,139&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,583&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,110&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Acquisition related assets and liabilities</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounting for the acquisition of a business as a purchase transaction requires an allocation of the purchase price to the assets acquired and the liabilities assumed in the transaction at their respective estimated fair values. The most complex estimations of individual fair values are those involving long-lived assets, such as property, plant, and equipment and intangible assets. The Company uses all available information to make these fair value determinations and engages independent valuation specialists to assist in the fair value determination of the acquired long-lived assets.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Goodwill and other intangible assets</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company tests goodwill for impairment at the reporting unit level on an annual basis at October&#160;31, or more frequently if an event occurs, or circumstances change, that indicate that the fair value of a reporting unit could be below its carrying value. The reporting units are at the component level, or one level below the operating segment level. Goodwill is assigned to each reporting unit as of the date the reporting unit is acquired.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company may elect to perform a qualitative assessment that considers economic, industry and company-specific factors for some or all of the Company's selected reporting units. If, after completing the assessment, it is determined that it is more likely than not that the fair value of a reporting unit is less than its carrying value, the Company proceeds to a quantitative test. The Company may also elect to perform a quantitative test instead of a qualitative test for any or all of the Company's reporting units.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The quantitative impairment test consists of comparing the fair value of a reporting unit, determined using two valuation techniques, to its carrying value. If the carrying value of the reporting unit exceeds its fair value, goodwill is considered impaired, and a loss measured by the excess of the carrying value of the reporting unit over the fair value of the reporting unit must be recorded.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company also tests its indefinite-lived intangible assets for impairment on an annual basis as of October&#160;31, or more frequently if an event occurs, or circumstances change, that indicate that the fair value of an indefinite-lived intangible asset could be below its carrying value. The impairment test consists of comparing the fair value of the indefinite-lived intangible asset, determined using discounted cash flows on a relief-from-royalty basis, with its carrying amount.  An impairment loss would be recognized for the carrying amount in excess of its fair value.  Acquired identifiable intangible assets are recorded at cost. Identifiable intangible assets with finite useful lives are </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">amortized over their estimated useful lives. For additional disclosure of the Company's goodwill and other intangible assets refer to Note 7 "Goodwill and Related Intangible Assets."</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Impairment of long-lived assets</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-lived assets, including acquired identifiable intangible assets with finite useful lives, are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of those assets may not be recoverable.  In specific situations, when the Company has selected individual assets to be sold or scrapped, the Company obtains market value data for those specific assets and measures and records the impairment loss based on such data. Otherwise, the Company uses undiscounted cash flows to determine whether impairment exists and measures any impairment loss by approximating fair value using acceptable valuation techniques, including discounted cash flow models and third-party appraisals. For additional disclosure on impairment of the Company's long-lived assets refer to Note 7 "Goodwill and Related Intangible Assets," Note 14 "Discontinued Operations" and Note 15 "Exit Activity Costs and Asset Impairments."</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Leases</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company determines if an agreement is, or contains, a lease at the inception of the agreement. At lease commencement, the Company recognizes a right-of-use asset and a lease liability for leases with terms greater than twelve months.  The initial lease liability is recognized at the present value of remaining lease payments over the lease term.  Leases with an initial term of twelve months or less are not recorded on the Company's consolidated balance sheets.  The Company recognizes lease expense for operating leases on a straight-line basis over the lease term.  The Company combines lease and non-lease components, such as common area maintenance costs, in calculating the related asset and lease liabilities for all underlying asset groups.  Operating lease cost is included in income from operations and includes short-term leases and variable lease costs which are immaterial.  Current operating lease liabilities are represented within accrued expenses on the Company's consolidated balance sheets.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Deferred charges</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred charges associated with initial costs incurred to enter into new debt arrangements are included as a component of long-term debt and are amortized as a part of interest expense over the terms of the associated debt agreements.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Advertising</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company expenses advertising and marketing costs as incurred. For the years ended December&#160;31, 2023, 2022 and 2021, advertising and marketing costs were $10.0 million, $10.9 million, and $8.0 million, respectively.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Foreign currency transactions and translation</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The assets and liabilities of the Company&#8217;s foreign subsidiaries are translated into U.S. dollars at the rate of exchange in effect at the balance sheet date. Income and expense items are translated at the average exchange rates prevailing during the period.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Income taxes</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The provision for income taxes is determined using the asset and liability approach. Under this approach, deferred income taxes represent the expected future tax consequences of temporary differences between the carrying amounts and tax basis of assets and liabilities. The Company records a valuation allowance to reduce deferred tax assets when uncertainty exists regarding their realization.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Equity-based compensation</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company measures the cost of equity-based compensation based on grant date fair value and recognizes the cost over the period in which the employee is required to provide service in exchange for the award reduced by forfeitures. Equity-based compensation consists of grants of stock options, deferred stock units, common stock, restricted stock units, and performance stock units. Equity-based compensation expense is included as a component of selling, general, and administrative expenses.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Earnings per share</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic earnings per share is calculated by dividing net income by the weighted average number of common shares outstanding during the period. Diluted earnings per share is calculated by adjusting the weighted average number of common shares outstanding, as well as dilutive common shares which include shares issuable pursuant to equity based incentive compensation awards under the equity compensation plans described in Note 12 "Equity-Based Compensation."</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Recent accounting pronouncements</span></div><div style="margin-bottom:10pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Recent Accounting Pronouncements Not Yet Adopted</span></div><div style="margin-top:4pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:19.367%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:37.935%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:37.938%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Standard</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Description</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financial Statement Effect or Other Significant Matters</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ASU No. 2023-07</span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures</span></div></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In November 2023, the Financial Accounting Standards Board ("FASB") issued Accounting Standard Update ("ASU") No. 2023-07, which requires a public entity to disclose significant segment expenses and other segment items on an annual and interim basis and provide in interim periods all disclosures about a reportable segment&#8217;s profit or loss and assets that are currently required annually. Additionally, it requires a public entity to disclose the title and position of the Chief Operating Decision Maker ("CODM"). The ASU does not change how a public entity identifies its operating segments, aggregates them, or applies the quantitative thresholds to determine its reportable segments. <br/></span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The amendments in the ASU are effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024, with early adoption permitted. A public entity should apply the amendments in this ASU retrospectively to all prior periods presented in the financial statements. The Company expects this ASU to only impact its disclosures with no impacts to the Company's results of operations, cash flows and financial condition. The Company's planned date of adoption is January 1, 2024.</span></div><div style="text-align:justify"><span><br/></span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ASU No. 2023-09</span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Income Taxes (Topic 740): Improvements to Income Tax Disclosures</span></div></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2023, the FASB issued ASU No. 2023-09, which focuses on the rate reconciliation and income taxes paid.  This ASU requires a public business entity ("PBE") to disclose, on an annual basis, a tabular rate reconciliation using both percentages and currency amounts, broken out into specified categories with certain reconciling items further broken out by nature and jurisdiction to the extent those items exceed a specified threshold. In addition, all entities are required to disclose income taxes paid, net of refunds received disaggregated by federal, state/local, and foreign and by jurisdiction if the amount is at least 5% of total income tax payments, net of refunds received.<br/></span></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For PBEs, the amendments in this ASU are effective for annual periods beginning after December 15, 2024, with early adoption permitted. An entity may apply the amendments in this ASU prospectively by providing the revised disclosures for the period ending December 31, 2025 and continuing to provide the pre-ASU disclosures for the prior periods, or may apply the amendments retrospectively by providing the revised disclosures for all period presented. The Company expects this ASU to only impact the Company's disclosures with no impacts to the Company's results of operations, cash flows, and financial condition.  The Company's planned date of adoption is January 1, 2025.</span></div><div style="text-align:justify"><span><br/></span></div></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company determined that all other ASUs effective in or after 2023 that are not listed above are either not applicable or will not have a material impact on the Company's consolidated financial statements and related disclosures.</span></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_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_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 all significant accounting policies of the reporting entity.</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 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//235/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_SignificantAccountingPoliciesTextBlock</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>26
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667652801616">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue (Notes)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_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</a></td>
<td class="text">REVENUE<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Sales includes revenue from contracts with customers for designing, engineering, manufacturing and installation of solar racking systems; electrical balance of systems; roof and foundation ventilation products; centralized mail systems and electronic package solutions; rain dispersion products; trims and flashings and other accessories; retractable awnings; gutter guards; designing, engineering, manufacturing and installation of greenhouses; structural bearings; expansion joints; pavement sealant; elastomeric concrete; and bridge cable protection systems.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Refer to Note 20 "Segment Information" for additional information related to revenue recognized by timing of transfer of control by reportable segment.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Payment terms and conditions vary by contract, although terms generally include a requirement of payment within a range from 30 to 60 days, or in certain cases, up front deposits.  In circumstances where the timing of revenue recognition differs from the timing of invoicing, the Company has determined that the Company's contracts generally do not include a significant financing component. Taxes collected from customers, which are subsequently remitted to governmental authorities, are excluded from sales.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December 31, 2023, the Company's remaining performance obligations are part of contracts that have an original expected duration of one year or less.  Additionally, as of December 31, 2023 and 2022, there were no assets recognized related to incremental costs of obtaining a contract with a customer as the benefits of these costs are not expected to exceed one year.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract assets consist of costs in excess of billings presented within accounts receivable in the Company's consolidated balance sheets. Contract liabilities consist of billings in excess of costs, classified as current liabilities, and unearned revenue, presented within accrued expenses, in the Company's consolidated balance sheets.  </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the ending and beginning balances of costs in excess of billings, billings in excess of cost and unearned revenue, respectively, as of December 31 (in thousands):</span></div><div style="margin-top:3pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:51.176%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.318%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.318%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.320%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Costs in excess of billings</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,035&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,732&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54,437&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Billings in excess of costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(44,735)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(35,017)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(46,711)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unearned revenue</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,941)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,572)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,681)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue recognized during the years ended December 31, 2023, 2022, and 2021 that was in contract liabilities at the beginning of the respective periods was $35.5&#160;million, $44.4&#160;million, and $53.0&#160;million, respectively.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">The increase in costs in excess of billings as of December 31, 2023 compared to December 31, 2022 was primarily due to the timing of the Company&#8217;s right to invoice customers for performance satisfied near the end of 2023.  The increase in billings in excess of costs as of December 31, 2023 compared to December 31, 2022 was primarily due to timing and an increase in number of contracts under which the Company has billed customers in advance of the satisfaction of performance obligations in the Renewables segment near the end of 2023.  The decreases in costs </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">in excess of billings and billings in excess of costs as of December 31, 2022 compared to December 31, 2021, respectively, were primarily due to decline in volume in the Renewables and Agtech segments in 2022 compared to 2021.</span></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>27
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667564176224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounts Receivable<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_ReceivablesAbstract', window );"><strong>Receivables [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_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock', window );">Accounts Receivable</a></td>
<td class="text">ACCOUNTS RECEIVABLE, NET<div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable at December 31 consisted of the following (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:55.938%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.014%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.015%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 4.37pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trade accounts receivable</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">178,087&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">179,170&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Costs in excess of billings</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,035&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,732&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total accounts receivables</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">230,122&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">220,902&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less allowance for doubtful accounts</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,572)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,746)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">224,550&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">217,156&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Refer to Note 3 "Revenue" concerning the Company's costs in excess of billings.</span></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_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 claims held for amounts due a entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses.</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 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//310-10/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_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock</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_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ReceivablesAbstract</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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667565228192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories, Net<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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>
</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">INVENTORIES, NET<div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories at December&#160;31 consisted of the following (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:72.692%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.639%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Raw material</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77,489&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111,187&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Work-in-process</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,508&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,944&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,942&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47,523&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross inventory</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">129,939&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">176,654&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less reserves</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(9,436)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,294)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total inventories</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">120,503&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">170,360&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's gross inventory balances are reduced by reserves for excess, obsolete and slow moving inventory and estimates for determining net realizable value of the inventory that are reported on a net basis on the </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Company's consolidated balance sheets.</span></div><div style="margin-top:12pt;text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes activity recorded within the reserve for excess, obsolete and slow moving inventory for the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,179&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,400&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,161&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Excess, obsolete and slow moving inventory expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,243&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,582&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">215&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Scrapped inventory and other adjustments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,044)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">197&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,378&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,179&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,400&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></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>29
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667565228192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property, Plant, and Equipment, Net<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [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_PropertyPlantAndEquipmentDisclosureTextBlock', window );">Property, Plant, and Equipment</a></td>
<td class="text">PROPERTY, PLANT, AND EQUIPMENT, NET<div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Components of property, plant, and equipment at December&#160;31 consisted of the following (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:72.692%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.639%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Land and land improvements</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,544&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,704&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Building and improvements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,732&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,416&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Machinery and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">231,275&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">223,843&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Construction in progress</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,391&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,065&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property, plant, and equipment, gross</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">296,942&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">285,028&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: accumulated depreciation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(189,339)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(175,444)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property, plant, and equipment, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">107,603&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">109,584&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></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_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentAbstract</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_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</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 360<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//360/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-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_PropertyPlantAndEquipmentDisclosureTextBlock</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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667559892448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_BusinessCombinationsAbstract', window );"><strong>Business Combinations [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_BusinessCombinationDisclosureTextBlock', window );">Acquisitions</a></td>
<td class="text">ACQUISITIONS<div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline">2023 Acquisition</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On July 5, 2023, the Company acquired the assets of a privately held Utah-based company that manufactures and distributes roof flashing and accessory products, and sells direct to roofing wholesalers. The results of this acquisition have been included in the Company's consolidated financial results since the date of acquisition within the Company's Residential segment.  The preliminary purchase consideration for this acquisition was $10.4&#160;million, which includes a preliminary working capital adjustment and certain other adjustments provided for in the asset purchase agreement.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The purchase price for the acquisition was preliminarily allocated to the assets acquired and liabilities assumed based upon their respective fair values estimated as of the date of acquisition.  The Company has commenced the process to confirm the existence, condition, and completeness of the assets acquired and liabilities assumed to establish fair value of such assets and liabilities and to determine the amount of goodwill to be recognized as of the date of acquisition.  Due to the timing of the acquisition, the Company continues to gather information supporting the acquired assets and assumed liabilities.  Accordingly, all amounts recorded are provisional.  These provisional amounts are subject to change if new information is obtained concerning facts and circumstances that existed as of the acquisition date that, if known, would have affected the measurement of the amounts recognized as of that date.  The final determination of the fair value of certain assets and liabilities will be completed within a measurement period of up to one year from the date of acquisition. The final values may also result in changes to depreciation and amortization expense related to certain assets such as property, plant, and equipment and acquired intangible assets.  The preliminary excess consideration was recorded as goodwill and approximated $4.1&#160;million, all of which is deductible for tax purposes.  Goodwill represents future economic benefits arising from other assets acquired that could not be individually identified including workforce additions, growth opportunities, and increased presence in the domestic building products markets. The final purchase price allocation will be completed no later than the third quarter of fiscal year 2024.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preliminary allocation of the purchase consideration to the estimated fair value of the assets acquired and liabilities assumed is as follows as of the date of the acquisition (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:85.011%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.789%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Working capital</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">827&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property, plant, and equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">195&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquired intangible assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,200&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">134&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(72)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,133&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair value of purchase consideration</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,417&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The intangible assets acquired in this acquisition consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:66.005%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.323%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair&#160;Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-Average Amortization Period</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">300&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2 years</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,900&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12 years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,200&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline">2022 Acquisition</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On August 22, 2022, the Company purchased all the issued and outstanding membership interests of Quality Aluminum Products ("QAP"), a manufacturer of aluminum and steel products including soffit, fascia, trim coil, rain carrying products and aluminum siding. The results of QAP have been included in the Company's consolidated financial results since the date of acquisition within the Company's Residential segment.  The purchase consideration for the acquisition of QAP was $52.1&#160;million, which includes a working capital adjustment and certain other adjustments provided for in the membership interest purchase agreement.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The purchase price for the acquisition was allocated to the assets acquired and liabilities assumed based upon their respective fair values estimated as of the date of acquisition.  The Company has completed the process to confirm the existence, condition, and completeness of the assets acquired and liabilities assumed to establish fair value of such assets and liabilities and to determine the amount of goodwill to be recognized as of the date of acquisition. The excess consideration was recorded as goodwill and approximated $4.0&#160;million, all of which is deductible for tax purposes.  Goodwill represents future economic benefits arising from other assets acquired that could not be individually identified including workforce additions, growth opportunities, and increased presence in the domestic building products markets.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The allocation of the purchase consideration to the estimated fair value of the assets acquired and liabilities assumed is as follows as of the date of the acquisition (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:85.011%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.789%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,018&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Working capital</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,372&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property, plant, and equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,486&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquired intangible assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,700&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,813&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,295)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,991&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair value of purchase consideration</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,085&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The intangible assets acquired in this acquisition consisted of the following as of the date of acquisition (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:51.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.221%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:25.218%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair&#160;Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-Average Amortization Period</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,800&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Indefinite</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,900&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12 years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,700&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The acquisition of the privately held Utah-based company and the acquisition of QAP were financed primarily through borrowings under the Company's revolving credit facility. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognized costs as a component of cost of sales related to the sale of inventory at fair value as a result of allocating the purchase price of recent acquisitions. The Company also incurred certain acquisition-related costs comprised of legal and consulting fees.  These costs were recognized as a component of selling, general, and administrative expenses in the consolidated statements of income. </span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The acquisition-related costs consisted of the following for the years ended December 31 (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:53.445%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.562%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.562%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.565%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of sales</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,427&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general and administrative costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">253&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">545&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">949&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total acquisition related costs</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">265&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,972&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">949&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></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_BusinessCombinationDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).</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 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-5<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 805<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//805/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_BusinessCombinationDisclosureTextBlock</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_BusinessCombinationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BusinessCombinationsAbstract</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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667559810656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Related Intangible Assets<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_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 Related Intangible Assets</a></td>
<td class="text">GOODWILL AND RELATED INTANGIBLE ASSETS<div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline">Goodwill</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The changes in the carrying amount of goodwill for the years ended December&#160;31 were as follows (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:33.841%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.335%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Renewables</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Residential</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Agtech</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Infrastructure</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2021</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">188,680&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">205,452&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">85,132&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,678&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">510,942&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquired goodwill</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,604&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,604&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Adjustment to prior year acquisition</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">904&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">904&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,554)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,533)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,087)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">188,030&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">209,056&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">83,599&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,678&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">512,363&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquired goodwill</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,133&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,133&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Adjustment to prior year acquisition</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">387&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">387&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,132)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">300&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(832)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sale of business</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,668)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,668)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2023</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">184,230&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">213,576&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">83,899&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,678&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">513,383&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill is recognized net of accumulated impairment losses of $133.2 million as of December&#160;31, 2023 and 2022, respectively.  No goodwill impairment charges were recognized by the Company during 2023 or 2022.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline">Annual and Interim Impairment Testing</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company tests goodwill and indefinite-lived intangible assets for impairment on an annual basis as of October&#160;31 and at interim dates when indicators of impairment are present. In 2023, 2022 and 2021, no indicators of impairment were identified as of interim dates; therefore, no interim tests were performed.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the October 31, 2023 impairment test, the Company conducted a quantitative analysis for all seven of the Company&#8217;s reporting units. The quantitative impairment test consists of comparing the fair value of a reporting unit with its carrying value including goodwill. The fair value of each reporting unit evaluated under the quantitative test was determined using two valuation techniques: an income approach and a market approach. Each valuation approach relies on significant assumptions including a weighted average cost of capital ("WACC") based upon the capital structure of market participants in the Company&#8217;s peer groups, projected revenue growth, forecasted cash flows, and earnings multiples based on the market value of the Company and market participants within its peer groups.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of the Company's annual testing for 2023, 2022 and 2021, none of the reporting units with goodwill as of the testing date had carrying values in excess of their fair values.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline">Acquired Intangible Assets</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Acquired intangible assets consisted of the following (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.829%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.624%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross<br/>Carrying<br/>Amount</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross<br/>Carrying<br/>Amount</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Indefinite-lived intangible assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,300&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">55,500&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finite-lived intangible assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,773&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,714&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,448&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,481&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unpatented technology</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,133&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,295&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,163&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,037&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">110,649&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,088&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115,125&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,557&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,376&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,154&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,371&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,006&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">152,931&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,251&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">157,107&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75,081&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total acquired intangible assets</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">205,231&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,251&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">212,607&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75,081&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the year ended December 31, 2023, the Company recognized <span style="-sec-ix-hidden:f-645">impairment charges</span> of $3.8&#160;million related to indefinite-lived trademark intangible assets due to a rebranding initiative that resulted in the discontinuation of certain indefinite-lived trademarks in the Agtech segment, along with the write-off of amortizing intangibles related to a discontinued product line in the Renewables segment. The Company recognized no impairment charges related to intangible assets during the year ended December 31, 2022.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognized amortization expense related to the definite-lived intangible assets. The following table summarizes amortization expense for the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"></td><td style="width:59.047%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.695%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization expense</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,239&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,584&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,856&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortization expense related to acquired intangible assets for the next five years ended December&#160;31 is estimated as follows (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:45.401%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.666%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.966%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.666%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.966%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.666%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.966%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.666%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.966%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.671%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2026</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2027</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2028</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization expense</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,599&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,386&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,320&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,979&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,184&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></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>32
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667559781200">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued Expenses<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_AccruedLiabilitiesCurrentAbstract', window );"><strong>Accrued Liabilities, Current [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_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock', window );">Accrued Expenses</a></td>
<td class="text">ACCRUED EXPENSES<div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued expenses at December&#160;31 consisted of the following (in thousands): </span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:72.692%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.639%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Compensation</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,893&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,277&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer rebates</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,497&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,768&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><span style="-sec-ix-hidden:f-664"><span style="-sec-ix-hidden:f-665">Current operating lease liability</span></span></span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,278&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,620&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Product warranties</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,139&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,251&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Insurance</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,307&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,440&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest and taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,167&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,696&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,438&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,669&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total accrued expenses</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">88,719&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,721&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div>Accrued expenses for compensation includes salaries, benefits, and short-term or current portions of incentives and bonuses. Accrued expenses for insurance are primarily for general liability, workers&#8217; compensation and employee healthcare policies for which the Company is self-insured up to certain per-occurrence and aggregate limits.<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_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 and accrued liabilities 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>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(a),20,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_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock</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_AccruedLiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccruedLiabilitiesCurrentAbstract</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>33
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667559810656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_LongTermDebtAbstract', window );"><strong>Long-Term Debt, Unclassified [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_LongTermDebtTextBlock', window );">Debt</a></td>
<td class="text">DEBT<div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company had no outstanding debt as of December 31, 2023 and unamortized debt issuance costs, included in other assets on the consolidated balance sheet, were $1.7&#160;million.  As of December 31, 2022, the Company's total outstanding debt was $88.8&#160;million, which included $91.0&#160;million on the Company's revolving credit facility net of $2.2&#160;million in unamortized debt issuance costs.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Revolving Credit Facility</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On December 8, 2022, the Company entered into a Credit Agreement (the "Credit Agreement"), and concurrently with entering into the Credit Agreement, the Company paid off all amounts owed under the Sixth Amended and Restated Credit Agreement (the "Prior Credit Agreement") dated as of January 24, 2019, which was terminated without any prepayment penalties. The Credit Agreement provides for a revolving credit facility and letters of credit in an aggregate amount equal to $400&#160;million. The Company can request additional financing to increase the revolving credit facility to $700&#160;million or enter into a term loan of up to $300&#160;million subject to conditions set forth in the Credit Agreement.  The Credit Agreement contains two financial covenants.  As of December 31, 2023, the Company was in compliance with all financial covenants.  The Credit Agreement terminates on December 8, 2027.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Borrowings under the Credit Agreement bear interest, at the Company&#8217;s option, at a rate equal to the applicable margin plus (a) a base rate, (b) a daily simple secured overnight financing rate ("SOFR") rate, (c) a term SOFR rate or (d) for certain foreign currencies, a foreign currency rate, in each case subject to a 0% floor. Through March 31, 2023, the Credit Agreement had an initial applicable margin of 0.125% for base rate loans and 1.125% for SOFR and alternative currency loans. Thereafter, the applicable margin ranges from 0.125% to 1.00% for base rate loans and from 1.125% to 2.00% for SOFR and alternative currency loans based on the Company&#8217;s Total Net Leverage Ratio, as defined in the Credit Agreement. In addition, the Credit Agreement is subject to an annual commitment fee, payable quarterly, which was initially 0.20% of the daily average undrawn balance of the revolving credit facility and, from and after April 1, 2023, ranges between 0.20% and 0.25% of the daily average undrawn balance of the revolving credit facility based on the Company&#8217;s Total Net Leverage Ratio.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Borrowings under the Credit Agreement are secured by the trade receivables, inventory, personal property, equipment, and general intangibles of the Company&#8217;s significant domestic subsidiaries. Capital distributions are subject to certain Total Net Leverage Ratio requirements and capped by an annual aggregate limit under the Credit Agreement.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Prior Credit Agreement provided a revolving credit facility and letters of credit in an aggregate amount equal to $400 million.  Interest rates on the revolving credit facility under the Prior Credit Agreement were based on LIBOR plus an additional margin that ranges from 1.125% to 2.00%.  In addition, the revolving credit facility under the Prior Credit Agreement was subject to an undrawn commitment fee ranging between 0.15% and 0.25% based on the Total Leverage Ratio and the daily average undrawn balance. The Prior Credit Agreement terminated on December 8, 2022.</span></div><div style="margin-top:12pt;text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Standby letters of credit of $3.9 million have been issued under the Credit Agreement to third parties on behalf of the Company as of December&#160;31, 2023. These letters of credit reduce the amount otherwise available under the Credit Agreement's revolving credit facility. The Company had $396.1 million and $304.5 million of availability under the revolving credit facility as of December 31, 2023 and 2022, respectively.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total cash paid for interest in the years ended December&#160;31 was (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:59.133%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.765%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.623%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense, net</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,002&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,047&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,639&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 1.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest income </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">679&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">174&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">269&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 1.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other adjustments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(128)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(679)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(345)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash paid for interest</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,553&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,542&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,563&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td></tr></table></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_LongTermDebtAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LongTermDebtAbstract</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_LongTermDebtTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 long-term debt.</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 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//470/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_LongTermDebtTextBlock</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>34
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667559614352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pension and Other Postretirement Benefits<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_rock_OtherPostretirementBenefitsAbstract', window );"><strong>Other Postretirement Benefits [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_PostemploymentBenefitsDisclosureTextBlock', window );">Pension and Other Postretirement Benefits</a></td>
<td class="text">PENSION AND OTHER POSTRETIREMENT BENEFITS<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has a 401(k) plan in which all employees of U.S. subsidiaries are eligible to participate.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company contributes to a multiemployer defined benefit pension plan under the terms of a collective-bargaining agreement that covers union-represented employees.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has an unfunded postretirement healthcare plan which provides health insurance to certain retired employees and their spouses. This plan has been frozen, no current employees participate and no additional participants will be added to the plan in the future.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total expense for all retirement plans for the years ended December&#160;31 was (in thousands):</span></div><div style="margin-top:3pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:44.075%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.443%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.443%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.449%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">401(k) plan</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,804&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,580&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,196&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Multiemployer and other defined benefit and pension plans</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">92&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">78&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Postretirement healthcare plan</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">251&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">342&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">411&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total retirement plan expense</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,147&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,001&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,685&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's one multiemployer plan is underfunded and has a rehabilitation plan in place. The rehabilitation plan requires minimum contributions from the Company. Given the status of this plan, it is reasonably possible that future contributions to the plan will increase although the Company cannot reasonably estimate a possible range of increased contributions as of December&#160;31, 2023.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the changes in the accumulated postretirement benefit obligation related to the Company&#8217;s unfunded postretirement healthcare benefits at December&#160;31 (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:62.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.495%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.496%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Projected benefit obligation at January&#160;1</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,229&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,202&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">194&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">127&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Actuarial loss (gain)</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,784)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Benefits paid, net of contributions</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(274)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(316)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Projected benefit obligation at December&#160;31</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,208&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,229&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair value of plan assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Under funded status</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,208)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,229)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unamortized prior service cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">292&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">352&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unrecognized actuarial (gain)</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(219)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(278)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net amount recognized</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,135)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,155)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amounts recognized in the consolidated financial statements consisted of (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:62.788%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.590%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.592%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued postretirement benefit liability:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current portion</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">357&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">353&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long term portion</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,851&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,876&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pre-tax accumulated other comprehensive loss &#8211; unamortized post-retirement healthcare costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(73)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(74)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net amount recognized</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,135&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,155&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The measurement date used to determine postretirement benefit obligation measures was December&#160;31.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Components of net periodic postretirement benefit cost charged to expense for the years ended December&#160;31 were as follows (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest cost</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">194&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">127&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">125&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of unrecognized prior service cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss amortization (</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">113&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net periodic benefit cost</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">254&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">211&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">282&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Assumptions used to calculate the benefit obligation:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Discount rate</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.7&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Annual rate of increase in the per capita cost of:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:20.25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Medical costs before age 65 (</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:20.25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Medical costs after age 65 (</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.6&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.5&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.5&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:20.25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prescription drug costs (</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-top:6pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)  For 2023 and 2022, it was assumed that these rates would gradually decline to 4.0% by 2075.  For 2021, it was assumed that these rates would gradually decline to 3.8% by 2075.</span></div><div style="margin-top:3pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)  Actuarial losses are amortized utilizing the corridor approach. Differences between actual experience and the actuarial assumptions are reflected in (gain)/loss. If the total net (gain) or loss exceeds 10 percent of the greater of the accumulated postretirement benefit obligation or plan assets, this excess must be amortized over the average remaining service period of the active plan participants. If most of the plan participants are inactive, the amortization period is the expected future lifetime of inactive plan participants.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expected benefit payments from the plan for the years ended December&#160;31 are as follows (in thousands):</span></div><div style="margin-top:3pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:24.010%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.060%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.913%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.060%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.060%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.060%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.733%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2026</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2027</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2028</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Years 2029 - 2033</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected benefit payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">357&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">370&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">362&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">361&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">356&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,646&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_OtherPostretirementBenefitsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Other Postretirement Benefits [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;">rock_OtherPostretirementBenefitsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_PostemploymentBenefitsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 postemployment benefits, which may include supplemental unemployment benefits, obligations recognized for all types of benefits provided to former or inactive employees, their beneficiaries, and covered dependents after employment but before retirement. Disclosure may also include discussion that an obligation for postemployment benefits is not accrued in accordance with regulation only because the amount cannot be reasonably estimated.</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 712<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//712/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 712<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481565/712-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_PostemploymentBenefitsDisclosureTextBlock</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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667656651344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accumulated Other Comprehensive (Loss) Income<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract', window );"><strong>Accumulated Other Comprehensive Income (Loss), Net of Tax [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_ComprehensiveIncomeNoteTextBlock', window );">Accumulated Other Comprehensive Income (Loss)</a></td>
<td class="text">ACCUMULATED OTHER COMPREHENSIVE (LOSS) INCOME<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The cumulative balance of each component of accumulated other comprehensive (loss) income is as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:29.601%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.958%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.180%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.449%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.550%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Foreign<br/>Currency<br/>Translation<br/>Adjustment</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Postretirement<br/>Benefit Plan<br/>Adjustments</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total Pre-<br/>Tax Amount</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Tax Benefit<br/>(Expense)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accumulated<br/>Other<br/>Comprehensive<br/>(Loss) Income</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2021</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,640&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,247)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(607)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">794&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">187&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Postretirement benefit plan adjustments</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,852&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,852&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(449)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,403&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation adjustment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,022)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,022)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,022)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2022</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,382)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(395)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,777)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">345&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,432)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Postretirement benefit plan adjustments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(36)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">114&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation adjustment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,204&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,204&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,204&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2023</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,178)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(245)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,423)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">309&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,114)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The realized adjustments relating to the Company&#8217;s minimum post retirement health care costs were reclassified from accumulated other comprehensive loss and included in other expense in the consolidated statements of income.</span></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_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract</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_ComprehensiveIncomeNoteTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 comprehensive income, which includes, but is not limited to, 1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive income.</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(19))<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 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 3: 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(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//220/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_ComprehensiveIncomeNoteTextBlock</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>36
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667559892448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity-Based Compensation<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_ShareBasedCompensationAbstract', window );"><strong>Share-Based Payment Arrangement, Noncash Expense [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 );">Equity-Based Compensation</a></td>
<td class="text">EQUITY-BASED COMPENSATION<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company awards equity-based compensation to employees and directors, which is recognized in the statements of income based on the grant-date fair value of the award. The Company uses the straight-line method for recording compensation expense over a vesting period generally up to four years with either graded or cliff vesting. Stock compensation expense recognized during the period is based on the value of the portion of equity-based awards that is ultimately expected to vest during the period reduced by the expense on unvested awards forfeited during the period. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On May 3, 2023, the stockholders of the Company approved the adoption of the Gibraltar Industries, Inc. Amended and Restated 2018 Equity Incentive Plan (the "Amended 2018 Plan") which increases the total number of shares available for issuance by the Company from 1,000,000 shares to 1,550,000 shares. In addition, 81,707 shares that were unissued and available for grant under the Gibraltar Industries, Inc. 2015 Equity Incentive Plan (the "2015 Plan") were consolidated with the Amended 2018 Plan. No further grants will be made under the 2015 Plan. The Amended 2018 Plan allows the Company to grant equity-based incentive compensation awards, in the form of non-qualified options, restricted shares, restricted stock units, performance shares, performance stock units, and stock rights to eligible participants.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On May 4, 2022, the stockholders of the Company approved the adoption of the Gibraltar Industries, Inc. Amended and Restated 2016 Stock Plan for Non-Employee Directors ("Non-Employee Directors Plan") which increases the total number of shares for issuance by the Company thereunder from 100,000 shares to 200,000 shares, allows the Company to grant awards of shares of the Company's common stock to current non-employee Directors of the Company, and permits the Directors to defer receipt of such shares pursuant to the terms of the Non-Employee Directors Plan.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2023, approximately 885,000 shares were available for issuance under the Amended 2018 Plan as incentive stock options or other stock awards, and approximately 86,000 shares were available for issuance under the Non-Employee Directors Plan as awards of shares of the Company's common stock.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The compensation cost for employee and non-employee director equity-based compensation plans for all current and prior year awards granted along with the related tax benefits recognized during the years ended December 31 (in thousands) were as follows:</span></div><div style="margin-top:6pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"></td><td style="width:59.047%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.695%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total stock compensation expense</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,750&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,334&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,652&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Tax benefits recognized related to stock compensation expense</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,516&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,175&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,189&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline">Equity Based Awards - Settled in Stock</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides the number of stock units and common stock granted during the years ended December&#160;31, along with the weighted-average grant-date fair value of each award:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:27.199%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.457%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.776%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.457%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.776%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.457%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.780%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">Awards</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Number<br/>of Awards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant&#160;Date<br/>Fair Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Number<br/>of Awards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant&#160;Date<br/>Fair Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Number<br/>of Awards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant&#160;Date<br/>Fair Value</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Deferred stock units</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">6,351&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">54.33&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">2,460&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">42.69&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">7,536&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">83.58&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Common stock</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">8,468&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">54.33&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">15,652&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">42.49&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">2,512&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">83.58&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Restricted stock units</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">99,820&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">61.93&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">132,430&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">43.92&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">72,243&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">79.28&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Performance stock units (1)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">85,323&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">53.22&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">108,464&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">47.00&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">62,778&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">87.84&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1) The Company&#8217;s performance stock units (&#8220;PSUs&#8221;) represent shares granted for which the final number of shares earned depends on financial performance.  The number of shares to be issued may vary between 0% and 200% of the number of PSUs granted depending on the relative achievement to targeted thresholds.  The Company's PSUs with a financial performance condition are based on the Company&#8217;s return on invested capital (&#8220;ROIC&#8221;) over a one-year period performance period.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Stock Options</span></div><div style="margin-bottom:12pt;margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No options were granted during the years ended December 31, 2023, 2022 and 2021.  The Company determines the fair value of stock options granted based on the Black-Scholes option pricing model on the date of grant, and the expected stock volatility is based on volatility of the Company&#8217;s stock price using a historical period commensurate with the expected life of the options.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2023, the Company has one grant of options outstanding.  The following table summarizes the Company's outstanding and exercisable options at December&#160;31, 2023:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:28.578%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.350%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.835%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.911%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.919%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">Exercise Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Options<br/>Outstanding</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Remaining<br/>Contractual Life<br/>(in years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Exercise<br/>Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Options<br/>Exercisable</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Exercise<br/>Price</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$39.55</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">5,000&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">3.26</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">39.55&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">5,000&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">39.55&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes information about stock option transactions:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"></td><td style="width:32.478%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.953%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.953%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.953%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.955%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Options</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Exercise<br/>Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Remaining Contractual<br/>Life (in&#160;years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Aggregate<br/>Intrinsic&#160;Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Balance at January&#160;1, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">41,500&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">29.38&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Exercised</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">(36,500)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">27.99&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Balance at December 31, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">5,000&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">39.55&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Exercised</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Balance at December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">5,000&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">39.55&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Exercised</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Balance at December 31, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">5,000&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">39.55&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">3.26</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">197,150&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The aggregate intrinsic value in the preceding table represents the total pre-tax intrinsic value, based on the $78.98 per share market price of the Company&#8217;s common stock as of December&#160;31, 2023, which would have been received by the option holder had the option holder exercised the options as of that date.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Stock Units and Common Stock</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes information about non-vested restricted stock units and performance stock units (that will convert to shares upon vesting) and common stock:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:15.566%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.695%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.525%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.525%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.998%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Restricted<br/>Stock<br/>Units</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant&#160;Date<br/>Fair Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Common<br/>Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant&#160;Date<br/>Fair Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Performance<br/>Stock Units</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant&#160;Date<br/>Fair Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Deferred<br/>Stock<br/>Units (2)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant&#160;Date<br/>Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Balance at December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">235,370&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">49.87&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">211,368&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50.96&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,350&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">45.16&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">99,820&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">61.93&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,468&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">54.33&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">85,323&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53.22&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,351&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">54.33&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Adjustments (1)</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(70,610)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50.72&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(77,312)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53.37&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(8,468)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">54.33&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(71,106)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">51.74&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2,222)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36.47&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(24,908)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50.99&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(18,729)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">49.69&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Balance at December 31, 2023</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">232,970&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53.75&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">136,246&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">52.27&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,479&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46.90&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1) (i) 40,610 units of the Company's PSUs granted in 2022 were adjusted in the first quarter of 2023 to reflect 60.5% of the target amount granted based on the Company's actual ROIC compared to ROIC target for the performance period ended December&#160;31, 2022; and (ii) 30,000 units of the Company's TSR PSUs granted in 2020 for which the performance condition was not achieved and the PSUs were adjusted in the first quarter of </span></div><div style="margin-top:6pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2023 to reflect zero earned as the threshold level of achievement was not met based on performance criteria as defined in the respective awards over a three-year performance period which ended March 1, 2023.</span></div><div style="margin-top:6pt;padding-left:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2) Vested and issuable upon termination from service as a member of the Company's Board of Directors.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of the common stock, restricted stock units, and deferred stock units, as well as the performance stock units with a financial performance condition granted during the three years ended December&#160;31, 2023 was based on the Company's stock price at grant date of the award. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the aggregate intrinsic value of options exercised and aggregate fair value of restricted stock units and restricted shares that vested during the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Aggregate intrinsic value of options exercised</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">2,103&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Aggregate fair value of vested restricted stock units</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">4,740&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">3,920&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">6,320&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Aggregate fair value of vested common stock</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">460&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">665&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">370&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Aggregate fair value of vested performance stock units</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">3,999&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">6,729&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">9,080&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Aggregate fair value of vested deferred stock units</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">345&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">105&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">630&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December&#160;31, 2023, there was $13.1&#160;million of total unrecognized compensation cost related to non-vested restricted and performance stock units. That cost is expected to be recognized over a weighted average period of 2.0 years.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline">Equity Based Awards - Settled in Cash</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Management Stock Purchase Plan</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's equity-based awards that are settled in cash are the awards under the Management Stock Purchase Plan (the "MSPP") which is authorized under the Company's equity incentive plans.  The MSPP provides participants the ability to defer a portion of their compensation, convertible to unrestricted investments, restricted stock units, or a combination of both, or defer a portion of their directors&#8217; fees, convertible to restricted stock units. Employees eligible to defer a portion of their compensation also receive a company-matching award in restricted stock units equal to a percentage of their deferred compensation.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The deferrals and related company match are credited to an account that represents a share-based liability.  The portion of the account deferred to unrestricted investments is measured at fair market value of the unrestricted investments, and the portion of the account deferred to restricted stock units and company-matching restricted stock units is measured at a 200-day average of the Company's stock price.  The account will be converted to and settled in cash payable to participants upon retirement or a termination of their service to the Company.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total MSPP liabilities recorded on the consolidated balance sheet as of December&#160;31, 2023 were $20.0 million, of which $2.0 million was included in current accrued expenses and $18.0 million was included in non-current liabilities.  Total MSPP liabilities recorded on the consolidated balance sheet as of December&#160;31, 2022 were $15.4 million, of which $2.3&#160;million was included in current accrued expenses and $13.1 million was included in non-current liabilities.  The value of the restricted stock units within the MSPP liabilities was $17.3&#160;million and $13.4&#160;million at December&#160;31, 2023 and 2022, respectively.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides the number of restricted stock units credited to active participant accounts, balance of vested and unvested restricted stock units within active participant accounts, payments made with respect to MSPP liabilities and MSPP expense during years ended December&#160;31:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted stock units credited</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,921&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,365&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,475&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted stock units balance, vested and unvested</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">199,946&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">158,644&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">223,892&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Share-based liabilities paid (in thousands)</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,392&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,689&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,915&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">MSPP expense (recovery) (in thousands)</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,710&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,459)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,034&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></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_ShareBasedCompensationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareBasedCompensationAbstract</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>37
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667558316432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [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_FairValueDisclosuresTextBlock', window );">Fair Value Measurements</a></td>
<td class="text">FAIR VALUE MEASUREMENTS<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. Depending on the nature of the asset or liability, various techniques and assumptions can be used to estimate fair value. A financial asset or liability&#8217;s classification within the hierarchy is determined based on the lowest level input that is significant to the fair value measurement as follows:</span></div><div style="margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 1 - Quoted prices in active markets for identical assets or liabilities. </span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 2 - Observable inputs other than quoted prices in active markets for similar assets and liabilities.</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8226;</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 3 - Inputs that are unobservable inputs for the asset or liability.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company had no financial assets or liabilities measured at fair value on a recurring basis and did not have any financial instruments for which carrying value differed from its fair value at December&#160;31, 2023 and 2022.  As of December 31, 2023, the Company had no outstanding indebtedness on its revolving credit facility under its Credit Agreement.   The Company had $91.0&#160;million outstanding on its revolving credit facility as of December 31, 2022.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s other financial instruments primarily consist of cash and cash equivalents, accounts receivable, and accounts payable.&#160; The carrying values for these financial instruments approximate fair value. The Company did not have any other material assets or liabilities carried at fair value and measured on a recurring basis as of December&#160;31, 2023 and 2022.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline">Other non-recurring fair value measurements</span></div><div style="margin-top:3pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recorded impairment of property, plant and equipment during the year ended December 31, 2022 and recognized impairment charges related to certain intangible assets during the years ended December 31, 2023 and 2021. The Company uses unobservable inputs, classified as Level 3 inputs, in determining the fair value of these assets. See Note 7 "Goodwill and Related Intangible Assets," Note 14 "Discontinued Operations" and Note 15 "Exit Activity Costs and Asset Impairments" for more disclosure regarding the impairment of certain intangible assets and property, plant, and equipment, respectively.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company also applied fair value principles for the goodwill impairment tests performed during 2023, 2022, and 2021. The Company used two valuation models to estimate the fair values of its reporting units, both of which primarily use Level 3 inputs. See Note 7 "Goodwill and Related Intangible Assets" of the consolidated financial statements for the results of the Company&#8217;s goodwill impairment tests.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Additionally, the Company's recent acquisition activity, as described in Note 6 "Acquisitions," used Level 3 inputs to estimate fair values allocated to the assets acquired and liabilities assumed.</span></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_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FairValueDisclosuresAbstract</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_FairValueDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired 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 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-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_FairValueDisclosuresTextBlock</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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667559654640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Discontinued Operations<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DiscontinuedOperationsAndDisposalGroupsAbstract', window );"><strong>Discontinued Operations and Disposal Groups [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_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock', window );">DISCONTINUED OPERATIONS</a></td>
<td class="text">DISCONTINUED OPERATIONS<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 23, 2021, the Company sold the stock of its Industrial business which had been classified as held for sale and reported as a discontinued operation in the Company&#8217;s consolidated financial statements for the year ended December 31, 2021.  Net proceeds of $38&#160;million, consisting of cash and a $13&#160;million seller note, resulted in a pre-tax loss of $30&#160;million, of which $29.6&#160;million was recorded when the assets of the Industrial business were written down to fair market value during the fourth quarter of 2020.  The seller note was paid in full to the Company during the second quarter of 2021.  The results of operations of the Industrial business have been presented as a discontinued operation in the Company's consolidated statements of income for all periods presented. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There was no income from discontinued operations before taxes for the years ended December 31, 2023 and 2022.  For the year ended December 31, 2021, income from discontinued operations before taxes of $1.5&#160;million consisted of net sales of $20.4&#160;million, operating expenses of $17.5&#160;million, and adjustment to loss on disposal of $1.4&#160;million.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On December 1, 2023, the Company sold its Japan-based solar racking business within its Renewables segment to a third party.  The $8.0&#160;million net proceeds from the sale resulted in a pre-tax net loss of $0.6&#160;million and has been presented within other (income) expense in the consolidated statements of income.  This divestiture did not meet the criteria to be recorded as a discontinued operation nor did it have a major effect on the Company's operations.</span></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_DiscontinuedOperationsAndDisposalGroupsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DiscontinuedOperationsAndDisposalGroupsAbstract</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_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 related to a disposal group. Includes, but is not limited to, a discontinued operation, disposal classified as held-for-sale or disposed of by means other than sale or disposal of an individually significant component.</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 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//205-20/tableOfContent<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//360/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_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock</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>39
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667664893184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Exit Activity Costs and Asset Impairments<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_RestructuringAndRelatedActivitiesAbstract', window );"><strong>Restructuring and Related Activities [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_RestructuringAndRelatedActivitiesDisclosureTextBlock', window );">Exit Activity Costs and Asset Impairments</a></td>
<td class="text">EXIT ACTIVITY COSTS AND ASSET IMPAIRMENTS<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has incurred exit activity costs and asset impairment charges as a result of its 80/20 simplification and portfolio management initiatives. These initiatives have resulted in the identification of low-volume, low margin, internally-produced products which have been or will be outsourced or discontinued, the simplification of processes, in the sale and exiting of less profitable businesses or products lines, and the reduction in the Company's manufacturing footprint.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of process simplification initiatives, the Company has incurred exit activity costs (recoveries) related to moving and closing costs, severance and contract terminations, along with asset impairment charges related to the write-down of inventory and impairment of machinery and equipment associated with discontinued product lines.  Additionally, the Company has incurred the aforementioned costs resulting from the sale, relocation and/or closure of facilities including two closures and one relocation in 2022 and four facility closures in 2021.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the exit activity costs (recoveries) and asset impairment charges incurred by segment during the years ended December&#160;31 related to the restructuring activities described above (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.426%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.841%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.356%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.256%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.695%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.356%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.426%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.841%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:6.366%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Exit Activity</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Asset Impairment</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Exit Activity</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Asset Impairment</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Exit Activity</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Asset Impairment</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Renewables</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,558&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,136&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,694&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,256&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,198&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,454&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,769&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,193&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,962&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Residential</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">960&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,851&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,811&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,825&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,837&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">393&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">393&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Agtech</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">718&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">718&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">771&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,066&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,837&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,687&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,687&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Infrastructure </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(63)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(63)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(32)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(32)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">250&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">250&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">145&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">145&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,204&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,987&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,191&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,039&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,276&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,315&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,020&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,193&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,213&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides a summary of where the above exit activity costs and asset impairments are recorded in the consolidated statements of income for the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of sales</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,634&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,258&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,176&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general, and administrative expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,557&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,057&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,037&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total exit activity costs and asset impairments</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,191&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,315&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,213&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table reconciles the beginning and ending liability for exit activity costs relating to the Company&#8217;s restructuring efforts (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:72.692%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.639%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of January&#160;1</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,417&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">272&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exit activity costs recognized</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,204&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,039&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash payments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,896)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,894)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December&#160;31</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,725&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,417&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></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_RestructuringAndRelatedActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestructuringAndRelatedActivitiesAbstract</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_RestructuringAndRelatedActivitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 restructuring and related activities. Description of restructuring activities such as exit and disposal activities, include facts and circumstances leading to the plan, the expected plan completion date, the major types of costs associated with the plan activities, total expected costs, the accrual balance at the end of the period, and the periods over which the remaining accrual will be settled.</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 420<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/2147482017/420-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<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/2147482017/420-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//420/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(e))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-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_RestructuringAndRelatedActivitiesDisclosureTextBlock</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>40
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667559654640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_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">INCOME TAXES<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company uses the asset and liability method of accounting for income taxes. Under this method, deferred tax assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax basis. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to reverse.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of income before taxes from continuing operations consisted of the following for the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Domestic</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">149,348&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">112,635&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">93,155&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(356)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,145)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,407&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income before taxes from continuing operations</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">148,992&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111,490&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">99,562&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The provision for income taxes from continuing operations for the years ended December&#160;31 consisted of the following (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Federal</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,579&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,014&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,137&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,048&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,647&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,009&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">86&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">932&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total current</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,659&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,747&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,078&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Federal</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,617&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,259&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,766&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,112&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,381&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">134&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(303)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,068&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total deferred</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,800&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,337&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,968&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision for income taxes</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,459&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,084&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,046&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The provision for income taxes from continuing operations differs from the federal statutory rate of 21% due to the following for the years ended December 31 (in thousands, except for percentages) :</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:31.792%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.325%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.325%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Statutory rate</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,288&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,413&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,908&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State taxes, less federal effect</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,446&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,541&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,068&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Federal tax credits</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(787)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.5)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(549)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.5)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(587)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.6)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Excess tax benefit on stock based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(203)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(214)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,039)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2.0)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Executive compensation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,369&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.9&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">960&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.9&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,781&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">346&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(67)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">915&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.9&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,459&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25.8&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,084&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26.1&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,046&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25.2&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred tax liabilities at December&#160;31 consisted of the following (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:72.692%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.639%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Depreciation</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,838&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,570&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65,967&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">62,132&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating leases</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,325&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,775&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,919&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,706&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,264&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,358&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross deferred tax liabilities</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">94,313&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">88,541&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Capitalized research and development costs</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,286)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,503)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Equity compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,907)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,993)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating leases</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,678)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,076)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Assets held for sale</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(13,669)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Capital loss carryforward</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(26,527)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(26,490)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12,422)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(10,417)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross deferred tax assets</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(63,820)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(68,148)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Valuation allowances</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,593&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,488&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax assets, net of valuation allowances</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(37,227)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(41,660)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net deferred tax liabilities</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57,086&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,881&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December&#160;31, 2023, the Company had total net operating loss carry forwards of $17.5 million, which included $0.3 million for federal, $16.5 million for state, and $0.7 million for foreign income tax purposes. The federal and state net operating loss carry forwards expire between 2024 and 2043. The foreign net operating loss carry forwards expire between 2024 and 2043. The Company recognized a total of $1.1 million of deferred tax assets, net of the federal tax benefit, related to these net operating losses prior to any valuation allowances, which included $0.1 million of federal and $0.8 million of state deferred tax assets and $0.2&#160;million of foreign deferred tax assets.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of the sale of the Industrial business during 2021, the Company generated a capital loss of $113.7&#160;million for federal and state purposes to the extent allowable under state tax regulations. Amended Federal returns were filed to carry back $3.7&#160;million of capital loss. As of December 31, 2023, the remaining capital loss carry forward is $110.0&#160;million. The capital loss carryforward will expire in 2026.  The Company recognized a total of $26.5&#160;million of deferred tax assets, net of the federal benefit, related to this carryforward prior to any valuation allowances, which included $22.2&#160;million of federal and $4.3&#160;million of state deferred tax assets. The Company has a full valuation allowance on the capital loss carry forward and as a result there is no deferred tax asset related to the capital loss.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred taxes include net deferred tax assets relating to certain state and foreign tax jurisdictions. A reduction of the carrying amount of deferred tax assets by a valuation allowance is required if it is more likely than not that such assets will not be realized.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following sets forth a reconciliation of the beginning and ending amount of the Company&#8217;s valuation allowance (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of January&#160;1</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,488&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,581&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost charged to the tax provision</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">105&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reductions</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(103)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(41)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reclassification from discontinued operations upon sale of industrial group</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,498&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December&#160;31</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,593&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,488&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,581&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company made net payments for income taxes for the following amounts for the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.830%"><tr><td style="width:1.0%"></td><td style="width:54.077%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.249%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.539%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.249%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.539%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.547%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Payments made for income taxes, net</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,447&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,017&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,076&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At December 31, 2023, the Company had approximately $1.4 million of undistributed earnings of foreign subsidiaries.  The Company continues to maintain its assertion that all remaining foreign earnings will be indefinitely reinvested.  Any excess earnings could be used to grow the Company's foreign operations through launches of new capital projects or additional acquisitions. Determination of the amount of unrecognized deferred U.S. income tax liability related to the Company's remaining unremitted foreign earnings is not practicable due to the complexities associated with its hypothetical calculation.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company did not have any unrecognized tax benefits or activity related to such benefits in any of the years presented in the consolidated financial statements. The Company classifies accrued interest and penalties related to unrecognized tax benefits in income tax expense.  No interest or penalties have been recognized during the years presented.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company and its U.S. subsidiaries file a U.S. federal consolidated income tax return. Foreign and U.S. state jurisdictions have statute of limitations generally ranging from <span style="-sec-ix-hidden:f-1244">four</span> to ten years. The Company is currently in appeals for an audit of tax years 2016 through 2019 in Massachusetts and believes the technical merits of the position will be sustained.</span></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>41
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667559578448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings per Share<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [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_EarningsPerShareTextBlock', window );">Earnings per Share</a></td>
<td class="text">EARNINGS PER SHARE<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average shares outstanding for basic and diluted earnings were as follows for the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Numerator:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income from continuing operations</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">110,533&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,406&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74,516&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income from discontinued operations</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,113&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income available to common shareholders</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">110,533&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,406&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75,629&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator for basic earnings per share:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares outstanding</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,626&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,096&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,873&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator for diluted earnings per share:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Common stock options and stock units</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">159&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">181&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares and conversions</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,785&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,192&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,054&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides the potential anti-dilutive common stock units not included in the diluted weighted average shares calculations for the years ended December 31 (in thousands): </span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Common stock units</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">43&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></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_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EarningsPerShareAbstract</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_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 earnings per share.</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><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//260/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-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_EarningsPerShareTextBlock</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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667559590544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_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">LEASES <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's leases are classified as operating leases and consist of manufacturing facilities, distribution centers, office space, vehicles and equipment.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Most of the Company's leases include one or more options to renew, with renewal terms that can extend the respective lease term from one month to ten years. The exercise of lease renewal options is at the Company's sole discretion.  As of December&#160;31, 2023 and 2022, the Company's renewal options are not part of the Company's operating lease assets and operating lease liabilities.  Certain leases also include options to purchase at fair value the underlying leased asset at the Company's sole discretion.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of lease costs for the years ended December 31 were as follows (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:65.566%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.576%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,940&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,191&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,977&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term lease cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,645&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,694&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,153&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease cost</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,585&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,885&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,130&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information related to the Company's operating right-of-use assets and related operating lease liabilities for the years ended December 31 were as follows (in thousands):</span></div><div style="margin-top:3pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:65.566%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.576%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash paid for amounts included in the measurement of operating liabilities</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,628&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,835&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,431&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Right-of-use assets obtained in exchange for new lease liabilities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,468&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,008&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,084&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information related to the Company's lease terms and discount rates as of December 31 were as follows:</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:67.467%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.818%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.332%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.818%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.335%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average remaining lease term - operating leases</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.6</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.3</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">years</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average discount rate - operating leases</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The future maturity of the Company's lease liabilities as of December&#160;31, 2023 were as follows (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:88.227%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.573%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,329&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,748&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,304&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,775&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,391&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">After 2028</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,191&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease payments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54,738&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: present value discount</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8,471)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Present value of lease liabilities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,267&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company uses its incremental borrowing rate based on information available at the commencement date of a lease in determining the present value of lease payments as the rates implicit in most of the Company's leases are not readily determinable.</span></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_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>43
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667559650048">
<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">12 Months Ended</th>
</tr>
<tr><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_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">COMMITMENTS AND CONTINGENCIES<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is a party to certain claims and legal actions generally incidental to its business. Management does not believe that the outcome of any claims, or other claims which are not clearly determinable at the present time, would result in a material adverse effect on the Company's financial condition or results of operations.</span></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>44
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667559820384">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_SegmentReportingInformationRevenueAbstract', window );"><strong>Segment Reporting Information, Revenue for Reportable Segment [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_SegmentReportingDisclosureTextBlock', window );">Segment Information</a></td>
<td class="text">SEGMENT INFORMATION<div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is organized into four reportable segments on the basis of the production processes, products and services provided by each segment, identified as follows:</span></div><div style="margin-top:6pt;padding-left:31.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(i)</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.12pt">Renewables, which primarily includes designing, engineering, manufacturing and installation of solar racking and electrical balance of systems;</span></div><div style="margin-top:3pt;padding-left:31.5pt;text-align:justify;text-indent:-18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(ii)</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.9pt">Residential, which primarily includes designing, engineering and manufacturing of roof and foundation ventilation products, centralized mail systems and electronic package solutions, retractable awnings and gutter guards, and rain dispersion products, trims and flashings and other accessories;</span></div><div style="margin-top:3pt;padding-left:31.5pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(iii)</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:4.68pt">Agtech, which provides growing solutions including the designing, engineering, manufacturing and installation of greenhouses; and</span></div><div style="margin-top:3pt;padding-left:31.5pt;text-align:justify;text-indent:-18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(iv)</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:4.12pt">Infrastructure, which primarily includes designing, engineering and manufacturing of structural bearings, expansion joints and pavement sealant for bridges, airport runways and roadways, elastomeric concrete, and bridge cable protection systems.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">When determining the reportable segments, the Company aggregated operating segments based on their similar economic and operating characteristics.  </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables illustrate certain measurements used by management to assess the performance of the segments described above as of and for the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net sales:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Renewables</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">330,738&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">377,567&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">432,096&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Residential </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">814,803&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">767,248&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">635,505&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agtech</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">144,967&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">168,868&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">199,161&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">87,228&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76,283&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,021&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total consolidated net sales</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,377,736&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,389,966&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,339,783&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income from operations:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Renewables</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,160&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,243&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,158&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Residential </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">143,068&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">126,458&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">105,821&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agtech</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(928)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,914&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(931)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,529&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,003&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,911&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Segments income from operations</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">190,829&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">163,618&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">133,959&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unallocated corporate expenses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(40,100)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(33,516)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(36,971)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total income from operations</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150,729&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">130,102&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96,988&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Depreciation and Amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Renewables</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,671&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,467&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,682&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Residential</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,080&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,983&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,694&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agtech</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,789&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,377&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,279&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,137&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,150&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,092&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unallocated corporate expenses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,701&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,190&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">219&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,378&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,167&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,966&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:6pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total assets</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Renewables</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">377,694&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">392,368&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">445,486&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Residential</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">515,739&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">519,567&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">453,469&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agtech</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">168,213&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">193,966&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">212,038&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77,518&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">80,264&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,662&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unallocated corporate assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">117,287&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,448&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,246&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,256,451&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,210,613&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,214,901&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Capital expenditures</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Renewables</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,113&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,589&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,268&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Residential </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,913&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,050&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,182&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agtech</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,419&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,177&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,289&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,313&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,898&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,097&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unallocated corporate expenditures</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,239&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,424&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,869&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,997&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,138&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,705&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables illustrate revenue disaggregated by timing of transfer of control to the customer for the years ended December 31 (in thousands): </span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"><tr><td style="width:1.0%"></td><td style="width:20.211%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.846%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.995%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.375%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.995%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.998%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Renewables</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Residential</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Agtech</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Infrastructure</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net sales:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Point in Time</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,123&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">808,225&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,920&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,547&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">893,815&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Over Time</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">281,615&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,578&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">140,047&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">55,681&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">483,921&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">330,738&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">814,803&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">144,967&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">87,228&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,377,736&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:8pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="27" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Renewables</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Residential</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Agtech</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Infrastructure</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net sales:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Point in Time</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,317&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">761,576&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,011&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,983&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">834,887&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Over Time</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">350,250&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,672&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">155,857&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,300&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">555,079&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">377,567&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">767,248&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">168,868&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76,283&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,389,966&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:8pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Renewables</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Residential</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Agtech</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Infrastructure</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net sales:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Point in Time</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,630&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">630,494&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,157&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,512&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">711,793&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Over Time</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">403,466&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,011&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">179,004&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40,509&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">627,990&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">432,096&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">635,505&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">199,161&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,021&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,339,783&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net sales by region or origin and long-lived assets by region of domicile for the years ended and as of December&#160;31 were as follows (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">North America</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,366,012&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,373,907&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,318,795&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asia</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,724&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,059&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,988&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,377,736&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,389,966&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,339,783&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-lived assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">North America</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">154,778&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">136,553&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97,003&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asia</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">234&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">365&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">154,837&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">136,787&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97,368&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></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_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</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 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-15<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 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<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 (d)<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/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 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 (f)<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> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//280/tableOfContent<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 26<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-26<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 34<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-34<br><br>Reference 11: 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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<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 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 14: 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 (e)<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_SegmentReportingDisclosureTextBlock</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_SegmentReportingInformationRevenueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SegmentReportingInformationRevenueAbstract</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>45
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667558375104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_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_ConsolidationPolicyTextBlock', window );">Principles of consolidation</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Principles of consolidation</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The consolidated financial statements include the accounts of Gibraltar Industries, Inc. and subsidiaries (the "Company"). All intercompany accounts and transactions have been eliminated in consolidation.</span></div><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_UseOfEstimates', window );">Use of estimates</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Use of estimates</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of the consolidated financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and accompanying notes. Actual results could differ from those estimates due to uncertainty in the current economic environment.</span></div><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_SegmentReportingPolicyPolicyTextBlock', window );">Segment reporting</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Segment reporting</span></div>The Company has four reportable segments: Renewables, Residential, Agtech and Infrastructure.<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_RevenueFromContractWithCustomerPolicyTextBlock', window );">Revenue recognition</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Revenue recognition</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue is recognized when, or as, the Company transfers control of promised products or services to a customer in an amount that reflects the consideration the Company expects to be entitled in exchange for transferring those products or services.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Performance obligations satisfied at a point in time and significant judgments</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue from contracts with customers is recognized when the Company transfers control of the promised product at a point in time, which is determined when the customer has legal title and the significant risks and rewards of ownership of the asset, and the Company has a present right to payment for the product.  The Company allocates the transaction price, which is generally the quoted price per terms of the contract and the consideration the Company expects to receive, to each performance obligation.  These products are generally sold with rights of return and these contracts may provide other credits or incentives, which are accounted for as variable consideration.  Sales returns, allowances, and customer incentives, including rebates, are treated as reductions to the sales transaction price and based largely on an assessment of all information (i.e., historical, current and forecasted) that is reasonably available to the Company, and estimated at contract inception and updated at the end of each reporting period as additional information becomes available.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Performance obligations satisfied over time and significant judgments</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For a contract to construct an asset that the customer controls as it is being created or enhanced, or a promise to provide a product that has no alternative use to the Company and the Company has enforceable rights to payment, the Company recognizes revenue over time.  For the contracts to construct a certain asset, the Company determines that the customer controls the asset while it is being constructed.  For the contracts for products that have no alternative use and for which the Company has an enforceable right to payment, the Company identifies these products as products that are not a standard inventory item or the Company cannot readily direct the product to another customer for use without incurring a significant economic loss, or significant costs to rework the product.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company determines the transaction price for each contract based on the consideration the Company expects to receive for the promised products and services under the entire contract, which is generally the stated contract price based on an expected cost plus a margin.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the above contracts with customers with respect to which the Company satisfies a performance obligation over time, the Company recognizes revenue based on the extent of progress towards completion of the performance obligation using the cost-to-cost measure of progress.  Under the cost-to-cost measure of progress, the extent of progress toward completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation.  Revenues are recognized proportionally as costs are incurred.  Costs to fulfill a contract include all direct costs related to contract performance.  Selling and administrative expenses are charged to operations as incurred.  Provision for loss on an uncompleted performance obligation is recognized in the period in which such loss is determined.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company regularly reviews the progress under the cost-to-cost method and any adjustments are recognized as necessary.  Changes in estimates are recognized as they become known using the cumulative catch-up basis.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company also recognizes revenues from services contracts over time.  The Company recognizes revenue over time during the term of the agreement as the customer is simultaneously receiving and consuming the benefits provided throughout the Company's performance. Therefore, due to control transferring over time, the Company recognizes revenue on a straight-line basis throughout the contract period.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contract assets and contract liabilities</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract assets primarily represents revenue recognized for performance obligations that have been satisfied but for which amounts receivable have not been billed.  These are included as current assets and included within accounts receivable on the Company's consolidated balance sheets.  Contract liabilities include payments received from customers in advance of the satisfaction of performance obligations for a contract.  The Company does not consider contract advances to be significant financing components as the intent of these payments in advance are for reasons other than providing a significant financing benefit and are customary in the Company's industry.  Unearned revenue relates to payments received in advance of performance under the contract and is recognized when the Company performs under the contract. Unearned revenue is presented within accrued expenses in the Company's consolidated balance sheets.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Costs to obtain a contract with a customer</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes an asset for the incremental costs of obtaining a contract with a customer if the Company expects the benefit of those costs to be longer than one year.  If the amortization period of the asset is one year or less, the Company recognizes the incremental costs of obtaining a contract as an expense when incurred.  These incremental costs include, but are not limited to, sales commissions incurred to obtain a contract with a customer.</span></div><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_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and cash equivalents</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Cash and cash equivalents</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">All highly liquid investments with a maturity of three months or less are considered cash equivalents.</span></div><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_TradeAndOtherAccountsReceivablePolicy', window );">Accounts receivable and allowance for doubtful accounts and contract assets</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Accounts receivable and allowance for doubtful accounts and contract assets</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable are composed of trade and contract receivables recorded at either the invoiced amount or costs in excess of billings, are expected to be collected within one year, and do not bear interest.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company&#8217;s expected loss allowance methodology for accounts receivable and costs in excess of billings (collectively "accounts receivable") is developed using historical collection experience, current and future economic and market conditions, and a review of the current status of customers' accounts receivables.  The Company is exposed to credit losses through sales of products and services.  Due to the short-term nature of such accounts receivable, the estimated amount of accounts receivable that may not be collected is based on aging of the accounts receivable balances.  Additionally, specific allowance amounts are established to record the appropriate provision for customers that no longer share risk characteristics similar with other accounts receivable. The Company&#8217;s monitoring activities include timely account reconciliation, dispute resolution, payment confirmation, consideration of customers' financial condition and macroeconomic conditions.  Balances are written off when determined to be u</span><span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ncollectible </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">after all means of collection have been exhausted and the potential for recovery is considered remote.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Estimates are used to determine the allowance. These estimates are based on assessment of anticipated payment and all other historical, current and future information that is reasonably available.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes activity recorded within the allowance for doubtful accounts and contract assets balances for the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:62.788%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.449%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.449%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.454%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Beginning balance</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,746&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,738&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,529&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Bad debt expense, net of recoveries</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,148&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,221&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">898&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts written off against allowance and other adjustments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,322)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,213)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(689)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Ending balance</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,572&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,746&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,738&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Concentrations of credit risk in accounts receivable are limited to those from significant customers that are believed to be financially sound. As of December&#160;31, 2023 and 2022, the Company's most significant customer is a home improvement retailer. The</span><span style="color:#291bff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span>home improvement retailer purchases from the Residential segment.<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_InventoryPolicyTextBlock', window );">Inventories</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Inventories</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories are valued at the lower of cost or net realizable value. Cost is determined using either the first-in, first-out method or the average costing method. Shipping and handling costs are recognized as a component of cost of sales.</span></div><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_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property, plant, and equipment</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Property, plant, and equipment</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property, plant, and equipment are stated at cost and depreciated over their estimated useful lives using the straight-line method. Interest is capitalized in connection with construction of qualified assets. Expenditures that exceed an established dollar threshold and that extend the useful lives of assets are capitalized, while repair and maintenance costs are expensed as incurred. The estimated useful lives of land improvements, buildings, and building improvements are 15 to 40 years, while the estimated useful lives for machinery and equipment are 3 to 20 years.</span></div><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_BusinessCombinationsPolicy', window );">Acquisition related assets and liabilities</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Acquisition related assets and liabilities</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounting for the acquisition of a business as a purchase transaction requires an allocation of the purchase price to the assets acquired and the liabilities assumed in the transaction at their respective estimated fair values. The most complex estimations of individual fair values are those involving long-lived assets, such as property, plant, and equipment and intangible assets. The Company uses all available information to make these fair value determinations and engages independent valuation specialists to assist in the fair value determination of the acquired long-lived assets.</span></div><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_GoodwillAndIntangibleAssetsPolicyTextBlock', window );">Goodwill and other intangible assets</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Goodwill and other intangible assets</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company tests goodwill for impairment at the reporting unit level on an annual basis at October&#160;31, or more frequently if an event occurs, or circumstances change, that indicate that the fair value of a reporting unit could be below its carrying value. The reporting units are at the component level, or one level below the operating segment level. Goodwill is assigned to each reporting unit as of the date the reporting unit is acquired.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company may elect to perform a qualitative assessment that considers economic, industry and company-specific factors for some or all of the Company's selected reporting units. If, after completing the assessment, it is determined that it is more likely than not that the fair value of a reporting unit is less than its carrying value, the Company proceeds to a quantitative test. The Company may also elect to perform a quantitative test instead of a qualitative test for any or all of the Company's reporting units.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The quantitative impairment test consists of comparing the fair value of a reporting unit, determined using two valuation techniques, to its carrying value. If the carrying value of the reporting unit exceeds its fair value, goodwill is considered impaired, and a loss measured by the excess of the carrying value of the reporting unit over the fair value of the reporting unit must be recorded.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company also tests its indefinite-lived intangible assets for impairment on an annual basis as of October&#160;31, or more frequently if an event occurs, or circumstances change, that indicate that the fair value of an indefinite-lived intangible asset could be below its carrying value. The impairment test consists of comparing the fair value of the indefinite-lived intangible asset, determined using discounted cash flows on a relief-from-royalty basis, with its carrying amount.  An impairment loss would be recognized for the carrying amount in excess of its fair value.  Acquired identifiable intangible assets are recorded at cost. Identifiable intangible assets with finite useful lives are </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">amortized over their estimated useful lives. For additional disclosure of the Company's goodwill and other intangible assets refer to Note 7 "Goodwill and Related Intangible Assets."</span></div><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_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock', window );">Impairment of long-lived assets</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Impairment of long-lived assets</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-lived assets, including acquired identifiable intangible assets with finite useful lives, are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of those assets may not be recoverable.  In specific situations, when the Company has selected individual assets to be sold or scrapped, the Company obtains market value data for those specific assets and measures and records the impairment loss based on such data. Otherwise, the Company uses undiscounted cash flows to determine whether impairment exists and measures any impairment loss by approximating fair value using acceptable valuation techniques, including discounted cash flow models and third-party appraisals. For additional disclosure on impairment of the Company's long-lived assets refer to Note 7 "Goodwill and Related Intangible Assets," Note 14 "Discontinued Operations" and Note 15 "Exit Activity Costs and Asset Impairments."</span></div><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_LesseeLeasesPolicyTextBlock', window );">Leases</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Leases</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company determines if an agreement is, or contains, a lease at the inception of the agreement. At lease commencement, the Company recognizes a right-of-use asset and a lease liability for leases with terms greater than twelve months.  The initial lease liability is recognized at the present value of remaining lease payments over the lease term.  Leases with an initial term of twelve months or less are not recorded on the Company's consolidated balance sheets.  The Company recognizes lease expense for operating leases on a straight-line basis over the lease term.  The Company combines lease and non-lease components, such as common area maintenance costs, in calculating the related asset and lease liabilities for all underlying asset groups.  Operating lease cost is included in income from operations and includes short-term leases and variable lease costs which are immaterial.  Current operating lease liabilities are represented within accrued expenses on the Company's consolidated balance sheets.</span></div><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_DeferredChargesPolicyTextBlock', window );">Deferred charges</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Deferred charges</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred charges associated with initial costs incurred to enter into new debt arrangements are included as a component of long-term debt and are amortized as a part of interest expense over the terms of the associated debt agreements.</span></div><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_AdvertisingCostsPolicyTextBlock', window );">Advertising</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Advertising</span></div>The Company expenses advertising and marketing costs as incurred.<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_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock', window );">Foreign currency transactions and translation</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Foreign currency transactions and translation</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The assets and liabilities of the Company&#8217;s foreign subsidiaries are translated into U.S. dollars at the rate of exchange in effect at the balance sheet date. Income and expense items are translated at the average exchange rates prevailing during the period.</span></div><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_IncomeTaxPolicyTextBlock', window );">Income taxes</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Income taxes</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The provision for income taxes is determined using the asset and liability approach. Under this approach, deferred income taxes represent the expected future tax consequences of temporary differences between the carrying amounts and tax basis of assets and liabilities. The Company records a valuation allowance to reduce deferred tax assets when uncertainty exists regarding their realization.</span></div><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_ShareBasedCompensationOptionAndIncentivePlansPolicy', window );">Equity-based compensation</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Equity-based compensation</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company measures the cost of equity-based compensation based on grant date fair value and recognizes the cost over the period in which the employee is required to provide service in exchange for the award reduced by forfeitures. Equity-based compensation consists of grants of stock options, deferred stock units, common stock, restricted stock units, and performance stock units. Equity-based compensation expense is included as a component of selling, general, and administrative expenses.</span></div><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_EarningsPerSharePolicyTextBlock', window );">Earnings per share</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Earnings per share</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic earnings per share is calculated by dividing net income by the weighted average number of common shares outstanding during the period. Diluted earnings per share is calculated by adjusting the weighted average number of common shares outstanding, as well as dilutive common shares which include shares issuable pursuant to equity based incentive compensation awards under the equity compensation plans described in Note 12 "Equity-Based Compensation."</span></div><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_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recent accounting pronouncements</a></td>
<td class="text"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Recent accounting pronouncements</span></div><div style="margin-bottom:10pt;margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Recent Accounting Pronouncements Not Yet Adopted</span></div><div style="margin-top:4pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:19.367%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:37.935%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:37.938%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Standard</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Description</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Financial Statement Effect or Other Significant Matters</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ASU No. 2023-07</span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures</span></div></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In November 2023, the Financial Accounting Standards Board ("FASB") issued Accounting Standard Update ("ASU") No. 2023-07, which requires a public entity to disclose significant segment expenses and other segment items on an annual and interim basis and provide in interim periods all disclosures about a reportable segment&#8217;s profit or loss and assets that are currently required annually. Additionally, it requires a public entity to disclose the title and position of the Chief Operating Decision Maker ("CODM"). The ASU does not change how a public entity identifies its operating segments, aggregates them, or applies the quantitative thresholds to determine its reportable segments. <br/></span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The amendments in the ASU are effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024, with early adoption permitted. A public entity should apply the amendments in this ASU retrospectively to all prior periods presented in the financial statements. The Company expects this ASU to only impact its disclosures with no impacts to the Company's results of operations, cash flows and financial condition. The Company's planned date of adoption is January 1, 2024.</span></div><div style="text-align:justify"><span><br/></span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ASU No. 2023-09</span></div><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Income Taxes (Topic 740): Improvements to Income Tax Disclosures</span></div></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2023, the FASB issued ASU No. 2023-09, which focuses on the rate reconciliation and income taxes paid.  This ASU requires a public business entity ("PBE") to disclose, on an annual basis, a tabular rate reconciliation using both percentages and currency amounts, broken out into specified categories with certain reconciling items further broken out by nature and jurisdiction to the extent those items exceed a specified threshold. In addition, all entities are required to disclose income taxes paid, net of refunds received disaggregated by federal, state/local, and foreign and by jurisdiction if the amount is at least 5% of total income tax payments, net of refunds received.<br/></span></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For PBEs, the amendments in this ASU are effective for annual periods beginning after December 15, 2024, with early adoption permitted. An entity may apply the amendments in this ASU prospectively by providing the revised disclosures for the period ending December 31, 2025 and continuing to provide the pre-ASU disclosures for the prior periods, or may apply the amendments retrospectively by providing the revised disclosures for all period presented. The Company expects this ASU to only impact the Company's disclosures with no impacts to the Company's results of operations, cash flows, and financial condition.  The Company's planned date of adoption is January 1, 2025.</span></div><div style="text-align:justify"><span><br/></span></div></td></tr></table></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_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_AdvertisingCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Disclosure of accounting policy for advertising cost.</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> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 35<br> -Topic 720<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483406/720-35-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_AdvertisingCostsPolicyTextBlock</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_BusinessCombinationsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy.</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 805<br> -SubTopic 10<br> -Section 05<br> -Paragraph 4<br> -Subparagraph (a)-(d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479515/805-10-05-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_BusinessCombinationsPolicy</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_CashAndCashEquivalentsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.</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 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-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_CashAndCashEquivalentsPolicyTextBlock</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_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.</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 235<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/2147483426/235-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-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_ConsolidationPolicyTextBlock</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_DeferredChargesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Disclosure of accounting policy for deferral and amortization of significant deferred charges.</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_DeferredChargesPolicyTextBlock</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_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-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_EarningsPerSharePolicyTextBlock</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_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.</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 830<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//830/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_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock</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_GoodwillAndIntangibleAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of 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> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 30<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-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_GoodwillAndIntangibleAssetsPolicyTextBlock</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_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes 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 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.CC)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480091/360-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 4<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482338/360-10-05-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_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock</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_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the 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/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(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 2: 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 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-25<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-28<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-19<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-20<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_IncomeTaxPolicyTextBlock</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_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</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 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-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(6)(b))<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/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 330<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482105/912-330-50-1<br><br>Reference 5: 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><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482989/270-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_InventoryPolicyTextBlock</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_LesseeLeasesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Disclosure of accounting policy for leasing arrangement entered into by lessee.</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 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-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_LesseeLeasesPolicyTextBlock</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_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</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_NewAccountingPronouncementsPolicyPolicyTextBlock</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_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</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/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)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-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_PropertyPlantAndEquipmentPolicyTextBlock</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_RevenueFromContractWithCustomerPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Disclosure of accounting policy for revenue from contract with customer.</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 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-17<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 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-19<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 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-18<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 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-18<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 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<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 20<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<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 20<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<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 20<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<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_RevenueFromContractWithCustomerPolicyTextBlock</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_SegmentReportingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Disclosure of accounting policy for segment reporting.</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 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482785/280-10-55-47<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 29<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<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 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<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 29<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<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 29<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<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 29<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<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 29<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<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 29<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-29<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_SegmentReportingPolicyPolicyTextBlock</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_ShareBasedCompensationOptionAndIncentivePlansPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.</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><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 (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<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 (f)(2)(v)<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 S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.C.Q3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 5: 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.D.1.Q5)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 6: 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.D.3.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 7: 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.D.2.Q6)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 8: 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 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 (b)<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 (f)(1)<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 (f)(2)<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_ShareBasedCompensationOptionAndIncentivePlansPolicy</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_TradeAndOtherAccountsReceivablePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Disclosure of accounting policy for accounts receivable.</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 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481569/310-20-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-11B<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<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/2147481962/310-10-50-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 10<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-6<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-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_TradeAndOtherAccountsReceivablePolicy</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_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</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 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-9<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-12<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-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_UseOfEstimates</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>46
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667558492592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_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_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock', window );">Summary Of Activity Recorded Within The Allowance For Doubtful Accounts</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes activity recorded within the allowance for doubtful accounts and contract assets balances for the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:62.788%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.449%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.449%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.454%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Beginning balance</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,746&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,738&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,529&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Bad debt expense, net of recoveries</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,148&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,221&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">898&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts written off against allowance and other adjustments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,322)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,213)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(689)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Ending balance</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,572&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,746&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,738&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><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_PropertyPlantAndEquipmentTextBlock', window );">Property, Plant and Equipment</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The table below sets forth the depreciation expense recognized during the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation expense</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,139&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,583&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,110&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Components of property, plant, and equipment at December&#160;31 consisted of the following (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:72.692%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.639%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Land and land improvements</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,544&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,704&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Building and improvements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,732&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,416&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Machinery and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">231,275&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">223,843&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Construction in progress</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,391&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,065&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property, plant, and equipment, gross</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">296,942&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">285,028&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: accumulated depreciation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(189,339)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(175,444)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property, plant, and equipment, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">107,603&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">109,584&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></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_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_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_PropertyPlantAndEquipmentTextBlock</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_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 allowance for credit loss of financing receivable, 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/2009/role/commonPracticeRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-11B<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_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock</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>47
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667653673408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_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_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Contract with Customer, Asset and Liability</a></td>
<td class="text"><div style="margin-top:3pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:51.176%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.318%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.318%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.320%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Costs in excess of billings</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,035&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,732&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54,437&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Billings in excess of costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(44,735)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(35,017)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(46,711)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unearned revenue</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,941)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,572)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,681)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></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_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract 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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_ContractWithCustomerAssetAndLiabilityTableTextBlock</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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667559803440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounts Receivable (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_ReceivablesAbstract', window );"><strong>Receivables [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_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock', window );">Schedule of Accounts Receivable</a></td>
<td class="text"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable at December 31 consisted of the following (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:55.938%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.014%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.015%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 4.37pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trade accounts receivable</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">178,087&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">179,170&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Costs in excess of billings</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,035&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,732&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total accounts receivables</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">230,122&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">220,902&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less allowance for doubtful accounts</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,572)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,746)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">224,550&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">217,156&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></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_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ReceivablesAbstract</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_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.</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.3,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_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock</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>49
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667560713472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories, Net (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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>
</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 );">Schedule of Inventories</a></td>
<td class="text"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories at December&#160;31 consisted of the following (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:72.692%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.639%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Raw material</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77,489&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111,187&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Work-in-process</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,508&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,944&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,942&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47,523&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross inventory</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">129,939&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">176,654&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less reserves</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(9,436)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,294)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total inventories</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">120,503&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">170,360&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><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_rock_SummaryOfSlowMovingInventoryActivityTableTextBlock', window );">Summary of Activity within the Reserve for Excess, Obsolete, and Slow Moving Inventory</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes activity recorded within the reserve for excess, obsolete and slow moving inventory for the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning balance</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,179&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,400&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,161&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Excess, obsolete and slow moving inventory expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,243&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,582&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">215&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Scrapped inventory and other adjustments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,044)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">197&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending balance</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,378&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,179&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,400&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_SummaryOfSlowMovingInventoryActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Rollforward of excess, obsolete, and slow-moving inventory reserve.</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;">rock_SummaryOfSlowMovingInventoryActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types1: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_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>50
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667559856928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property, Plant, and Equipment, Net (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [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_PropertyPlantAndEquipmentTextBlock', window );">Components of Property, Plant, and Equipment</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The table below sets forth the depreciation expense recognized during the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation expense</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,139&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,583&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,110&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Components of property, plant, and equipment at December&#160;31 consisted of the following (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:72.692%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.639%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Land and land improvements</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,544&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,704&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Building and improvements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,732&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,416&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Machinery and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">231,275&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">223,843&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Construction in progress</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,391&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,065&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property, plant, and equipment, gross</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">296,942&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">285,028&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: accumulated depreciation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(189,339)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(175,444)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property, plant, and equipment, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">107,603&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">109,584&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></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_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentAbstract</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_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_PropertyPlantAndEquipmentTextBlock</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>51
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667557645792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_BusinessCombinationsAbstract', window );"><strong>Business Combinations [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_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock', window );">Schedule of Allocation of the Purchase Price Consideration of the Fair Value of Assets Acquired and Liabilities Assumed</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preliminary allocation of the purchase consideration to the estimated fair value of the assets acquired and liabilities assumed is as follows as of the date of the acquisition (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:85.011%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.789%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Working capital</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">827&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property, plant, and equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">195&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquired intangible assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,200&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">134&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(72)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,133&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair value of purchase consideration</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,417&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The allocation of the purchase consideration to the estimated fair value of the assets acquired and liabilities assumed is as follows as of the date of the acquisition (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:85.011%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.789%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,018&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Working capital</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,372&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property, plant, and equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,486&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquired intangible assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,700&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,813&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,295)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,991&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair value of purchase consideration</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,085&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><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_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock', window );">Schedule of Acquired Intangible Assets</a></td>
<td class="text"><div style="margin-top:10pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The intangible assets acquired in this acquisition consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:66.005%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.788%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.323%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair&#160;Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-Average Amortization Period</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">300&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2 years</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,900&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12 years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,200&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The intangible assets acquired in this acquisition consisted of the following as of the date of acquisition (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:51.677%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:19.221%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:25.218%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair&#160;Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted-Average Amortization Period</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,800&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Indefinite</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,900&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12 years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,700&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr></table></div><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_rock_ScheduleofBusinessCombinationCostsTableTextBlock', window );">Schedule of Business Combination Costs</a></td>
<td class="text"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The acquisition-related costs consisted of the following for the years ended December 31 (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:53.445%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.562%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.562%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.565%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of sales</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,427&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general and administrative costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">253&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">545&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">949&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total acquisition related costs</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">265&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,972&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">949&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_ScheduleofBusinessCombinationCostsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 Business Combination Costs [Table Text Block]</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;">rock_ScheduleofBusinessCombinationCostsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types1: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_BusinessCombinationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BusinessCombinationsAbstract</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_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 a material business combination completed during the period, including background, timing, and recognized assets and liabilities. This table does not include leveraged buyouts.</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 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479328/805-10-50-3<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479328/805-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_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock</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_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 finite-lived intangible assets acquired as part of a business combination or through an asset purchase, by major class and in total, including the value of the asset acquired, any significant residual value (the expected value of the asset at the end of its useful life) and the weighted-average amortization 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 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-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_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock</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>52
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667560705664">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Related Intangible Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_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_ScheduleOfGoodwillTextBlock', window );">Schedule of Changes in Carrying Amount of Goodwill</a></td>
<td class="text"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The changes in the carrying amount of goodwill for the years ended December&#160;31 were as follows (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:33.841%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.326%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.335%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Renewables</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Residential</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Agtech</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Infrastructure</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2021</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">188,680&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">205,452&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">85,132&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,678&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">510,942&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquired goodwill</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,604&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,604&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Adjustment to prior year acquisition</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">904&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">904&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,554)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,533)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,087)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">188,030&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">209,056&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">83,599&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,678&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">512,363&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquired goodwill</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,133&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,133&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Adjustment to prior year acquisition</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">387&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">387&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,132)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">300&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(832)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sale of business</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,668)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,668)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2023</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">184,230&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">213,576&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">83,899&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,678&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">513,383&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><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_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock', window );">Schedule of Acquired Intangible Assets</a></td>
<td class="text"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Acquired intangible assets consisted of the following (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.829%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.624%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross<br/>Carrying<br/>Amount</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross<br/>Carrying<br/>Amount</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Indefinite-lived intangible assets:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,300&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">55,500&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finite-lived intangible assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trademarks</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,773&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,714&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,448&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,481&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unpatented technology</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,133&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,295&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,163&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,037&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">110,649&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,088&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">115,125&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,557&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,376&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,154&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,371&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,006&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">152,931&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,251&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">157,107&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75,081&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total acquired intangible assets</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">205,231&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,251&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">212,607&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75,081&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><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_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock', window );">Schedule of Intangible Assets Amortization Expense</a></td>
<td class="text">The following table summarizes amortization expense for the years ended December&#160;31 (in thousands):<div style="margin-top:3pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"></td><td style="width:59.047%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.695%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization expense</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,239&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,584&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,856&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><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_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">Schedule of Amortization Expense</a></td>
<td class="text"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortization expense related to acquired intangible assets for the next five years ended December&#160;31 is estimated as follows (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:45.401%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.666%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.966%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.666%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.966%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.666%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.966%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.666%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.966%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.671%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2026</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2027</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2028</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization expense</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,599&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,386&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,320&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,979&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,184&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></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_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 amortization expense of assets, excluding financial assets, that lack physical substance, having a limited useful life.</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_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock</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_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_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 characteristics, including initial carrying value, residual amount, weighted average useful life, of finite-lived intangible assets acquired during the period by major class. A major class is composed of intangible assets that can be grouped together because they are similar, either by nature or by their use in the operations of the company.</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 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-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_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock</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_ScheduleOfGoodwillTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 goodwill by reportable segment and in total which includes a rollforward schedule.</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 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 2: 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 3: 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 4: 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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-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 (b)<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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: 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 (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 8: 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 (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 9: 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 (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 10: 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 (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<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/2009/role/commonPracticeRef<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_ScheduleOfGoodwillTextBlock</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_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived 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> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<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_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock</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>53
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667559747008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued Expenses (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_AccruedLiabilitiesCurrentAbstract', window );"><strong>Accrued Liabilities, Current [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_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Accrued Expenses</a></td>
<td class="text"><div style="margin-top:6pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued expenses at December&#160;31 consisted of the following (in thousands): </span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:72.692%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.639%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Compensation</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,893&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,277&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer rebates</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,497&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,768&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"><span style="-sec-ix-hidden:f-664"><span style="-sec-ix-hidden:f-665">Current operating lease liability</span></span></span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,278&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,620&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Product warranties</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,139&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,251&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Insurance</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,307&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,440&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest and taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,167&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,696&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,438&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,669&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total accrued expenses</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">88,719&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,721&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></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_AccruedLiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccruedLiabilitiesCurrentAbstract</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_ScheduleOfAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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.</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_ScheduleOfAccruedLiabilitiesTableTextBlock</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>54
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667653661776">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_LongTermDebtAbstract', window );"><strong>Long-Term Debt, Unclassified [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_rock_ScheduleOfInterestCashPaymentTableTextBlock', window );">Schedule of Cash Paid for Interest</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total cash paid for interest in the years ended December&#160;31 was (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:59.133%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.765%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.623%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest expense, net</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,002&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,047&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,639&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 1.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest income </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">679&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">174&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">269&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 1.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other adjustments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(128)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(679)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(345)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash paid for interest</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,553&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,542&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,563&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_ScheduleOfInterestCashPaymentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 interest, cash payment [table text block]</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;">rock_ScheduleOfInterestCashPaymentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types1: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_LongTermDebtAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LongTermDebtAbstract</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>55
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667560826688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pension and Other Postretirement Benefits (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems', window );"><strong>Defined Benefit Plans and Other Postretirement Benefit Plans Table Text Block [Line Items]</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_ScheduleOfCostsOfRetirementPlansTableTextBlock', window );">Schedule of Total Expense for All Retirement Plans</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total expense for all retirement plans for the years ended December&#160;31 was (in thousands):</span></div><div style="margin-top:3pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:44.075%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.443%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.443%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.449%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">401(k) plan</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,804&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,580&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,196&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Multiemployer and other defined benefit and pension plans</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">92&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">78&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Postretirement healthcare plan</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">251&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">342&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">411&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total retirement plan expense</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,147&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,001&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,685&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><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_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock', window );">Amounts Recognized in the Consolidated Financial Statements</a></td>
<td class="text"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amounts recognized in the consolidated financial statements consisted of (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:62.788%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.590%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.592%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued postretirement benefit liability:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current portion</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">357&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">353&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long term portion</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,851&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,876&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pre-tax accumulated other comprehensive loss &#8211; unamortized post-retirement healthcare costs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(73)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(74)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net amount recognized</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,135&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,155&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><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_RetirementPlanTypeAxis=us-gaap_DefinedBenefitPostretirementHealthCoverageMember', window );">Other Postretirement Benefits</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_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems', window );"><strong>Defined Benefit Plans and Other Postretirement Benefit Plans Table Text Block [Line Items]</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_ScheduleOfNetFundedStatusTableTextBlock', window );">Changes in the Accumulated Postretirement Benefit Obligation</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the changes in the accumulated postretirement benefit obligation related to the Company&#8217;s unfunded postretirement healthcare benefits at December&#160;31 (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:62.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.495%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.496%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Projected benefit obligation at January&#160;1</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,229&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,202&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">194&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">127&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Actuarial loss (gain)</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,784)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Benefits paid, net of contributions</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(274)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(316)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Projected benefit obligation at December&#160;31</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,208&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,229&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair value of plan assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Under funded status</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,208)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,229)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unamortized prior service cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">292&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">352&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unrecognized actuarial (gain)</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(219)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(278)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net amount recognized</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,135)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,155)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><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_ScheduleOfNetBenefitCostsTableTextBlock', window );">Schedule of Net Periodic Pension and Other Post-Retirement Benefit Costs</a></td>
<td class="text"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Components of net periodic postretirement benefit cost charged to expense for the years ended December&#160;31 were as follows (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest cost</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">194&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">127&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">125&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of unrecognized prior service cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Loss amortization (</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">113&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net periodic benefit cost</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">254&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">211&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">282&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Assumptions used to calculate the benefit obligation:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Discount rate</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.7&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.4&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Annual rate of increase in the per capita cost of:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:20.25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Medical costs before age 65 (</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:20.25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Medical costs after age 65 (</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.6&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.5&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.5&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:20.25pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prescription drug costs (</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.8&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-top:6pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)  For 2023 and 2022, it was assumed that these rates would gradually decline to 4.0% by 2075.  For 2021, it was assumed that these rates would gradually decline to 3.8% by 2075.</span></div><div style="margin-top:3pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)  Actuarial losses are amortized utilizing the corridor approach. Differences between actual experience and the actuarial assumptions are reflected in (gain)/loss. If the total net (gain) or loss exceeds 10 percent of the greater of the accumulated postretirement benefit obligation or plan assets, this excess must be amortized over the average remaining service period of the active plan participants. If most of the plan participants are inactive, the amortization period is the expected future lifetime of inactive plan participants.</span></div><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_ScheduleOfExpectedBenefitPaymentsTableTextBlock', window );">Expected Benefit Payments from the Plan</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Expected benefit payments from the plan for the years ended December&#160;31 are as follows (in thousands):</span></div><div style="margin-top:3pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:24.010%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.060%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.913%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.060%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.060%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.060%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.733%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2025</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2026</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2027</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2028</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Years 2029 - 2033</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected benefit payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">357&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">370&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">362&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">361&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">356&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,646&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></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_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems</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_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 amounts that are recognized in the balance sheet (or statement of financial position) for pension plans and/or other employee benefit plans, showing separately the assets and current and noncurrent liabilities (if applicable) recognized.</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 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-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_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock</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_ScheduleOfCostsOfRetirementPlansTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 costs related to the various types of retirement plans including defined benefit pension plan cost, defined contribution plan cost, other postretirement benefit plan cost, and net periodic benefit cost.</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 20<br> -Topic 715<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-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_ScheduleOfCostsOfRetirementPlansTableTextBlock</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_ScheduleOfExpectedBenefitPaymentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 benefits expected to be paid by pension plans and/or other employee benefit plans in each of the next five fiscal years and in the aggregate for the five fiscal years thereafter.</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 715<br> -SubTopic 20<br> -Subparagraph (f)<br> -Name Accounting Standards Codification<br> -Paragraph 1<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-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_ScheduleOfExpectedBenefitPaymentsTableTextBlock</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_ScheduleOfNetBenefitCostsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 net benefit costs for pension plans and/or other employee benefit plans including service cost, interest cost, expected return on plan assets, gain (loss), prior service cost or credit, transition asset or obligation, and gain (loss) recognized due to settlements or curtailments.</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 715<br> -SubTopic 20<br> -Subparagraph (h)<br> -Name Accounting Standards Codification<br> -Paragraph 1<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-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_ScheduleOfNetBenefitCostsTableTextBlock</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_ScheduleOfNetFundedStatusTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 net funded status of pension plans and/or other employee benefit plans.</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 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-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_ScheduleOfNetFundedStatusTableTextBlock</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_RetirementPlanTypeAxis=us-gaap_DefinedBenefitPostretirementHealthCoverageMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RetirementPlanTypeAxis=us-gaap_DefinedBenefitPostretirementHealthCoverageMember</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>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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667559821520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accumulated Other Comprehensive (Loss) Income (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract', window );"><strong>Accumulated Other Comprehensive Income (Loss), Net of Tax [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_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock', window );">Schedule of Components of Accumulated Other Comprehensive Income (Loss)</a></td>
<td class="text"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The cumulative balance of each component of accumulated other comprehensive (loss) income is as follows (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:29.601%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.958%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.180%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.449%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.550%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Foreign<br/>Currency<br/>Translation<br/>Adjustment</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Postretirement<br/>Benefit Plan<br/>Adjustments</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total Pre-<br/>Tax Amount</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Tax Benefit<br/>(Expense)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Accumulated<br/>Other<br/>Comprehensive<br/>(Loss) Income</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2021</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,640&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,247)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(607)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">794&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">187&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Postretirement benefit plan adjustments</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,852&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,852&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(449)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,403&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation adjustment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,022)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,022)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,022)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2022</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,382)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(395)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,777)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">345&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,432)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Postretirement benefit plan adjustments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">150&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(36)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">114&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign currency translation adjustment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,204&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,204&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,204&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2023</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,178)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(245)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,423)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">309&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,114)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></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_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract</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_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 accumulated other comprehensive income (loss).</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 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<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_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock</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>57
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667558890272">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity-Based Compensation (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_ShareBasedCompensationAbstract', window );"><strong>Share-Based Payment Arrangement, Noncash Expense [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_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock', window );">Summary of Compensation Expense Connection with Awards</a></td>
<td class="text">along with the related tax benefits recognized during the years ended December 31 (in thousands) were as follows:<div style="margin-top:6pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"></td><td style="width:59.047%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.694%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.535%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.695%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total stock compensation expense</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,750&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,334&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,652&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Tax benefits recognized related to stock compensation expense</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,516&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,175&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,189&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><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 );">Schedule of Number of Awards and Weighted Average Grant Date Fair Value</a></td>
<td class="text"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides the number of stock units and common stock granted during the years ended December&#160;31, along with the weighted-average grant-date fair value of each award:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"></td><td style="width:27.199%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.457%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.776%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.457%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.776%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.457%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.533%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.780%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">Awards</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Number<br/>of Awards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant&#160;Date<br/>Fair Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Number<br/>of Awards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant&#160;Date<br/>Fair Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Number<br/>of Awards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant&#160;Date<br/>Fair Value</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Deferred stock units</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">6,351&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">54.33&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">2,460&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">42.69&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">7,536&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">83.58&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Common stock</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">8,468&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">54.33&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">15,652&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">42.49&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">2,512&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">83.58&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Restricted stock units</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">99,820&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">61.93&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">132,430&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">43.92&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">72,243&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">79.28&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Performance stock units (1)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">85,323&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">53.22&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">108,464&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">47.00&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">62,778&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">87.84&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1) The Company&#8217;s performance stock units (&#8220;PSUs&#8221;) represent shares granted for which the final number of shares earned depends on financial performance.  The number of shares to be issued may vary between 0% and 200% of the number of PSUs granted depending on the relative achievement to targeted thresholds.  The Company's PSUs with a financial performance condition are based on the Company&#8217;s return on invested capital (&#8220;ROIC&#8221;) over a one-year period performance period.</span></div><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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock', window );">Summary of Ranges of Outstanding and Exercisable Options</a></td>
<td class="text">The following table summarizes the Company's outstanding and exercisable options at December&#160;31, 2023:<div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:28.578%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.350%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.835%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.157%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.911%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.919%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">Exercise Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Options<br/>Outstanding</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Remaining<br/>Contractual Life<br/>(in years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Exercise<br/>Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Options<br/>Exercisable</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Exercise<br/>Price</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$39.55</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">5,000&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">3.26</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">39.55&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">5,000&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">39.55&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><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_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Summary of Stock Options Transactions</a></td>
<td class="text"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes information about stock option transactions:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"><tr><td style="width:1.0%"></td><td style="width:32.478%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.953%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.953%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.953%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.955%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Options</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Exercise<br/>Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Remaining Contractual<br/>Life (in&#160;years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%">Aggregate<br/>Intrinsic&#160;Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Balance at January&#160;1, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">41,500&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">29.38&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Exercised</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">(36,500)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">27.99&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Balance at December 31, 2021</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">5,000&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">39.55&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Exercised</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Balance at December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">5,000&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">39.55&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Exercised</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Balance at December 31, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">5,000&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">39.55&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">3.26</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">197,150&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><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_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock', window );">Summary of Information About Restricted Stock Units and Weighted Average Grant Date Fair Value</a></td>
<td class="text"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes information about non-vested restricted stock units and performance stock units (that will convert to shares upon vesting) and common stock:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:15.566%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.695%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.525%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.742%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.987%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.525%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.998%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Restricted<br/>Stock<br/>Units</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant&#160;Date<br/>Fair Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Common<br/>Stock</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant&#160;Date<br/>Fair Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Performance<br/>Stock Units</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant&#160;Date<br/>Fair Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Deferred<br/>Stock<br/>Units (2)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%">Weighted<br/>Average<br/>Grant&#160;Date<br/>Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Balance at December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">235,370&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">49.87&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">211,368&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50.96&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,350&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">45.16&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">99,820&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">61.93&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,468&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">54.33&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">85,323&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53.22&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,351&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">54.33&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Adjustments (1)</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(70,610)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50.72&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(77,312)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53.37&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(8,468)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">54.33&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(71,106)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">51.74&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2,222)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36.47&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(24,908)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50.99&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(18,729)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">49.69&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Balance at December 31, 2023</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">232,970&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53.75&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">136,246&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">52.27&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,479&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46.90&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1) (i) 40,610 units of the Company's PSUs granted in 2022 were adjusted in the first quarter of 2023 to reflect 60.5% of the target amount granted based on the Company's actual ROIC compared to ROIC target for the performance period ended December&#160;31, 2022; and (ii) 30,000 units of the Company's TSR PSUs granted in 2020 for which the performance condition was not achieved and the PSUs were adjusted in the first quarter of </span></div><div style="margin-top:6pt;padding-left:18pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2023 to reflect zero earned as the threshold level of achievement was not met based on performance criteria as defined in the respective awards over a three-year performance period which ended March 1, 2023.</span></div><div style="margin-top:6pt;padding-left:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2) Vested and issuable upon termination from service as a member of the Company's Board of Directors.</span></div><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_rock_ScheduleOfFairValueOfOptionsExercisedAndOtherAwardsVestedTableTextBlock', window );">Aggregate Intrinsic Value of Options Exercised and Aggregate Fair Value of Restricted Stock Units and Restricted Shares that Vested</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the aggregate intrinsic value of options exercised and aggregate fair value of restricted stock units and restricted shares that vested during the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Aggregate intrinsic value of options exercised</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">2,103&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Aggregate fair value of vested restricted stock units</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">4,740&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">3,920&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">6,320&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Aggregate fair value of vested common stock</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">460&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">665&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">370&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Aggregate fair value of vested performance stock units</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">3,999&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">6,729&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">9,080&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Aggregate fair value of vested deferred stock units</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">345&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">105&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">630&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><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_rock_CashPaidToSettleLiabilityAwardsTableTextBlock', window );">Cash Paid to Settle Liability Awards</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides the number of restricted stock units credited to active participant accounts, balance of vested and unvested restricted stock units within active participant accounts, payments made with respect to MSPP liabilities and MSPP expense during years ended December&#160;31:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted stock units credited</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,921&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,365&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,475&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted stock units balance, vested and unvested</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">199,946&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">158,644&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">223,892&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Share-based liabilities paid (in thousands)</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,392&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,689&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,915&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">MSPP expense (recovery) (in thousands)</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,710&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,459)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,034&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_CashPaidToSettleLiabilityAwardsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Cash Paid To Settle Liability Awards [Table Text Block]</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;">rock_CashPaidToSettleLiabilityAwardsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types1: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_rock_ScheduleOfFairValueOfOptionsExercisedAndOtherAwardsVestedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Disclosure of the intrinsic value of options exercised and fair value of restricted stock and restricted stock units vested during the 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;">rock_ScheduleOfFairValueOfOptionsExercisedAndOtherAwardsVestedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types1: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_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 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 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-1<br><br>Reference 2: 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> -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_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock</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_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.</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 (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 718<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_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</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_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year.</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_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock</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_ShareBasedCompensationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareBasedCompensationAbstract</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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 number, weighted-average exercise price or conversion ratio, aggregate intrinsic value, and weighted-average remaining contractual term for outstanding and exercisable options that are fully vested and expected to vest. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</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> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 718<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock</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>58
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667565654688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Exit Activity Costs and Asset Impairments (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_RestructuringAndRelatedActivitiesAbstract', window );"><strong>Restructuring and Related Activities [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_ScheduleOfRestructuringReserveByTypeOfCostTextBlock', window );">Reconciliation of Liability for Exit Activity Costs Relating to Facility Consolidation Efforts</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the exit activity costs (recoveries) and asset impairment charges incurred by segment during the years ended December&#160;31 related to the restructuring activities described above (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:10.595%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.426%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.841%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.356%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.256%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.695%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:6.356%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.823%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.426%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:8.841%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:6.366%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Exit Activity</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Asset Impairment</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Exit Activity</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Asset Impairment</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Exit Activity</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Asset Impairment</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Renewables</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,558&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,136&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,694&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,256&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,198&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,454&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,769&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,193&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,962&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Residential</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">960&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,851&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,811&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,825&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,837&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">393&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">393&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Agtech</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">718&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">718&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">771&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,066&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,837&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,687&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,687&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Infrastructure </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(63)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(63)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(32)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(32)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">250&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">250&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">145&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">145&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,204&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,987&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,191&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,039&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,276&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,315&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,020&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,193&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,213&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table reconciles the beginning and ending liability for exit activity costs relating to the Company&#8217;s restructuring efforts (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:72.692%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.639%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of January&#160;1</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,417&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">272&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exit activity costs recognized</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,204&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,039&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash payments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,896)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,894)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December&#160;31</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,725&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,417&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><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_ScheduleOfRestructuringAndRelatedCostsTextBlock', window );">Summary of Exit Activity Costs and Asset Impairments Recorded in the Consolidated Statements of Operations</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides a summary of where the above exit activity costs and asset impairments are recorded in the consolidated statements of income for the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of sales</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,634&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,258&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,176&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general, and administrative expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,557&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,057&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,037&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total exit activity costs and asset impairments</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,191&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,315&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,213&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></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_RestructuringAndRelatedActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestructuringAndRelatedActivitiesAbstract</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_ScheduleOfRestructuringAndRelatedCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 costs incurred for restructuring including, but not limited to, exit and disposal activities, remediation, implementation, integration, asset impairment, and charges against earnings from the write-down of 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> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 5.P.3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-10-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB TOPIC 5.P.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-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_ScheduleOfRestructuringAndRelatedCostsTextBlock</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_ScheduleOfRestructuringReserveByTypeOfCostTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost. This element may also include a description of any reversal and other adjustment made during the period to the amount of an accrued liability for restructuring activities. This element may be used to encapsulate the roll forward presentations of an entity's restructuring reserve by type of cost and in total, and explanation of changes that occurred in 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 420<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 420<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-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_ScheduleOfRestructuringReserveByTypeOfCostTextBlock</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>59
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667565487200">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_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_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock', window );">Components of Income (Loss) Before Taxes from Continuing Operations</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of income before taxes from continuing operations consisted of the following for the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Domestic</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">149,348&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">112,635&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">93,155&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(356)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,145)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,407&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income before taxes from continuing operations</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">148,992&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111,490&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">99,562&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><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_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Summary of Provision for Income Taxes for Continuing Operations</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The provision for income taxes from continuing operations for the years ended December&#160;31 consisted of the following (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Federal</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,579&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,014&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,137&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,048&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,647&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,009&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">86&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">932&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total current</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,659&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,747&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,078&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">U.S. Federal</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,617&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,259&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,766&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,112&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,381&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">134&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(303)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,068&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total deferred</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,800&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,337&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,968&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Provision for income taxes</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,459&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,084&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,046&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><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_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Provision for Income Taxes from Continuing Operations Differs from the Federal Statutory Rate</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The provision for income taxes from continuing operations differs from the federal statutory rate of 21% due to the following for the years ended December 31 (in thousands, except for percentages) :</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"></td><td style="width:31.792%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.325%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.325%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.534%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.331%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#160;</span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Statutory rate</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,288&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,413&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,908&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21.0&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">State taxes, less federal effect</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,446&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.3&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,541&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,068&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.1&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Federal tax credits</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(787)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.5)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(549)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.5)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(587)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.6)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Excess tax benefit on stock based compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(203)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(214)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,039)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2.0)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Executive compensation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,369&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.9&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">960&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.9&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,781&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.8&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">346&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.2&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(67)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">915&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.9&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38,459&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25.8&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,084&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26.1&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,046&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25.2&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><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_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Deferred Tax Liabilities (Assets)</a></td>
<td class="text"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred tax liabilities at December&#160;31 consisted of the following (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:72.692%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.639%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Depreciation</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,838&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,570&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65,967&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">62,132&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating leases</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,325&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,775&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,919&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,706&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,264&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,358&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross deferred tax liabilities</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">94,313&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">88,541&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Capitalized research and development costs</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,286)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,503)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Equity compensation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,907)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,993)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating leases</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,678)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,076)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Assets held for sale</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(13,669)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Capital loss carryforward</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(26,527)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(26,490)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(12,422)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(10,417)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Gross deferred tax assets</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(63,820)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(68,148)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Valuation allowances</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,593&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,488&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax assets, net of valuation allowances</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(37,227)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(41,660)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net deferred tax liabilities</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57,086&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,881&#160;</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><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_SummaryOfValuationAllowanceTextBlock', window );">Summary of Valuation Allowance</a></td>
<td class="text"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following sets forth a reconciliation of the beginning and ending amount of the Company&#8217;s valuation allowance (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of January&#160;1</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,488&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,581&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost charged to the tax provision</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">105&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reductions</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(103)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(41)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reclassification from discontinued operations upon sale of industrial group</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,498&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December&#160;31</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,593&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,488&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,581&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><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_rock_IncomeTaxesPaidAndNetOfTaxRefundsTableTextBlock', window );">Income Taxes Paid, Net of Tax Refunds</a></td>
<td class="text"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company made net payments for income taxes for the following amounts for the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.830%"><tr><td style="width:1.0%"></td><td style="width:54.077%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.249%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.539%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.249%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.539%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.547%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Payments made for income taxes, net</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,447&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,017&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22,076&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_IncomeTaxesPaidAndNetOfTaxRefundsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Income taxes paid and net of tax refunds [Table Text Block].</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;">rock_IncomeTaxesPaidAndNetOfTaxRefundsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types1: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_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_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 9<br> -Section 50<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_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</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_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax 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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<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_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</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_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 12<br> -Section 50<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_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</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_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 income before income tax between domestic and foreign jurisdictions.</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(h)(1)(Note 1))<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_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock</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_SummaryOfValuationAllowanceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 valuation allowances to reduce deferred tax assets to net realizable value, including identification of the deferred tax asset more likely than not will not be fully realized and the corresponding amount of the valuation allowance.</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 740<br> -SubTopic 10<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_SummaryOfValuationAllowanceTextBlock</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>60
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667561755616">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings per Share (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [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 );">Schedule of Computation of Basic and Diluted Earnings per Share</a></td>
<td class="text"><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average shares outstanding for basic and diluted earnings were as follows for the years ended December&#160;31 (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Numerator:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income from continuing operations</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">110,533&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,406&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74,516&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income from discontinued operations</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">&#8212;&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,113&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income available to common shareholders</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">110,533&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,406&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">75,629&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator for basic earnings per share:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares outstanding</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,626&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,096&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,873&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator for diluted earnings per share:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Common stock options and stock units</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">159&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">181&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average shares and conversions</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,785&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,192&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,054&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><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 );">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides the potential anti-dilutive common stock units not included in the diluted weighted average shares calculations for the years ended December 31 (in thousands): </span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Common stock units</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">26&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">43&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">&#8212;&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></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_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EarningsPerShareAbstract</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>61
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667560809552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_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_LeaseCostTableTextBlock', window );">Lease, Cost</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of lease costs for the years ended December 31 were as follows (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:65.566%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.576%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,940&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,191&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,977&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term lease cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,645&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,694&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,153&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease cost</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,585&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,885&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,130&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information related to the Company's operating right-of-use assets and related operating lease liabilities for the years ended December 31 were as follows (in thousands):</span></div><div style="margin-top:3pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:65.566%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.572%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.576%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash paid for amounts included in the measurement of operating liabilities</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,628&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,835&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,431&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Right-of-use assets obtained in exchange for new lease liabilities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,468&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,008&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,084&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information related to the Company's lease terms and discount rates as of December 31 were as follows:</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:67.467%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.818%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.332%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:7.818%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.335%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average remaining lease term - operating leases</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.6</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.3</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">years</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average discount rate - operating leases</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.0</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><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 );">Lessee, Operating Lease, Liability, Maturity</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The future maturity of the Company's lease liabilities as of December&#160;31, 2023 were as follows (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:88.227%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.573%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,329&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,748&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,304&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,775&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,391&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">After 2028</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,191&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease payments</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54,738&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: present value discount</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(8,471)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Present value of lease liabilities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46,267&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></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_LeaseCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.</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 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_LeaseCostTableTextBlock</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_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>62
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667559589984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment Information (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_SegmentReportingInformationRevenueAbstract', window );"><strong>Segment Reporting Information, Revenue for Reportable Segment [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_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock', window );">Measurements Used by Management to Assess Performance of Segments</a></td>
<td class="text"><div style="margin-top:6pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total assets</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Renewables</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">377,694&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">392,368&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">445,486&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Residential</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">515,739&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">519,567&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">453,469&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agtech</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">168,213&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">193,966&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">212,038&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77,518&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">80,264&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82,662&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unallocated corporate assets</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">117,287&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,448&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,246&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,256,451&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,210,613&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,214,901&#160;</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Capital expenditures</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Renewables</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,113&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,589&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,268&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Residential </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,913&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,050&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,182&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Agtech</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,419&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,177&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,289&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Infrastructure </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,313&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,898&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,097&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unallocated corporate expenditures</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,239&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,424&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,869&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,997&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,138&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,705&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><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_DisaggregationOfRevenueTableTextBlock', window );">Disaggregation of Revenue</a></td>
<td class="text"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables illustrate revenue disaggregated by timing of transfer of control to the customer for the years ended December 31 (in thousands): </span></div><div style="margin-bottom:5pt;margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"><tr><td style="width:1.0%"></td><td style="width:20.211%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.846%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.995%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.375%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.995%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.545%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.998%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Renewables</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Residential</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Agtech</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Infrastructure</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net sales:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Point in Time</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,123&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">808,225&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,920&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,547&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">893,815&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Over Time</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">281,615&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,578&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">140,047&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">55,681&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">483,921&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">330,738&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">814,803&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">144,967&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">87,228&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,377,736&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:8pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="27" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Renewables</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Residential</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Agtech</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Infrastructure</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net sales:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Point in Time</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,317&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">761,576&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,011&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,983&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">834,887&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Over Time</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">350,250&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,672&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">155,857&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,300&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">555,079&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">377,567&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">767,248&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">168,868&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76,283&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,389,966&#160;</span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:8pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Renewables</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Residential</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Agtech</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Infrastructure</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net sales:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Point in Time</span></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,630&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">630,494&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,157&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,512&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">711,793&#160;</span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Over Time</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">403,466&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,011&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">179,004&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40,509&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">627,990&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">432,096&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">635,505&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">199,161&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,021&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,339,783&#160;</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><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_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock', window );">Net Sales by Region or Origin and Long-Lived Assets by Region of Domicile</a></td>
<td class="text"><div style="margin-top:12pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net sales by region or origin and long-lived assets by region of domicile for the years ended and as of December&#160;31 were as follows (in thousands):</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:59.222%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.640%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net sales</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">North America</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,366,012&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,373,907&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,318,795&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asia</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,724&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,059&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,988&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,377,736&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,389,966&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,339,783&#160;</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-lived assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">North America</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">154,778&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">136,553&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97,003&#160;</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Asia</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">234&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">365&#160;</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">154,837&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">136,787&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97,368&#160;</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></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_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.</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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_DisaggregationOfRevenueTableTextBlock</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_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 reconciliation of other items from reportable segments to their consolidated amount. Excludes reconciliation of revenue, profit (loss), and 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> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock</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_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 information concerning material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries.</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 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<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.1)<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_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock</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_SegmentReportingInformationRevenueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SegmentReportingInformationRevenueAbstract</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>63
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667556159056">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Summary of Activity Recorded within the Allowance for Doubtful Accounts) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_AllowanceForDoubtfulAccountsReceivableRollforward', window );"><strong>Accounts Receivable, Allowance for Credit Loss [Roll Forward]</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_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Beginning balance</a></td>
<td class="nump">$ 3,746<span></span>
</td>
<td class="nump">$ 3,738<span></span>
</td>
<td class="nump">$ 3,529<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_ProvisionForDoubtfulAccounts', window );">Bad debt expense, net of recoveries</a></td>
<td class="nump">3,148<span></span>
</td>
<td class="nump">1,221<span></span>
</td>
<td class="nump">898<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_FinancingReceivableAllowanceForCreditLossesWriteOffs', window );">Accounts written off against allowance and other adjustments</a></td>
<td class="num">(1,322)<span></span>
</td>
<td class="num">(1,213)<span></span>
</td>
<td class="num">(689)<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_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Ending balance</a></td>
<td class="nump">$ 5,572<span></span>
</td>
<td class="nump">$ 3,746<span></span>
</td>
<td class="nump">$ 3,738<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_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 allowance for credit loss on accounts receivable, 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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<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 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-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_AllowanceForDoubtfulAccountsReceivableCurrent</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_AllowanceForDoubtfulAccountsReceivableRollforward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 roll forward is a reconciliation of a concept from the beginning of a period to the end of a 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_AllowanceForDoubtfulAccountsReceivableRollforward</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_FinancingReceivableAllowanceForCreditLossesWriteOffs">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 writeoff of financing receivable, charged against allowance for credit loss.</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 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 79<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479294/326-20-55-79<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (c)(3)<br> -SubTopic 10<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-11B<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_FinancingReceivableAllowanceForCreditLossesWriteOffs</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_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 (reversal of expense) for expected credit loss on accounts receivable.</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 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 2: 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(5))<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_ProvisionForDoubtfulAccounts</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>64
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667555368416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Narrative) (Details)<br> $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>segment</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</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_SaleLeasebackTransactionLineItems', window );"><strong>Sale Leaseback Transaction [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_NumberOfReportableSegments', window );">Number of reportable segments | segment</a></td>
<td class="nump">4<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_AdvertisingExpense', window );">Advertising costs | $</a></td>
<td class="nump">$ 10.0<span></span>
</td>
<td class="nump">$ 10.9<span></span>
</td>
<td class="nump">$ 8.0<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 | Land, Buildings and Improvements</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_SaleLeasebackTransactionLineItems', window );"><strong>Sale Leaseback Transaction [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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</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>
<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 | Machinery and Equipment</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_SaleLeasebackTransactionLineItems', window );"><strong>Sale Leaseback Transaction [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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">3 years<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 | Land, Buildings and Improvements</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_SaleLeasebackTransactionLineItems', window );"><strong>Sale Leaseback Transaction [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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">40 years<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 | Machinery and Equipment</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_SaleLeasebackTransactionLineItems', window );"><strong>Sale Leaseback Transaction [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_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">20 years<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_StatementBusinessSegmentsAxis=rock_ResidentialMember', window );">Residential | Home Improvement Retail Company | Accounts Receivable | Customer Concentration Risk</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_SaleLeasebackTransactionLineItems', window );"><strong>Sale Leaseback Transaction [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_ConcentrationRiskPercentage1', window );">Concentrations of credit risk</a></td>
<td class="nump">13.00%<span></span>
</td>
<td class="nump">14.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_StatementBusinessSegmentsAxis=rock_ResidentialMember', window );">Residential | Home Improvement Retail Company | Net sales | Customer Concentration Risk</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_SaleLeasebackTransactionLineItems', window );"><strong>Sale Leaseback Transaction [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_ConcentrationRiskPercentage1', window );">Concentrations of credit risk</a></td>
<td class="nump">13.00%<span></span>
</td>
<td class="nump">14.00%<span></span>
</td>
<td class="nump">13.00%<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_AdvertisingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line.</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 720<br> -SubTopic 35<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483406/720-35-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_AdvertisingExpense</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_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</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 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-21<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-20<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-18<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-20<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_ConcentrationRiskPercentage1</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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</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_PropertyPlantAndEquipmentUsefulLife</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_SaleLeasebackTransactionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 840<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481295/840-40-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479741/842-40-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_SaleLeasebackTransactionLineItems</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_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_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandBuildingsAndImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandBuildingsAndImprovementsMember</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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</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_us-gaap_StatementBusinessSegmentsAxis=rock_ResidentialMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=rock_ResidentialMember</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_MajorCustomersAxis=rock_HomeImprovementRetailCompanyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_MajorCustomersAxis=rock_HomeImprovementRetailCompanyMember</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_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</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_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</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_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</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>65
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667558396720">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Summary of Interest Capitalized and Depreciation Expense) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</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_Depreciation', window );">Depreciation expense</a></td>
<td class="nump">$ 16,139<span></span>
</td>
<td class="nump">$ 14,583<span></span>
</td>
<td class="nump">$ 13,110<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_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</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 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-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_Depreciation</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>66
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667558730656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue - Narrative (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_CapitalizedContractCostLineItems', window );"><strong>Revenue, Initial Application Period Cumulative Effect Transition [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_rock_ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract', window );">Asset recognized related to incremental costs of obtaining a contract</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 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_ContractWithCustomerAssetNet', window );">Costs in excess of billings</a></td>
<td class="nump">52,035,000<span></span>
</td>
<td class="nump">41,732,000<span></span>
</td>
<td class="nump">$ 54,437,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_ContractWithCustomerLiability', window );">Unearned revenue</a></td>
<td class="nump">3,941,000<span></span>
</td>
<td class="nump">4,572,000<span></span>
</td>
<td class="nump">3,681,000<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_ContractWithCustomerAssetReclassifiedToReceivable', window );">Revenue recognized which was in contract liabilities</a></td>
<td class="nump">35,500,000<span></span>
</td>
<td class="nump">44,400,000<span></span>
</td>
<td class="nump">53,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_BalanceSheetLocationAxis=rock_BillingsinExcessofCostMember', window );">Billings in excess of costs</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_CapitalizedContractCostLineItems', window );"><strong>Revenue, Initial Application Period Cumulative Effect Transition [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_ContractWithCustomerLiability', window );">Unearned revenue</a></td>
<td class="nump">$ 44,735,000<span></span>
</td>
<td class="nump">$ 35,017,000<span></span>
</td>
<td class="nump">$ 46,711,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_srt_RangeAxis=srt_MinimumMember', window );">Minimum</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_CapitalizedContractCostLineItems', window );"><strong>Revenue, Initial Application Period Cumulative Effect Transition [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_rock_ContractWithCustomerContractPaymentTerms', window );">Contract payment terms</a></td>
<td class="text">30 days<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</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_CapitalizedContractCostLineItems', window );"><strong>Revenue, Initial Application Period Cumulative Effect Transition [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_rock_ContractWithCustomerContractPaymentTerms', window );">Contract payment terms</a></td>
<td class="text">60 days<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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Remaining performance obligation expected timing of satisfaction</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>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Contract with Customer, Asset, Obtained through Incremental Cost of Obtaining Contract</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;">rock_ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_rock_ContractWithCustomerContractPaymentTerms">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Contract With Customer, Contract Payment Terms</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;">rock_ContractWithCustomerContractPaymentTerms</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_CapitalizedContractCostLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 340<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479483/340-40-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_CapitalizedContractCostLineItems</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_ContractWithCustomerAssetNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 in exchange for good or service transferred to customer when right is conditioned on something other than passage of 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/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<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 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-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_ContractWithCustomerAssetNet</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_ContractWithCustomerAssetReclassifiedToReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time from transfer to receivable due to right to consideration becoming unconditional.</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 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-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_ContractWithCustomerAssetReclassifiedToReceivable</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_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 obligation to transfer good or service to customer for which consideration has been received or is receivable.</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 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-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 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-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_ContractWithCustomerLiability</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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Period in which remaining performance obligation is expected to be recognized as revenue, 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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -SubTopic 10<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-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_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1</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_BalanceSheetLocationAxis=rock_BillingsinExcessofCostMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BalanceSheetLocationAxis=rock_BillingsinExcessofCostMember</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>
<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>67
<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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667556159184">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Revenue - Contract Assets and Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_CapitalizedContractCostLineItems', window );"><strong>Revenue, Initial Application Period Cumulative Effect Transition [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_ContractWithCustomerAssetNet', window );">Costs in excess of billings</a></td>
<td class="nump">$ 52,035<span></span>
</td>
<td class="nump">$ 41,732<span></span>
</td>
<td class="nump">$ 54,437<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_ContractWithCustomerLiability', window );">Contract with customer liability</a></td>
<td class="num">(3,941)<span></span>
</td>
<td class="num">(4,572)<span></span>
</td>
<td class="num">(3,681)<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_BalanceSheetLocationAxis=rock_BillingsinExcessofCostMember', window );">Billings in excess of costs</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_CapitalizedContractCostLineItems', window );"><strong>Revenue, Initial Application Period Cumulative Effect Transition [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_ContractWithCustomerLiability', window );">Contract with customer liability</a></td>
<td class="num">$ (44,735)<span></span>
</td>
<td class="num">$ (35,017)<span></span>
</td>
<td class="num">$ (46,711)<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_CapitalizedContractCostLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 340<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479483/340-40-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_CapitalizedContractCostLineItems</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_ContractWithCustomerAssetNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 in exchange for good or service transferred to customer when right is conditioned on something other than passage of 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/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<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 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-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_ContractWithCustomerAssetNet</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_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 obligation to transfer good or service to customer for which consideration has been received or is receivable.</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 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-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 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-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_ContractWithCustomerLiability</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_BalanceSheetLocationAxis=rock_BillingsinExcessofCostMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BalanceSheetLocationAxis=rock_BillingsinExcessofCostMember</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>68
<FILENAME>R53.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667555502368">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Accounts Receivable (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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_ReceivablesAbstract', window );"><strong>Receivables [Abstract]</strong></a></td>
<td class="text">&#160;<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_AccountsReceivableGrossCurrent', window );">Trade accounts receivable</a></td>
<td class="nump">$ 178,087<span></span>
</td>
<td class="nump">$ 179,170<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_UnbilledContractsReceivable', window );">Costs in excess of billings</a></td>
<td class="nump">52,035<span></span>
</td>
<td class="nump">41,732<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_rock_ContractsReceivableGrossCurrent', window );">Total contract receivables</a></td>
<td class="nump">230,122<span></span>
</td>
<td class="nump">220,902<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_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Less allowance for doubtful accounts</a></td>
<td class="num">(5,572)<span></span>
</td>
<td class="num">(3,746)<span></span>
</td>
<td class="num">$ (3,738)<span></span>
</td>
<td class="num">$ (3,529)<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_AccountsReceivableNetCurrent', window );">Accounts receivable</a></td>
<td class="nump">$ 224,550<span></span>
</td>
<td class="nump">$ 217,156<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_rock_ContractsReceivableGrossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Contracts Receivable, Gross, 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;">rock_ContractsReceivableGrossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_AccountsReceivableGrossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(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 (c)<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 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 4: 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_AccountsReceivableGrossCurrent</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_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_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 allowance for credit loss on accounts receivable, 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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<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 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-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_AllowanceForDoubtfulAccountsReceivableCurrent</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_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ReceivablesAbstract</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_UnbilledContractsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Unbilled amounts due for services rendered or to be rendered, actions taken or to be taken, or a promise to refrain from taking certain actions in accordance with the terms of a legally binding agreement between the entity and, at a minimum, one other party. An example would be amounts associated with contracts or programs where the recognized revenue for performance thereunder exceeds the amounts billed under the terms thereof as of the date of the balance sheet.</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 912<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482312/912-310-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_UnbilledContractsReceivable</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>69
<FILENAME>R54.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667555406864">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Inventories, Net (Schedule of Inventories) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 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_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_InventoryRawMaterials', window );">Raw material</a></td>
<td class="nump">$ 77,489<span></span>
</td>
<td class="nump">$ 111,187<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_InventoryWorkInProcess', window );">Work-in-process</a></td>
<td class="nump">9,508<span></span>
</td>
<td class="nump">17,944<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">42,942<span></span>
</td>
<td class="nump">47,523<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_InventoryGross', window );">Gross inventory</a></td>
<td class="nump">129,939<span></span>
</td>
<td class="nump">176,654<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_InventoryAdjustments', window );">Less reserves</a></td>
<td class="num">(9,436)<span></span>
</td>
<td class="num">(6,294)<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_InventoryNet', window );">Total inventories</a></td>
<td class="nump">$ 120,503<span></span>
</td>
<td class="nump">$ 170,360<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_InventoryAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 inventory reserves for last-in first-out (LIFO) and other inventory 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/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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-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_InventoryAdjustments</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_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_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_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_InventoryWorkInProcess">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 merchandise or goods in the production process expected to be completed 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)(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_InventoryWorkInProcess</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>70
<FILENAME>R55.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667565439744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories, Net (Summary of Activity within the Reserve for Excess, Obsolete, and Slow Moving Inventory) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_rock_InventoryRollForward', window );"><strong>Inventory [Roll Forward]</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_InventoryValuationReserves', window );">Beginning balance</a></td>
<td class="nump">$ 6,179<span></span>
</td>
<td class="nump">$ 4,400<span></span>
</td>
<td class="nump">$ 4,161<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_rock_InventoryValuationExcessObsoleteAndSlowMovingInventory', window );">Excess, obsolete and slow moving inventory expense</a></td>
<td class="nump">4,243<span></span>
</td>
<td class="nump">1,582<span></span>
</td>
<td class="nump">215<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_rock_InventoryValuationScrappedInventoryAndOtherAdjustments', window );">Scrapped inventory and other adjustments</a></td>
<td class="num">(1,044)<span></span>
</td>
<td class="nump">197<span></span>
</td>
<td class="nump">24<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_InventoryValuationReserves', window );">Ending balance</a></td>
<td class="nump">$ 9,378<span></span>
</td>
<td class="nump">$ 6,179<span></span>
</td>
<td class="nump">$ 4,400<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_InventoryRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Inventory [Roll Forward]</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;">rock_InventoryRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_rock_InventoryValuationExcessObsoleteAndSlowMovingInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Inventory valuation excess, obsolete, and slow-moving inventory</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;">rock_InventoryValuationExcessObsoleteAndSlowMovingInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_rock_InventoryValuationScrappedInventoryAndOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Inventory valuation scrapped inventory and other adjustments.</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;">rock_InventoryValuationScrappedInventoryAndOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_InventoryValuationReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 valuation reserve for 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/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><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB TOPIC 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-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_InventoryValuationReserves</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>71
<FILENAME>R56.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667559933312">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Property, Plant, and Equipment, Net (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 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_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [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_LandAndLandImprovements', window );">Land and land improvements</a></td>
<td class="nump">$ 4,544<span></span>
</td>
<td class="nump">$ 4,704<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_BuildingsAndImprovementsGross', window );">Building and improvements</a></td>
<td class="nump">43,732<span></span>
</td>
<td class="nump">43,416<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_MachineryAndEquipmentGross', window );">Machinery and equipment</a></td>
<td class="nump">231,275<span></span>
</td>
<td class="nump">223,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_ConstructionInProgressGross', window );">Construction in progress</a></td>
<td class="nump">17,391<span></span>
</td>
<td class="nump">13,065<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_PropertyPlantAndEquipmentGross', window );">Property, plant, and equipment, gross</a></td>
<td class="nump">296,942<span></span>
</td>
<td class="nump">285,028<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_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less: accumulated depreciation</a></td>
<td class="num">(189,339)<span></span>
</td>
<td class="num">(175,444)<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_PropertyPlantAndEquipmentNet', window );">Property, plant, and equipment, net</a></td>
<td class="nump">$ 107,603<span></span>
</td>
<td class="nump">$ 109,584<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_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</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)(8)(b))<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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<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> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-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_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</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_BuildingsAndImprovementsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 depreciation of building structures held for productive use including addition, improvement, or renovation to the structure, including, but not limited to, interior masonry, interior flooring, electrical, and plumbing.</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 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-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_BuildingsAndImprovementsGross</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_ConstructionInProgressGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.</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 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-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_ConstructionInProgressGross</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_LandAndLandImprovements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 depreciation and depletion of real estate held for productive use and additions or improvements to real estate held for productive use, examples include, but are not limited to, walkways, driveways, fences, and parking lots. Excludes land held for sale.</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(13))<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_LandAndLandImprovements</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_MachineryAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 depreciation of tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.</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 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-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_MachineryAndEquipmentGross</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_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PropertyPlantAndEquipmentAbstract</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_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 depreciation, depletion and amortization of physical assets used in the normal conduct of business 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://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 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(13))<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 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-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_PropertyPlantAndEquipmentGross</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R57.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667557699152">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Acquisitions (Narrative) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jul. 05, 2023</div></th>
<th class="th"><div>Aug. 22, 2022</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [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>
<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_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 513,383<span></span>
</td>
<td class="nump">$ 512,363<span></span>
</td>
<td class="nump">$ 510,942<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_BusinessAcquisitionAxis=rock_QualityAluminumProductsMember', window );">Quality Aluminum Products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [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>
<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_BusinessCombinationConsiderationTransferred1', window );">Acquisition purchase price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 52,100<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_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,991<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=rock_PrivatelyHeldUtahBasedCompanyMember', window );">Privately Held Utah-Based Company</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [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>
<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_BusinessCombinationConsiderationTransferred1', window );">Acquisition purchase price</a></td>
<td class="nump">$ 10,400<span></span>
</td>
<td class="text">&#160;<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_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 4,133<span></span>
</td>
<td class="text">&#160;<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_FairValueMeasurementPeriod', window );">Fair Value, Measurement Period</a></td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<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>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_FairValueMeasurementPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Fair Value, Measurement 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;">rock_FairValueMeasurementPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-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_BusinessAcquisitionLineItems</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_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</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 30<br> -Paragraph 8<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479581/805-30-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 7<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-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_BusinessCombinationConsiderationTransferred1</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_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_BusinessAcquisitionAxis=rock_QualityAluminumProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BusinessAcquisitionAxis=rock_QualityAluminumProductsMember</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_BusinessAcquisitionAxis=rock_PrivatelyHeldUtahBasedCompanyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BusinessAcquisitionAxis=rock_PrivatelyHeldUtahBasedCompanyMember</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>73
<FILENAME>R58.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667557565776">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Acquisitions (Schedule of Allocation of the Purchase Price Consideration of the Fair Value of Assets Acquired and Liabilities Assumed) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Jul. 05, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Aug. 22, 2022</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_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [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>
<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_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 513,383<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 512,363<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 510,942<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_BusinessAcquisitionAxis=rock_QualityAluminumProductsMember', window );">Quality Aluminum Products</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [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>
<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,018<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_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital', window );">Working capital</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">23,372<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property, plant, and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,486<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Acquired intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,700<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther', window );">Other assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,813<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther', window );">Other liabilities</a></td>
<td class="num">$ (1,295)<span></span>
</td>
<td class="text">&#160;<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_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,991<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet', window );">Fair value of purchase consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 52,085<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_BusinessAcquisitionAxis=rock_PrivatelyHeldUtahBasedCompanyMember', window );">Privately Held Utah-Based Company</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [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>
<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_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital', window );">Working capital</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 827<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property, plant, and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">195<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill', window );">Acquired intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,200<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther', window );">Other assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">134<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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther', window );">Other liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(72)<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_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,133<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="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet', window );">Fair value of purchase consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,417<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>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Working Capital</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;">rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-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_BusinessAcquisitionLineItems</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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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, acquired at the acquisition date. 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.</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 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents</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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 other assets expected to be realized or consumed before one year or the normal operating cycle, if longer, acquired at the acquisition date.</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 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther</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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 intangible assets, excluding goodwill, acquired at the acquisition date.</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 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill</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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 recognized as of the acquisition date for the identifiable assets acquired in excess of (less than) the aggregate liabilities assumed.</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 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479303/805-10-55-37<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet</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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 other liabilities due after one year or the normal operating cycle, if longer, assumed at the acquisition date.</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 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther</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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 property, plant, and equipment recognized as of the acquisition date.</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 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479303/805-10-55-37<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-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_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment</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_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_BusinessAcquisitionAxis=rock_QualityAluminumProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BusinessAcquisitionAxis=rock_QualityAluminumProductsMember</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_BusinessAcquisitionAxis=rock_PrivatelyHeldUtahBasedCompanyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BusinessAcquisitionAxis=rock_PrivatelyHeldUtahBasedCompanyMember</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>74
<FILENAME>R59.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667558280112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions (Schedule of Acquired Intangible Assets) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 05, 2023</div></th>
<th class="th"><div>Dec. 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_BusinessAcquisitionAxis=rock_QualityAluminumProductsMember', window );">Quality Aluminum Products</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_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [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_FinitelivedIntangibleAssetsAcquired1', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 14,700<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_BusinessAcquisitionAxis=rock_QualityAluminumProductsMember', window );">Quality Aluminum Products | Trademarks</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_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [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_IndefinitelivedIntangibleAssetsAcquired', window );">Indefinite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,800<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_BusinessAcquisitionAxis=rock_QualityAluminumProductsMember', window );">Quality Aluminum Products | Customer relationships</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_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [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_FinitelivedIntangibleAssetsAcquired1', window );">Finite-lived intangible assets acquired</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 11,900<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_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted-Average Amortization Period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">12 years<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_BusinessAcquisitionAxis=rock_PrivatelyHeldUtahBasedCompanyMember', window );">Privately Held Utah-Based Company</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_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [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_FinitelivedIntangibleAssetsAcquired1', window );">Finite-lived intangible assets acquired</a></td>
<td class="nump">$ 5,200<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_BusinessAcquisitionAxis=rock_PrivatelyHeldUtahBasedCompanyMember', window );">Privately Held Utah-Based Company | Trademarks</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_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [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_FinitelivedIntangibleAssetsAcquired1', window );">Finite-lived intangible assets acquired</a></td>
<td class="nump">$ 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_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted-Average Amortization Period</a></td>
<td class="text">2 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_BusinessAcquisitionAxis=rock_PrivatelyHeldUtahBasedCompanyMember', window );">Privately Held Utah-Based Company | Customer relationships</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_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [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_FinitelivedIntangibleAssetsAcquired1', window );">Finite-lived intangible assets acquired</a></td>
<td class="nump">$ 4,900<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_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Weighted-Average Amortization Period</a></td>
<td class="text">12 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_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 amortization period of finite-lived intangible assets acquired either individually or as part of a group of 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>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-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_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife</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_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-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_BusinessAcquisitionLineItems</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_FinitelivedIntangibleAssetsAcquired1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 assets, excluding financial assets, lacking physical substance with a definite life, from an acquisition.</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 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-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_FinitelivedIntangibleAssetsAcquired1</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_IndefinitelivedIntangibleAssetsAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 assets, excluding financial assets and goodwill, lacking physical substance with an indefinite life, from an acquisition.</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_IndefinitelivedIntangibleAssetsAcquired</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_BusinessAcquisitionAxis=rock_QualityAluminumProductsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BusinessAcquisitionAxis=rock_QualityAluminumProductsMember</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_IndefiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IndefiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember</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_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CustomerRelationshipsMember</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_BusinessAcquisitionAxis=rock_PrivatelyHeldUtahBasedCompanyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BusinessAcquisitionAxis=rock_PrivatelyHeldUtahBasedCompanyMember</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_TrademarksMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TrademarksMember</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>75
<FILENAME>R60.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667558385568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions (Acquisition Related Costs) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [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_BusinessCombinationAcquisitionRelatedCosts', window );">Total acquisition related costs</a></td>
<td class="nump">$ 265<span></span>
</td>
<td class="nump">$ 1,972<span></span>
</td>
<td class="nump">$ 949<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_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of sales</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_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [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_BusinessCombinationAcquisitionRelatedCosts', window );">Total acquisition related costs</a></td>
<td class="nump">12<span></span>
</td>
<td class="nump">1,427<span></span>
</td>
<td class="nump">0<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_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember', window );">Selling, general and administrative costs</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_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [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_BusinessCombinationAcquisitionRelatedCosts', window );">Total acquisition related costs</a></td>
<td class="nump">$ 253<span></span>
</td>
<td class="nump">$ 545<span></span>
</td>
<td class="nump">$ 949<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_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 805<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-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_BusinessAcquisitionLineItems</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_BusinessCombinationAcquisitionRelatedCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity 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 805<br> -SubTopic 10<br> -Section 25<br> -Paragraph 23<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479405/805-10-25-23<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_BusinessCombinationAcquisitionRelatedCosts</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_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember</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_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember</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>76
<FILENAME>R61.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667556028416">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Related Intangible Assets (Schedule of Changes in Carrying Amount of Goodwill) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 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_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</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_Goodwill', window );">Balance at</a></td>
<td class="nump">$ 512,363<span></span>
</td>
<td class="nump">$ 510,942<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_GoodwillAcquiredDuringPeriod', window );">Acquired goodwill</a></td>
<td class="nump">4,133<span></span>
</td>
<td class="nump">3,604<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_GoodwillPurchaseAccountingAdjustments', window );">Adjustment to prior year acquisition</a></td>
<td class="nump">387<span></span>
</td>
<td class="nump">904<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_GoodwillForeignCurrencyTranslationGainLoss', window );">Foreign currency translation</a></td>
<td class="num">(832)<span></span>
</td>
<td class="num">(3,087)<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_GoodwillWrittenOffRelatedToSaleOfBusinessUnit', window );">Sale of business</a></td>
<td class="num">(2,668)<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 );">Balance at</a></td>
<td class="nump">513,383<span></span>
</td>
<td class="nump">512,363<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_StatementBusinessSegmentsAxis=rock_RenewablesMember', window );">Renewables</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_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</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_Goodwill', window );">Balance at</a></td>
<td class="nump">188,030<span></span>
</td>
<td class="nump">188,680<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_GoodwillAcquiredDuringPeriod', window );">Acquired goodwill</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_GoodwillPurchaseAccountingAdjustments', window );">Adjustment to prior year acquisition</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">904<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_GoodwillForeignCurrencyTranslationGainLoss', window );">Foreign currency translation</a></td>
<td class="num">(1,132)<span></span>
</td>
<td class="num">(1,554)<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_GoodwillWrittenOffRelatedToSaleOfBusinessUnit', window );">Sale of business</a></td>
<td class="num">(2,668)<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 );">Balance at</a></td>
<td class="nump">184,230<span></span>
</td>
<td class="nump">188,030<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_StatementBusinessSegmentsAxis=rock_ResidentialMember', window );">Residential</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_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</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_Goodwill', window );">Balance at</a></td>
<td class="nump">209,056<span></span>
</td>
<td class="nump">205,452<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_GoodwillAcquiredDuringPeriod', window );">Acquired goodwill</a></td>
<td class="nump">4,133<span></span>
</td>
<td class="nump">3,604<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_GoodwillPurchaseAccountingAdjustments', window );">Adjustment to prior year acquisition</a></td>
<td class="nump">387<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_GoodwillForeignCurrencyTranslationGainLoss', window );">Foreign currency translation</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_GoodwillWrittenOffRelatedToSaleOfBusinessUnit', window );">Sale of business</a></td>
<td class="nump">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_Goodwill', window );">Balance at</a></td>
<td class="nump">213,576<span></span>
</td>
<td class="nump">209,056<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_StatementBusinessSegmentsAxis=rock_AgtechMember', window );">Agtech</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_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</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_Goodwill', window );">Balance at</a></td>
<td class="nump">83,599<span></span>
</td>
<td class="nump">85,132<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_GoodwillAcquiredDuringPeriod', window );">Acquired goodwill</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_GoodwillPurchaseAccountingAdjustments', window );">Adjustment to prior year acquisition</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_GoodwillForeignCurrencyTranslationGainLoss', window );">Foreign currency translation</a></td>
<td class="nump">300<span></span>
</td>
<td class="num">(1,533)<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_GoodwillWrittenOffRelatedToSaleOfBusinessUnit', window );">Sale of business</a></td>
<td class="nump">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_Goodwill', window );">Balance at</a></td>
<td class="nump">83,899<span></span>
</td>
<td class="nump">83,599<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_StatementBusinessSegmentsAxis=rock_InfrastructureMember', window );">Infrastructure</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_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</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_Goodwill', window );">Balance at</a></td>
<td class="nump">31,678<span></span>
</td>
<td class="nump">31,678<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_GoodwillAcquiredDuringPeriod', window );">Acquired goodwill</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_GoodwillPurchaseAccountingAdjustments', window );">Adjustment to prior year acquisition</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_GoodwillForeignCurrencyTranslationGainLoss', window );">Foreign currency translation</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_GoodwillWrittenOffRelatedToSaleOfBusinessUnit', window );">Sale of business</a></td>
<td class="nump">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_Goodwill', window );">Balance at</a></td>
<td class="nump">$ 31,678<span></span>
</td>
<td class="nump">$ 31,678<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_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_GoodwillAcquiredDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.</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 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 2: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_GoodwillAcquiredDuringPeriod</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_GoodwillForeignCurrencyTranslationGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits 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/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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_GoodwillForeignCurrencyTranslationGainLoss</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_GoodwillPurchaseAccountingAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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) from adjustments after acquisition date under purchase accounting of an asset representing the 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/2009/role/commonPracticeRef<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 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 16<br> -SubTopic 10<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479405/805-10-25-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_GoodwillPurchaseAccountingAdjustments</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_GoodwillRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 roll forward is a reconciliation of a concept from the beginning of a period to the end of a 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_GoodwillRollForward</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_GoodwillWrittenOffRelatedToSaleOfBusinessUnit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 divestiture 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 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 2: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_GoodwillWrittenOffRelatedToSaleOfBusinessUnit</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_StatementBusinessSegmentsAxis=rock_RenewablesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=rock_RenewablesMember</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_StatementBusinessSegmentsAxis=rock_ResidentialMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=rock_ResidentialMember</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_StatementBusinessSegmentsAxis=rock_AgtechMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=rock_AgtechMember</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_StatementBusinessSegmentsAxis=rock_InfrastructureMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=rock_InfrastructureMember</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>77
<FILENAME>R62.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667560616128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Related Intangible Assets (Narrative) (Details)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Oct. 31, 2023 </div>
<div>unit</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>reporting_unit</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($) </div>
<div>reporting_unit</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>reporting_unit</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>
<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_GoodwillImpairedAccumulatedImpairmentLoss', window );">Accumulated impairment losses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 133,200,000<span></span>
</td>
<td class="nump">$ 133,200,000<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_GoodwillImpairmentLoss', window );">Goodwill impairment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<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_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill', window );">Impairment of indefinite-lived intangibles</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<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_rock_ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits', window );">Carrying amount in excess of fair value, number of reporting units | reporting_unit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</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_ImpairmentOfIntangibleAssetIndefiniteLivedExcludingGoodwillStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration', window );">Impairment, Intangible Asset, Indefinite-Lived (Excluding Goodwill), Statement of Income or Comprehensive Income [Extensible Enumeration]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Goodwill and Intangible Asset Impairment<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_NumberOfReportingUnits', window );">Number of reporting units | unit</a></td>
<td class="nump">7<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember', window );">Trademarks</a></td>
<td class="text">&#160;<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_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>
<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_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill', window );">Impairment of indefinite-lived intangibles</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,800,000<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_rock_ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Reporting Unit, Carrying Amount in Excess of Fair Value, Number of Reporting Units</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;">rock_ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillImpairedAccumulatedImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 impairment loss for 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 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 2: 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 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 (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-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_GoodwillImpairedAccumulatedImpairmentLoss</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_GoodwillImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 loss from the write-down of an asset representing the 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://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/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 (e)<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 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-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_GoodwillImpairmentLoss</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_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_ImpairmentOfIntangibleAssetIndefiniteLivedExcludingGoodwillStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 income or comprehensive income that includes impairment of indefinite-lived intangible asset 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 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-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_ImpairmentOfIntangibleAssetIndefiniteLivedExcludingGoodwillStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration</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>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_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 impairment loss resulting from write-down of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit to fair value.</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 (b)<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 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-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_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill</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_NumberOfReportingUnits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 reporting units tested for impairment of goodwill. A reporting unit is an operating segment or one level below an operating segment.</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_NumberOfReportingUnits</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IndefiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember</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>78
<FILENAME>R63.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667560605840">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Goodwill and Related Intangible Assets (Schedule of Acquired Intangible Assets) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Amount, Finite-lived intangible assets</a></td>
<td class="nump">$ 152,931<span></span>
</td>
<td class="nump">$ 157,107<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_rock_AcquiredIntangibleAssetsTotal', window );">Total acquired intangible assets, Gross Carrying Amount</a></td>
<td class="nump">205,231<span></span>
</td>
<td class="nump">212,607<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, Finite-lived intangible assets</a></td>
<td class="nump">79,251<span></span>
</td>
<td class="nump">75,081<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_rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization', window );">Total acquired intangible assets, Accumulated Amortization</a></td>
<td class="nump">79,251<span></span>
</td>
<td class="nump">75,081<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_TrademarksMember', window );">Trademarks</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Amount, Finite-lived intangible assets</a></td>
<td class="nump">5,773<span></span>
</td>
<td class="nump">5,448<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_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization, Finite-lived intangible assets</a></td>
<td class="nump">4,714<span></span>
</td>
<td class="nump">4,481<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_UnpatentedTechnologyMember', window );">Unpatented technology and patents</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Amount, Finite-lived intangible assets</a></td>
<td class="nump">34,133<span></span>
</td>
<td class="nump">34,163<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_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization, Finite-lived intangible assets</a></td>
<td class="nump">24,295<span></span>
</td>
<td class="nump">22,037<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_CustomerRelationshipsMember', window );">Customer relationships</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Amount, Finite-lived intangible assets</a></td>
<td class="nump">110,649<span></span>
</td>
<td class="nump">115,125<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_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization, Finite-lived intangible assets</a></td>
<td class="nump">48,088<span></span>
</td>
<td class="nump">46,557<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_NoncompeteAgreementsMember', window );">Non-compete agreements</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Amount, Finite-lived intangible assets</a></td>
<td class="nump">2,376<span></span>
</td>
<td class="nump">2,371<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_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization, Finite-lived intangible assets</a></td>
<td class="nump">2,154<span></span>
</td>
<td class="nump">2,006<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_IndefiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember', window );">Trademarks</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [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_IndefiniteLivedIntangibleAssetsExcludingGoodwill', window );">Gross Carrying Amount, Indefinite-lived intangible assets</a></td>
<td class="nump">52,300<span></span>
</td>
<td class="nump">55,500<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_rock_IndefiniteLivedAccumulatedAmortization', window );">Accumulated Amortization, Indefinite-lived intangible assets</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_AcquiredIntangibleAssetsTotal">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Acquired Intangible Assets, Total.</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;">rock_AcquiredIntangibleAssetsTotal</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_rock_IndefiniteLivedAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Indefinite-lived accumulated amortization.</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;">rock_IndefiniteLivedAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 acquired intangible assets, accumulated amortization</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;">rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_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_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 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 928<br> -SubTopic 340<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483147/928-340-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<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_FiniteLivedIntangibleAssetsGross</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_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-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_FiniteLivedIntangibleAssetsLineItems</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_IndefiniteLivedIntangibleAssetsExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of 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> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<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_IndefiniteLivedIntangibleAssetsExcludingGoodwill</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_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TrademarksMember</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_UnpatentedTechnologyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_UnpatentedTechnologyMember</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_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CustomerRelationshipsMember</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_NoncompeteAgreementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_NoncompeteAgreementsMember</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_IndefiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IndefiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember</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>79
<FILENAME>R64.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667558699760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Related Intangible Assets (Schedule of Impairment Charges) (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [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_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill', window );">Impairment of indefinite-lived intangibles</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<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_IndefiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember', window );">Trademarks</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_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [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_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill', window );">Impairment of indefinite-lived intangibles</a></td>
<td class="nump">$ 3,800,000<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_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-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_FiniteLivedIntangibleAssetsLineItems</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_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 impairment loss resulting from write-down of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit to fair value.</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 (b)<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 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-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_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill</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_IndefiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IndefiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksMember</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>80
<FILENAME>R65.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667558543168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Related Intangible Assets (Schedule of Amortization Expense) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</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 Assets</a></td>
<td class="nump">$ 11,239<span></span>
</td>
<td class="nump">$ 11,584<span></span>
</td>
<td class="nump">$ 18,856<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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>R66.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667558488176">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Goodwill and Related Intangible Assets (Schedule of Future Amortization Expense) (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</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_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract', window );"><strong>Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [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_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 10,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_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2025</a></td>
<td class="nump">10,386<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_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2026</a></td>
<td class="nump">9,320<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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2027</a></td>
<td class="nump">7,979<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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">2028</a></td>
<td class="nump">$ 7,184<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_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<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/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_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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).</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> -SubTopic 30<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/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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<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/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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</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_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<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/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_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</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_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<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/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_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</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_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract</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>82
<FILENAME>R67.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667558754832">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Accrued Expenses (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 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_AccruedLiabilitiesCurrentAbstract', window );"><strong>Accrued Liabilities, Current [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_EmployeeRelatedLiabilitiesCurrent', window );">Compensation</a></td>
<td class="nump">$ 22,893<span></span>
</td>
<td class="nump">$ 19,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_rock_AccruedCustomerRebatesCurrent', window );">Customer rebates</a></td>
<td class="nump">$ 18,497<span></span>
</td>
<td class="nump">$ 16,768<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_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList', window );">Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]</a></td>
<td class="text">Accrued expenses<span></span>
</td>
<td class="text">Accrued expenses<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 );">Current operating lease liability</a></td>
<td class="nump">$ 10,278<span></span>
</td>
<td class="nump">$ 8,620<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_ProductWarrantyAccrualClassifiedCurrent', window );">Product warranties</a></td>
<td class="nump">9,139<span></span>
</td>
<td class="nump">6,251<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_AccruedInsuranceCurrent', window );">Insurance</a></td>
<td class="nump">6,307<span></span>
</td>
<td class="nump">6,440<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_AccruedIncomeTaxesCurrent', window );">Interest and taxes</a></td>
<td class="nump">5,167<span></span>
</td>
<td class="nump">5,696<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">16,438<span></span>
</td>
<td class="nump">10,669<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_AccruedLiabilitiesCurrentAndNoncurrent', window );">Accrued Liabilities, Total</a></td>
<td class="nump">$ 88,719<span></span>
</td>
<td class="nump">$ 73,721<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_AccruedCustomerRebatesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 customer rebates, 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;">rock_AccruedCustomerRebatesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_AccruedInsuranceCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 to insurance entities to mitigate potential loss from various risks or to satisfy a promise to provide certain coverage's to employees. 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_AccruedInsuranceCurrent</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_AccruedLiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccruedLiabilitiesCurrentAbstract</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_AccruedLiabilitiesCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities.</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 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15(5))<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_AccruedLiabilitiesCurrentAndNoncurrent</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_ProductWarrantyAccrualClassifiedCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents 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/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><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.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_ProductWarrantyAccrualClassifiedCurrent</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>83
<FILENAME>R68.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667557308544">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Debt (Narrative) (Details)<br></strong></div></th>
<th class="th">
<div>Dec. 08, 2022 </div>
<div>USD ($) </div>
<div>debtCovenant</div>
</th>
<th class="th">
<div>Jan. 24, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</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_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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>
<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_LongTermDebt', window );">Carrying value of outstanding debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 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_DeferredFinanceCostsNet', window );">Debt Issuance Costs, Net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,700,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_DebtInstrumentAxis=rock_A2022SeniorCreditAgreementMember', window );">2022 Senior Credit Agreement | Applicable rate through March 31, 2023</a></td>
<td class="text">&#160;<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_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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>
<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_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage', window );">Annual commitment fee (as a percentage)</a></td>
<td class="nump">0.20%<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rock_A2022SeniorCreditAgreementMember', window );">2022 Senior Credit Agreement | Base Rate | Applicable rate through March 31, 2023</a></td>
<td class="text">&#160;<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_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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>
<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 );">Initial applicable margin</a></td>
<td class="nump">0.125%<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rock_A2022SeniorCreditAgreementMember', window );">2022 Senior Credit Agreement | Secured Overnight Financing Rate (SOFR) | Applicable rate through March 31, 2023</a></td>
<td class="text">&#160;<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_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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>
<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 );">Initial applicable margin</a></td>
<td class="nump">1.125%<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rock_A2022SeniorCreditAgreementMember', window );">2022 Senior Credit Agreement | Minimum | Applicable rate after April 1, 2023</a></td>
<td class="text">&#160;<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_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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>
<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_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage', window );">Annual commitment fee (as a percentage)</a></td>
<td class="nump">0.20%<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rock_A2022SeniorCreditAgreementMember', window );">2022 Senior Credit Agreement | Minimum | Base Rate | Applicable rate after April 1, 2023</a></td>
<td class="text">&#160;<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_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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>
<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 );">Initial applicable margin</a></td>
<td class="nump">0.125%<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rock_A2022SeniorCreditAgreementMember', window );">2022 Senior Credit Agreement | Minimum | Secured Overnight Financing Rate (SOFR) | Applicable rate after April 1, 2023</a></td>
<td class="text">&#160;<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_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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>
<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 );">Initial applicable margin</a></td>
<td class="nump">1.125%<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rock_A2022SeniorCreditAgreementMember', window );">2022 Senior Credit Agreement | Maximum | Applicable rate after April 1, 2023</a></td>
<td class="text">&#160;<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_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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>
<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_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage', window );">Annual commitment fee (as a percentage)</a></td>
<td class="nump">0.25%<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rock_A2022SeniorCreditAgreementMember', window );">2022 Senior Credit Agreement | Maximum | Base Rate | Applicable rate after April 1, 2023</a></td>
<td class="text">&#160;<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_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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>
<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 );">Initial applicable margin</a></td>
<td class="nump">1.00%<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rock_A2022SeniorCreditAgreementMember', window );">2022 Senior Credit Agreement | Maximum | Secured Overnight Financing Rate (SOFR) | Applicable rate after April 1, 2023</a></td>
<td class="text">&#160;<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_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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>
<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 );">Initial applicable margin</a></td>
<td class="nump">2.00%<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=rock_SeniorCreditAgreementMember', window );">Senior Credit Agreement | Standby Letters of Credit</a></td>
<td class="text">&#160;<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_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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>
<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 );">Maximum borrowing capacity under the revolving credit facility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,900,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_DebtInstrumentAxis=rock_SeniorCreditAgreementMember', window );">Senior Credit Agreement | Revolving Credit Facility</a></td>
<td class="text">&#160;<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_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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>
<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_LongTermDebt', window );">Carrying value of outstanding debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 91,000,000<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_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Availability amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 396,100,000<span></span>
</td>
<td class="nump">304,500,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_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Revolving Credit Facility</a></td>
<td class="text">&#160;<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_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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>
<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_LongTermDebt', window );">Carrying value of outstanding debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">88,800,000<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_DeferredFinanceCostsNet', window );">Debt Issuance Costs, Net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,200,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_DebtInstrumentCarryingAmount', window );">Long term debt gross</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 91,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_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Revolving Credit Facility | 2022 Senior Credit Agreement</a></td>
<td class="text">&#160;<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_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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>
<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_LineOfCreditFacilityCurrentBorrowingCapacity', window );">Current borrowing capacity</a></td>
<td class="nump">$ 400,000,000<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_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity under the revolving credit facility</a></td>
<td class="nump">$ 700,000,000<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_DebtInstrumentNumberOfDebtCovenants', window );">Number of debt covenants | debtCovenant</a></td>
<td class="nump">2<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Revolving Credit Facility | 2019 Senior Credit Agreement</a></td>
<td class="text">&#160;<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_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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>
<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_LineOfCreditFacilityCurrentBorrowingCapacity', window );">Current borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 400,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_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Revolving Credit Facility | 2019 Senior Credit Agreement | Minimum</a></td>
<td class="text">&#160;<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_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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>
<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_LineOfCreditFacilityCommitmentFeePercentage', window );">Annual commitment fee</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.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_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Revolving Credit Facility | 2019 Senior Credit Agreement | Minimum | LIBOR</a></td>
<td class="text">&#160;<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_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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>
<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 );">LIBOR floor, plus</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.125%<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_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Revolving Credit Facility | 2019 Senior Credit Agreement | Maximum</a></td>
<td class="text">&#160;<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_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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>
<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_LineOfCreditFacilityCommitmentFeePercentage', window );">Annual commitment fee</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.25%<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_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember', window );">Revolving Credit Facility | 2019 Senior Credit Agreement | Maximum | LIBOR</a></td>
<td class="text">&#160;<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_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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>
<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 );">LIBOR floor, plus</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2.00%<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_LongtermDebtTypeAxis=us-gaap_MediumTermNotesMember', window );">Term Loan | 2022 Senior Credit Agreement</a></td>
<td class="text">&#160;<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_DebtInstrumentLineItems', window );"><strong>Debt Instrument [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>
<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_DebtInstrumentFaceAmount', window );">Term loan (up to)</a></td>
<td class="nump">$ 300,000,000<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>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_DebtInstrumentNumberOfDebtCovenants">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Debt Instrument, Number of Debt Covenants</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;">rock_DebtInstrumentNumberOfDebtCovenants</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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>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_DebtInstrumentCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt.</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://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><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-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_DebtInstrumentCarryingAmount</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_DebtInstrumentFaceAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 (par) amount of debt instrument at time of issuance.</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 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1<br><br>Reference 2: 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 (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-2<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482949/835-30-55-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_DebtInstrumentFaceAmount</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_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_DebtInstrumentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1<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(f))<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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3<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> -Subparagraph (a)<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/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69E<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69F<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69F<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 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<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 1B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<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 1B<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<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 1B<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 14: 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 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 18: 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 (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 19: 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 (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 20: 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 (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 25: 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 (c)<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_DebtInstrumentLineItems</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_DeferredFinanceCostsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.</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 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<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_DeferredFinanceCostsNet</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_LineOfCreditFacilityCommitmentFeePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 fee, expressed as a percentage of the line of credit facility, for the line of credit facility regardless of whether the facility has been used.</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_LineOfCreditFacilityCommitmentFeePercentage</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_LineOfCreditFacilityCurrentBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any 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_LineOfCreditFacilityCurrentBorrowingCapacity</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_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_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility.</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_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage</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_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</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/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<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 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 5: 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 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(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<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 4<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-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_LongTermDebt</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_DebtInstrumentAxis=rock_A2022SeniorCreditAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=rock_A2022SeniorCreditAgreementMember</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_rock_DebtInstrumentApplicableRatePeriodAxis=rock_ApplicableRatePeriod1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">rock_DebtInstrumentApplicableRatePeriodAxis=rock_ApplicableRatePeriod1Member</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=rock_SecuredOvernightFinancingRateSOFRMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=rock_SecuredOvernightFinancingRateSOFRMember</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_DebtInstrumentApplicableRatePeriodAxis=rock_ApplicableRatePeriod2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">rock_DebtInstrumentApplicableRatePeriodAxis=rock_ApplicableRatePeriod2Member</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_us-gaap_DebtInstrumentAxis=rock_SeniorCreditAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=rock_SeniorCreditAgreementMember</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=us-gaap_StandbyLettersOfCreditMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StandbyLettersOfCreditMember</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=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_us-gaap_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LongtermDebtTypeAxis=us-gaap_LineOfCreditMember</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_DebtInstrumentAxis=rock_A2019SeniorCreditAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=rock_A2019SeniorCreditAgreementMember</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=rock_LondonInterbankOfferedRateLIBOR1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=rock_LondonInterbankOfferedRateLIBOR1Member</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_LongtermDebtTypeAxis=us-gaap_MediumTermNotesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LongtermDebtTypeAxis=us-gaap_MediumTermNotesMember</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>84
<FILENAME>R69.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667555353984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Debt (Schedule of Cash Paid for Interest) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_LongTermDebtAbstract', window );"><strong>Long-Term Debt, Unclassified [Abstract]</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_InterestIncomeExpenseNet', window );">Interest expense, net</a></td>
<td class="num">$ (3,002)<span></span>
</td>
<td class="num">$ (4,047)<span></span>
</td>
<td class="num">$ (1,639)<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_InterestIncomeOther', window );">Interest income</a></td>
<td class="nump">679<span></span>
</td>
<td class="nump">174<span></span>
</td>
<td class="nump">269<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_rock_InterestAdjustment', window );">Other adjustments</a></td>
<td class="num">(128)<span></span>
</td>
<td class="num">(679)<span></span>
</td>
<td class="num">(345)<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_InterestPaidNet', window );">Cash paid for interest</a></td>
<td class="nump">$ 3,553<span></span>
</td>
<td class="nump">$ 3,542<span></span>
</td>
<td class="nump">$ 1,563<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_InterestAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Interest Adjustment</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;">rock_InterestAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_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_InterestIncomeOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 interest income earned from interest bearing assets classified as 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;">us-gaap_InterestIncomeOther</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_LongTermDebtAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LongTermDebtAbstract</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>85
<FILENAME>R70.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667555922112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pension and Other Postretirement Benefits (Schedule of Total Expense for All Retirement Plans) (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>plan</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</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_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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_PostemploymentBenefitsPeriodExpense', window );">Total retirement plan expense</a></td>
<td class="nump">$ 4,147<span></span>
</td>
<td class="nump">$ 4,001<span></span>
</td>
<td class="nump">$ 3,685<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_RetirementPlanTypeAxis=rock_A401kPlanMember', window );">401(k) plan</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_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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_PostemploymentBenefitsPeriodExpense', window );">Total retirement plan expense</a></td>
<td class="nump">3,804<span></span>
</td>
<td class="nump">3,580<span></span>
</td>
<td class="nump">3,196<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_RetirementPlanTypeAxis=us-gaap_PensionPlansDefinedBenefitMember', window );">Multiemployer and other defined benefit and pension plans</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_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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_PostemploymentBenefitsPeriodExpense', window );">Total retirement plan expense</a></td>
<td class="nump">$ 92<span></span>
</td>
<td class="nump">79<span></span>
</td>
<td class="nump">78<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_rock_RetirementPlanNumberOfPlans', window );">Number of plans | plan</a></td>
<td class="nump">1<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_RetirementPlanTypeAxis=us-gaap_DefinedBenefitPostretirementHealthCoverageMember', window );">Other Postretirement Benefits</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_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Defined Benefit Plan Disclosure [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_PostemploymentBenefitsPeriodExpense', window );">Total retirement plan expense</a></td>
<td class="nump">$ 251<span></span>
</td>
<td class="nump">$ 342<span></span>
</td>
<td class="nump">$ 411<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_RetirementPlanNumberOfPlans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Retirement Plan, Number Of Plans</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;">rock_RetirementPlanNumberOfPlans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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>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_DefinedBenefitPlanDisclosureLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DefinedBenefitPlanDisclosureLineItems</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_PostemploymentBenefitsPeriodExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Period expense related to postemployment benefits.</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_PostemploymentBenefitsPeriodExpense</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_RetirementPlanTypeAxis=rock_A401kPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RetirementPlanTypeAxis=rock_A401kPlanMember</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_RetirementPlanTypeAxis=us-gaap_PensionPlansDefinedBenefitMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RetirementPlanTypeAxis=us-gaap_PensionPlansDefinedBenefitMember</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_RetirementPlanTypeAxis=us-gaap_DefinedBenefitPostretirementHealthCoverageMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RetirementPlanTypeAxis=us-gaap_DefinedBenefitPostretirementHealthCoverageMember</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>86
<FILENAME>R71.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667555922928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pension and Other Postretirement Benefits (Changes in the Accumulated Postretirement Benefit Obligation) (Details) - Other Postretirement Benefits - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_DefinedBenefitPlanChangeInBenefitObligationRollForward', window );"><strong>Defined Benefit Plan, Change in Benefit Obligation [Roll Forward]</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_DefinedBenefitPlanBenefitObligation', window );">Projected benefit obligation at</a></td>
<td class="nump">$ 4,229<span></span>
</td>
<td class="nump">$ 6,202<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_DefinedBenefitPlanInterestCost', window );">Interest cost</a></td>
<td class="nump">194<span></span>
</td>
<td class="nump">127<span></span>
</td>
<td class="nump">$ 125<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_DefinedBenefitPlanActuarialGainLoss', window );">Actuarial losses (gains)</a></td>
<td class="nump">59<span></span>
</td>
<td class="num">(1,784)<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_DefinedBenefitPlanBenefitObligationBenefitsPaid', window );">Benefits paid</a></td>
<td class="num">(274)<span></span>
</td>
<td class="num">(316)<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_DefinedBenefitPlanBenefitObligation', window );">Projected benefit obligation at</a></td>
<td class="nump">4,208<span></span>
</td>
<td class="nump">4,229<span></span>
</td>
<td class="nump">$ 6,202<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_DefinedBenefitPlanFairValueOfPlanAssets', window );">Fair value of plan assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_DefinedBenefitPlanFundedStatusOfPlan', window );">Under funded status</a></td>
<td class="num">(4,208)<span></span>
</td>
<td class="num">(4,229)<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_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax', window );">Unamortized prior service cost</a></td>
<td class="nump">292<span></span>
</td>
<td class="nump">352<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_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax', window );">Unrecognized actuarial gain</a></td>
<td class="num">(219)<span></span>
</td>
<td class="num">(278)<span></span>
</td>
<td class="text">&#160;<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_DefinedBenefitPlanAmountsRecognizedInBalanceSheet', window );">Net amount recognized</a></td>
<td class="num">$ (4,135)<span></span>
</td>
<td class="num">$ (4,155)<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_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 tax, of accumulated other comprehensive income (loss) for gain (loss) of defined benefit plan, that has not been recognized in net periodic benefit (cost) credit.</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 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (j)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-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_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax</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_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 tax, of accumulated other comprehensive (income) loss for cost (credit) of benefit change attributable to participants' prior service from plan amendment or plan initiation of defined benefit plan, that has not been recognized in net periodic benefit cost (credit).</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 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (j)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-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_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax</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_DefinedBenefitPlanActuarialGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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) from change in actuarial assumptions which (increases) decreases benefit obligation of defined benefit plan. Assumptions include, but are not limited to, interest, mortality, employee turnover, salary, and temporary deviation from substantive 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 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-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_DefinedBenefitPlanActuarialGainLoss</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_DefinedBenefitPlanAmountsRecognizedInBalanceSheet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 (liability), recognized in statement of financial position, for defined benefit pension and other postretirement plans.</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 715<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480535/715-20-45-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-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_DefinedBenefitPlanAmountsRecognizedInBalanceSheet</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_DefinedBenefitPlanBenefitObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 actuarial present value of benefits attributed to service rendered by employee for defined benefit 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 715<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/2147480506/715-20-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_DefinedBenefitPlanBenefitObligation</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_DefinedBenefitPlanBenefitObligationBenefitsPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 payment to participant of defined benefit plan which decreases benefit obligation. For pension plan, payment includes, but is not limited to, pension benefits and death benefits. For other postretirement plan, payment includes, but is not limited to, prescription drug benefits, health care benefits, life insurance benefits, and legal, educational and advisory services.</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 715<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480266/715-60-50-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(6)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-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_DefinedBenefitPlanBenefitObligationBenefitsPaid</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_DefinedBenefitPlanChangeInBenefitObligationRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 roll forward is a reconciliation of a concept from the beginning of a period to the end of a 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_DefinedBenefitPlanChangeInBenefitObligationRollForward</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_DefinedBenefitPlanFairValueOfPlanAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 segregated and restricted to provide benefit under defined benefit plan. Asset includes, but is not limited to, stock, bond, other investment, earning from investment, and contribution by employer and employee.</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 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<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/2147480506/715-20-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-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_DefinedBenefitPlanFairValueOfPlanAssets</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_DefinedBenefitPlanFundedStatusOfPlan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 funded (unfunded) status of defined benefit plan, measured as difference between fair value of plan assets and benefit obligation. Includes, but is not limited to, overfunded (underfunded) status.</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 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480535/715-20-45-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<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/2147480506/715-20-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_DefinedBenefitPlanFundedStatusOfPlan</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_DefinedBenefitPlanInterestCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 recognized for passage of time related to defined benefit 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/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480535/715-20-45-3A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-18<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-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_DefinedBenefitPlanInterestCost</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_RetirementPlanTypeAxis=us-gaap_DefinedBenefitPostretirementHealthCoverageMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RetirementPlanTypeAxis=us-gaap_DefinedBenefitPostretirementHealthCoverageMember</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>87
<FILENAME>R72.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667558480256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pension and Other Postretirement Benefits (Amounts Recognized in the Consolidated Financial Statements) (Details) - Other Postretirement Benefits - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 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_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems', window );"><strong>Defined Benefit Plans and Other Postretirement Benefit Plans Table Text Block [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_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities', window );">Accrued post retirement liability: Current portion</a></td>
<td class="nump">$ 357<span></span>
</td>
<td class="nump">$ 353<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_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent', window );">Accrued post retirement liability: Long term portion</a></td>
<td class="nump">3,851<span></span>
</td>
<td class="nump">3,876<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_DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax', window );">Pre-tax accumulated other comprehensive loss &#8211; unamortized post-retirement healthcare costs</a></td>
<td class="nump">73<span></span>
</td>
<td class="nump">74<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_DefinedBenefitPlanAmountsRecognizedInBalanceSheet', window );">Net amount recognized</a></td>
<td class="nump">$ 4,135<span></span>
</td>
<td class="nump">$ 4,155<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_DefinedBenefitPlanAmountsRecognizedInBalanceSheet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 (liability), recognized in statement of financial position, for defined benefit pension and other postretirement plans.</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 715<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480535/715-20-45-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-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_DefinedBenefitPlanAmountsRecognizedInBalanceSheet</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_DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 tax, after reclassification adjustment, of increase (decrease) in accumulated other comprehensive income from gain (loss) of defined benefit plan.</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 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (i)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<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_DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax</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_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems</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_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 liability, recognized in statement of financial position, for defined benefit pension and other postretirement plans, classified as current.</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://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480535/715-20-45-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480535/715-20-45-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<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/2147480506/715-20-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_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities</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_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 liability, recognized in statement of financial position, for defined benefit pension and other postretirement plans, classified as noncurrent.</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(24))<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 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480535/715-20-45-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480535/715-20-45-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<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/2147480506/715-20-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_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent</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_RetirementPlanTypeAxis=us-gaap_DefinedBenefitPostretirementHealthCoverageMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RetirementPlanTypeAxis=us-gaap_DefinedBenefitPostretirementHealthCoverageMember</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>88
<FILENAME>R73.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667558845840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pension and Other Postretirement Benefits (Components of Net Periodic Postretirement Benefit Cost) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems', window );"><strong>Defined Benefit Plans and Other Postretirement Benefit Plans Table Text Block [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_DefinedBenefitPlanUltimateHealthCareCostTrendRate1', window );">Ultimate healthcare trend rates</a></td>
<td class="nump">4.00%<span></span>
</td>
<td class="nump">4.00%<span></span>
</td>
<td class="nump">3.80%<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_RetirementPlanTypeAxis=us-gaap_DefinedBenefitPostretirementHealthCoverageMember', window );">Other Postretirement Benefits</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_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems', window );"><strong>Defined Benefit Plans and Other Postretirement Benefit Plans Table Text Block [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_DefinedBenefitPlanInterestCost', window );">Interest cost</a></td>
<td class="nump">$ 194<span></span>
</td>
<td class="nump">$ 127<span></span>
</td>
<td class="nump">$ 125<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_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit', window );">Amortization of unrecognized prior service cost</a></td>
<td class="nump">60<span></span>
</td>
<td class="nump">60<span></span>
</td>
<td class="nump">44<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_DefinedBenefitPlanAmortizationOfGainsLosses', window );">Loss amortization (2)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">24<span></span>
</td>
<td class="nump">113<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_DefinedBenefitPlanNetPeriodicBenefitCost', window );">Net periodic pension cost</a></td>
<td class="nump">$ 254<span></span>
</td>
<td class="nump">$ 211<span></span>
</td>
<td class="nump">$ 282<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_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate', window );">Discount rate</a></td>
<td class="nump">4.70%<span></span>
</td>
<td class="nump">4.80%<span></span>
</td>
<td class="nump">2.40%<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_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65', window );">Annual rate of increase in the per capita cost of: Medical costs before age 65</a></td>
<td class="nump">7.80%<span></span>
</td>
<td class="nump">7.80%<span></span>
</td>
<td class="nump">7.00%<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_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65', window );">Annual rate of increase in the per capita cost of: Medical costs after age 65</a></td>
<td class="nump">4.60%<span></span>
</td>
<td class="nump">4.50%<span></span>
</td>
<td class="nump">4.50%<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_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts', window );">Annual rate of increase in the per capita cost of: Prescription drug costs</a></td>
<td class="nump">7.80%<span></span>
</td>
<td class="nump">7.80%<span></span>
</td>
<td class="nump">7.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Defined Benefit Plan, Health Care Cost Trend Rate Assumed for Next Fiscal Year, Medical Costs After Age 65</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;">rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types1: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_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Defined Benefit Plan, Health Care Cost Trend Rate Assumed for Next Fiscal Year, Medical Costs Before Age 65</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;">rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types1: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_rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Defined Benefit Plan, Health Care Cost Trend Rate Assumed for Next Fiscal Year, Prescription Drug 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;">rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types1: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_DefinedBenefitPlanAmortizationOfGainsLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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) recognized in net periodic benefit (cost) credit of defined benefit 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/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480535/715-20-45-3A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-18<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-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_DefinedBenefitPlanAmortizationOfGainsLosses</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_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 prior service cost (credit) recognized in net periodic benefit cost (credit) of defined benefit 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/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480535/715-20-45-3A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-18<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-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_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit</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_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 rate for present value of future retirement benefits cash flows, used to determine benefit obligation of defined benefit 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 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (k)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-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_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate</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_DefinedBenefitPlanInterestCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 recognized for passage of time related to defined benefit 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/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480535/715-20-45-3A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-18<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-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_DefinedBenefitPlanInterestCost</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_DefinedBenefitPlanNetPeriodicBenefitCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 net periodic benefit cost (credit) for defined benefit 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/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-17<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-18<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<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/2147480506/715-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-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_DefinedBenefitPlanNetPeriodicBenefitCost</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_DefinedBenefitPlanUltimateHealthCareCostTrendRate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Ultimate trend rate for health care cost for defined benefit postretirement 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 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-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_DefinedBenefitPlanUltimateHealthCareCostTrendRate1</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_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems</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_RetirementPlanTypeAxis=us-gaap_DefinedBenefitPostretirementHealthCoverageMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RetirementPlanTypeAxis=us-gaap_DefinedBenefitPostretirementHealthCoverageMember</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>89
<FILENAME>R74.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667565641808">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Pension and Other Postretirement Benefits (Expected Benefit Payments from the Plan) (Details) - Unamortized Post-Retirement Health Care Costs<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</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_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems', window );"><strong>Defined Benefit Plans and Other Postretirement Benefit Plans Table Text Block [Line Items]</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_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 357,000<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_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo', window );">2025</a></td>
<td class="nump">370,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_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree', window );">2026</a></td>
<td class="nump">362,000<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_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour', window );">2027</a></td>
<td class="nump">361,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_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive', window );">2028</a></td>
<td class="nump">356,000<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_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter', window );">Years 2029 - 2033</a></td>
<td class="nump">$ 1,646,000<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_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 benefit for defined benefit plan expected to be paid in five fiscal years after fifth fiscal year following 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/2003/role/disclosureRef<br> -Topic 715<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/2147480506/715-20-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_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter</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_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 benefit for defined benefit plan expected to be paid in next fiscal year following 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/2003/role/disclosureRef<br> -Topic 715<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/2147480506/715-20-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_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths</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_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 benefit for defined benefit plan expected to be paid in fifth fiscal year following 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/2003/role/disclosureRef<br> -Topic 715<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/2147480506/715-20-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_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive</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_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 benefit for defined benefit plan expected to be paid in fourth fiscal year following 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/2003/role/disclosureRef<br> -Topic 715<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/2147480506/715-20-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_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour</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_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 benefit for defined benefit plan expected to be paid in third fiscal year following 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/2003/role/disclosureRef<br> -Topic 715<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/2147480506/715-20-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_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree</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_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 benefit for defined benefit plan expected to be paid in second fiscal year following 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/2003/role/disclosureRef<br> -Topic 715<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/2147480506/715-20-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_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo</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_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems</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_RetirementPlanTypeAxis=us-gaap_DefinedBenefitPostretirementHealthCoverageMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RetirementPlanTypeAxis=us-gaap_DefinedBenefitPostretirementHealthCoverageMember</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>90
<FILENAME>R75.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667552530640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accumulated Other Comprehensive (Loss) Income (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Accumulated Other Comprehensive Income (Loss) [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_AccumulatedOtherComprehensiveIncomeLossBeforeTax1', window );">Balance at beginning of period</a></td>
<td class="num">$ (3,777)<span></span>
</td>
<td class="num">$ (607)<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_AccumulatedOtherComprehensiveIncomeLossBeforeTax1', window );">Balance at end of period</a></td>
<td class="num">(2,423)<span></span>
</td>
<td class="num">(3,777)<span></span>
</td>
<td class="num">$ (607)<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_OtherComprehensiveIncomeLossTaxAbstract', window );"><strong>Tax Benefit (Expense)</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_rock_AccumulatedOtherComprehensiveIncomeLossTax', window );">Balance at beginning of period</a></td>
<td class="nump">345<span></span>
</td>
<td class="nump">794<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_rock_AccumulatedOtherComprehensiveIncomeLossTax', window );">Balance at end of period</a></td>
<td class="nump">309<span></span>
</td>
<td class="nump">345<span></span>
</td>
<td class="nump">794<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_AOCIAttributableToParentNetOfTaxRollForward', window );"><strong>Accumulated Other Comprehensive Income (Loss) [Roll Forward]</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_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Balance at beginning of period</a></td>
<td class="num">(3,432)<span></span>
</td>
<td class="nump">187<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_OtherComprehensiveIncomeLossNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">1,318<span></span>
</td>
<td class="num">(3,619)<span></span>
</td>
<td class="nump">2,648<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_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Balance at end of period</a></td>
<td class="num">(2,114)<span></span>
</td>
<td class="num">(3,432)<span></span>
</td>
<td class="nump">187<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_StatementEquityComponentsAxis=us-gaap_AccumulatedTranslationAdjustmentMember', window );">Foreign Currency Translation Adjustment</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_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Accumulated Other Comprehensive Income (Loss) [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_AccumulatedOtherComprehensiveIncomeLossBeforeTax1', window );">Balance at beginning of period</a></td>
<td class="num">(3,382)<span></span>
</td>
<td class="nump">1,640<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_OtherComprehensiveIncomeLossBeforeTax', window );">Other Comprehensive Income (Loss), before Tax</a></td>
<td class="nump">1,204<span></span>
</td>
<td class="num">(5,022)<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_AccumulatedOtherComprehensiveIncomeLossBeforeTax1', window );">Balance at end of period</a></td>
<td class="num">(2,178)<span></span>
</td>
<td class="num">(3,382)<span></span>
</td>
<td class="nump">1,640<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_OtherComprehensiveIncomeLossTaxAbstract', window );"><strong>Tax Benefit (Expense)</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_OtherComprehensiveIncomeLossTax', window );">Tax Benefit (Expense)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_AOCIAttributableToParentNetOfTaxRollForward', window );"><strong>Accumulated Other Comprehensive Income (Loss) [Roll Forward]</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_OtherComprehensiveIncomeLossNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">1,204<span></span>
</td>
<td class="num">(5,022)<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_StatementEquityComponentsAxis=us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember', window );">Postretirement Benefit Plan Adjustments</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_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Accumulated Other Comprehensive Income (Loss) [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_AccumulatedOtherComprehensiveIncomeLossBeforeTax1', window );">Balance at beginning of period</a></td>
<td class="num">(395)<span></span>
</td>
<td class="num">(2,247)<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_OtherComprehensiveIncomeLossBeforeTax', window );">Other Comprehensive Income (Loss), before Tax</a></td>
<td class="nump">150<span></span>
</td>
<td class="nump">1,852<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_AccumulatedOtherComprehensiveIncomeLossBeforeTax1', window );">Balance at end of period</a></td>
<td class="num">(245)<span></span>
</td>
<td class="num">(395)<span></span>
</td>
<td class="num">$ (2,247)<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_OtherComprehensiveIncomeLossTaxAbstract', window );"><strong>Tax Benefit (Expense)</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_OtherComprehensiveIncomeLossTax', window );">Tax Benefit (Expense)</a></td>
<td class="num">(36)<span></span>
</td>
<td class="num">(449)<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_AOCIAttributableToParentNetOfTaxRollForward', window );"><strong>Accumulated Other Comprehensive Income (Loss) [Roll Forward]</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_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax', window );">Postretirement benefit plan adjustments</a></td>
<td class="nump">$ 114<span></span>
</td>
<td class="nump">$ 1,403<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_rock_AccumulatedOtherComprehensiveIncomeLossTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 Other Comprehensive Income (Loss), Tax</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;">rock_AccumulatedOtherComprehensiveIncomeLossTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_AOCIAttributableToParentNetOfTaxRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 roll forward is a reconciliation of a concept from the beginning of a period to the end of a 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_AOCIAttributableToParentNetOfTaxRollForward</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_AccumulatedOtherComprehensiveIncomeLossBeforeTax1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 tax of increase (decrease) in accumulated equity from transactions and other events and circumstances from non-owner sources, including portion attributable to noncontrolling interest. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners (distributions to owners).</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_AccumulatedOtherComprehensiveIncomeLossBeforeTax1</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_AccumulatedOtherComprehensiveIncomeLossLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-17<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<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_AccumulatedOtherComprehensiveIncomeLossLineItems</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_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.</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 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<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 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<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)(ii)<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 (h)(2)<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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: 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)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-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_AccumulatedOtherComprehensiveIncomeLossNetOfTax</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_OtherComprehensiveIncomeLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 tax, after reclassification adjustments of other comprehensive income (loss).</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 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-17<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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-4<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-5<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 7: 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(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 8: 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(23))<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_OtherComprehensiveIncomeLossBeforeTax</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_OtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 and reclassification adjustments of other comprehensive income (loss).</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 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-17<br><br>Reference 4: 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(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-4<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-5<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 8: 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(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 9: 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(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 10: 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 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482739/220-10-55-15<br><br>Reference 12: 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-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_OtherComprehensiveIncomeLossNetOfTax</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_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 reclassification adjustment from accumulated other comprehensive (income) loss for net periodic benefit cost (credit) of defined benefit plan.</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 15<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-15<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 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-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 17A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-17A<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_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax</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_OtherComprehensiveIncomeLossTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 tax expense (benefit) allocated to other comprehensive income (loss).</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 12<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-12<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-17<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<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(19))<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> -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 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-11<br><br>Reference 9: 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(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: 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(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-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_OtherComprehensiveIncomeLossTax</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_OtherComprehensiveIncomeLossTaxAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OtherComprehensiveIncomeLossTaxAbstract</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_StatementEquityComponentsAxis=us-gaap_AccumulatedTranslationAdjustmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementEquityComponentsAxis=us-gaap_AccumulatedTranslationAdjustmentMember</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_StatementEquityComponentsAxis=us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementEquityComponentsAxis=us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember</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>91
<FILENAME>R76.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667555195376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity-Based Compensation (Narrative) (Details) - USD ($)<br> $ / shares in Units, $ in Millions</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>May 03, 2023</div></th>
<th class="th"><div>May 02, 2023</div></th>
<th class="th"><div>May 04, 2022</div></th>
<th class="th"><div>May 03, 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_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>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Granted (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_MarketPriceOfCommonStockPerShare', window );">Market price of common stock, per share</a></td>
<td class="nump">$ 78.98<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Unrecognized compensation cost</a></td>
<td class="nump">$ 13.1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Weighted average cost recognition period, in years</a></td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_AccruedEquityBasedCompensation', window );">Accrued equity based compensation</a></td>
<td class="nump">$ 20.0<span></span>
</td>
<td class="nump">$ 15.4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantOutstandingNumber', window );">Grant of options outstanding (in shares)</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="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</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_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>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Typical vesting period, in years</a></td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="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_PerformanceSharesMember', window );">Performance stock units (1)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_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>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Shares awarded (in shares)</a></td>
<td class="nump">85,323<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Forfeited in period (in shares)</a></td>
<td class="nump">18,729<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Performance stock units outstanding (in shares)</a></td>
<td class="nump">136,246<span></span>
</td>
<td class="nump">211,368<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="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_PerformanceSharesMember', window );">Performance stock units (1) | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_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>
<td class="text">&#160;<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod', window );">Award performance period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="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_RestrictedStockUnitsRSUMember', window );">Restricted stock units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_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>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Shares awarded (in shares)</a></td>
<td class="nump">99,820<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Forfeited in period (in shares)</a></td>
<td class="nump">24,908<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Performance stock units outstanding (in shares)</a></td>
<td class="nump">232,970<span></span>
</td>
<td class="nump">235,370<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_AccruedEquityBasedCompensation', window );">Accrued equity based compensation</a></td>
<td class="nump">$ 17.3<span></span>
</td>
<td class="nump">$ 13.4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="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=rock_TwoThousandEighteenEquityIncentivePlanMember', window );">2015 Equity Incentive Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_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>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Number of shares available for issuance under the Plan</a></td>
<td class="nump">885,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="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=rock_NonEmployeeDirectorsPlanMember', window );">Non-Employee Directors Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_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>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Number of shares available for issuance under the Plan</a></td>
<td class="nump">86,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="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=rock_NonEmployeeDirectorsPlanMember', window );">Non-Employee Directors Plan | Common Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_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>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Number of shares authorized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200,000<span></span>
</td>
<td class="nump">100,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_PlanNameAxis=rock_ManagementStockPurchasePlanMember', window );">Management Stock Purchase Plan | Restricted stock units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_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>
<td class="text">&#160;<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod', window );">Share-based Compensation Arrangement By Share-based Payment Award, Average Company Stock Price, Measurement Period</a></td>
<td class="text">200 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="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=rock_Amended2018PlanMember', window );">Amended 2018 Plan | Common Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_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>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Number of shares authorized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,550,000<span></span>
</td>
<td class="nump">1,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_PlanNameAxis=rock_A2015PlanMember', window );">2015 Plan | Common Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_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>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Number of shares available for issuance under the Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">81,707<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=rock_AccruedExpensesCurrentMember', window );">Accrued Expenses, Current</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_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>
<td class="text">&#160;<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_AccruedEquityBasedCompensation', window );">Accrued equity based compensation</a></td>
<td class="nump">$ 2.0<span></span>
</td>
<td class="nump">2.3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=rock_NonCurrentLiabilitiesMember', window );">Non Current Liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_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>
<td class="text">&#160;<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_AccruedEquityBasedCompensation', window );">Accrued equity based compensation</a></td>
<td class="nump">$ 18.0<span></span>
</td>
<td class="nump">$ 13.1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_AccruedEquityBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 Equity Based Compensation</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;">rock_AccruedEquityBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_rock_MarketPriceOfCommonStockPerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Market price of common stock per share.</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;">rock_MarketPriceOfCommonStockPerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types1: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_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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, Options, Grant, Outstanding, Number</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;">rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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, Average Company Stock Price, Measurement 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;">rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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, Award Performance 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;">rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 not yet recognized for nonvested 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://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 (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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 period over which cost not yet recognized is expected to be recognized for 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 (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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 equity-based payment instruments, excluding stock (or unit) options, that were forfeited 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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</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)(i)<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> -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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.</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> -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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 number of share options (or share units) granted during 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 (c)(1)(iv)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</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_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_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PerformanceSharesMember</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_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestrictedStockUnitsRSUMember</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_PlanNameAxis=rock_TwoThousandEighteenEquityIncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=rock_TwoThousandEighteenEquityIncentivePlanMember</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_PlanNameAxis=rock_NonEmployeeDirectorsPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=rock_NonEmployeeDirectorsPlanMember</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_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CommonStockMember</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_PlanNameAxis=rock_ManagementStockPurchasePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=rock_ManagementStockPurchasePlanMember</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_PlanNameAxis=rock_Amended2018PlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=rock_Amended2018PlanMember</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_PlanNameAxis=rock_A2015PlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=rock_A2015PlanMember</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_BalanceSheetLocationAxis=rock_AccruedExpensesCurrentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BalanceSheetLocationAxis=rock_AccruedExpensesCurrentMember</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_BalanceSheetLocationAxis=rock_NonCurrentLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_BalanceSheetLocationAxis=rock_NonCurrentLiabilitiesMember</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>92
<FILENAME>R77.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667557729040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity-Based Compensation (Summary of Compensation Expense Connection with Awards) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_ShareBasedCompensation', window );">Stock compensation expense</a></td>
<td class="nump">$ 9,750<span></span>
</td>
<td class="nump">$ 8,334<span></span>
</td>
<td class="nump">$ 8,652<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_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense', window );">Tax benefits recognized related to stock compensation expense</a></td>
<td class="nump">$ 2,516<span></span>
</td>
<td class="nump">$ 2,175<span></span>
</td>
<td class="nump">$ 2,189<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_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 tax benefit for recognition of expense 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://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_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense</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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>93
<FILENAME>R78.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667555327760">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity-Based Compensation (Schedule of Number of Awards and Weighted Average Grant Date Fair Value) (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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=rock_DeferredStockUnitsMember', window );">Deferred Stock Units</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&#160;of Awards (in shares)</a></td>
<td class="nump">6,351<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted Average Grant&#160;Date Fair Value (in USD per share)</a></td>
<td class="nump">$ 54.33<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_RestrictedStockMember', window );">Common stock</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&#160;of Awards (in shares)</a></td>
<td class="nump">8,468<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted Average Grant&#160;Date Fair Value (in USD per share)</a></td>
<td class="nump">$ 54.33<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_RestrictedStockUnitsRSUMember', window );">Restricted stock units</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&#160;of Awards (in shares)</a></td>
<td class="nump">99,820<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted Average Grant&#160;Date Fair Value (in USD per share)</a></td>
<td class="nump">$ 61.93<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_PerformanceSharesMember', window );">Performance stock units (1)</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&#160;of Awards (in shares)</a></td>
<td class="nump">85,323<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted Average Grant&#160;Date Fair Value (in USD per share)</a></td>
<td class="nump">$ 53.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_AwardDateAxis=rock_A2019Member', window );">2019 | Deferred Stock Units</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&#160;of Awards (in shares)</a></td>
<td class="nump">6,351<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted Average Grant&#160;Date Fair Value (in USD per share)</a></td>
<td class="nump">$ 54.33<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_AwardDateAxis=rock_A2019Member', window );">2019 | Common stock</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&#160;of Awards (in shares)</a></td>
<td class="nump">8,468<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted Average Grant&#160;Date Fair Value (in USD per share)</a></td>
<td class="nump">$ 54.33<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_AwardDateAxis=rock_A2019Member', window );">2019 | Restricted stock units</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&#160;of Awards (in shares)</a></td>
<td class="nump">99,820<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted Average Grant&#160;Date Fair Value (in USD per share)</a></td>
<td class="nump">$ 61.93<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_AwardDateAxis=rock_A2019Member', window );">2019 | Performance stock units (1)</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&#160;of Awards (in shares)</a></td>
<td class="nump">85,323<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted Average Grant&#160;Date Fair Value (in USD per share)</a></td>
<td class="nump">$ 53.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_AwardDateAxis=rock_A2018Member', window );">2018 | Deferred Stock Units</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&#160;of Awards (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,460<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 Grant&#160;Date Fair Value (in USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 42.69<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_AwardDateAxis=rock_A2018Member', window );">2018 | Common stock</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&#160;of Awards (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15,652<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 Grant&#160;Date Fair Value (in USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 42.49<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_AwardDateAxis=rock_A2018Member', window );">2018 | Restricted stock units</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&#160;of Awards (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">132,430<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 Grant&#160;Date Fair Value (in USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 43.92<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_AwardDateAxis=rock_A2018Member', window );">2018 | Performance stock units (1)</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&#160;of Awards (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">108,464<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 Grant&#160;Date Fair Value (in USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 47.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_AwardDateAxis=rock_A2017Member', window );">2017 | Deferred Stock Units</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&#160;of Awards (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,536<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 Grant&#160;Date Fair Value (in USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 83.58<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_AwardDateAxis=rock_A2017Member', window );">2017 | Common stock</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&#160;of Awards (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,512<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 Grant&#160;Date Fair Value (in USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 83.58<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_AwardDateAxis=rock_A2017Member', window );">2017 | Restricted stock units</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&#160;of Awards (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">72,243<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 Grant&#160;Date Fair Value (in USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 79.28<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_AwardDateAxis=rock_A2017Member', window );">2017 | Performance stock units (1)</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&#160;of Awards (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">62,778<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 Grant&#160;Date Fair Value (in USD per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 87.84<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_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_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_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=rock_DeferredStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=rock_DeferredStockUnitsMember</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestrictedStockUnitsRSUMember</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_PerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PerformanceSharesMember</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_AwardDateAxis=rock_A2019Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AwardDateAxis=rock_A2019Member</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_AwardDateAxis=rock_A2018Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AwardDateAxis=rock_A2018Member</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_AwardDateAxis=rock_A2017Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AwardDateAxis=rock_A2017Member</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>94
<FILENAME>R79.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667555875568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity-Based Compensation (Summary of Ranges of Outstanding and Exercisable Options) (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2020</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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems', window );"><strong>Share-based Payment Arrangement, Option, Exercise Price Range [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>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Options Outstanding</a></td>
<td class="nump">5,000<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
<td class="nump">41,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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted Average Remaining Contractual Life (in&#160;years)</a></td>
<td class="text">3 years 3 months 3 days<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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 27.99<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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=rock_ExercisePriceRangeOneMember', window );">$39.55</a></td>
<td class="text">&#160;<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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems', window );"><strong>Share-based Payment Arrangement, Option, Exercise Price Range [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>
<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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit', window );">Exercise Price Range, Lower Range Limit</a></td>
<td class="nump">$ 39.55<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Options Outstanding</a></td>
<td class="nump">5,000<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted Average Remaining Contractual Life (in&#160;years)</a></td>
<td class="text">3 years 3 months 3 days<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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price</a></td>
<td class="nump">$ 39.55<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Options Exercisable</a></td>
<td class="nump">5,000<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Weighted Average Exercise Price</a></td>
<td class="nump">$ 39.55<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>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option 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)(1)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option 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)(1)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 options outstanding, including both vested and non-vested 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/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 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 (c)(1)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 price at which option holders acquired shares when converting their stock options into 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 (c)(1)(iv)(02)<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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems</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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 floor of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range.</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 (g)<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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit</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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 contractual term for option awards outstanding, 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>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (e)(1)<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=rock_ExercisePriceRangeOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=rock_ExercisePriceRangeOneMember</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>95
<FILENAME>R80.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667555874736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity-Based Compensation (Summary of Stock Option Transactions) (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward', window );"><strong>Options (in shares):</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Beginning balance (in shares)</a></td>
<td class="nump">5,000<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
<td class="nump">41,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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercised (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(36,500)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod', window );">Forfeited (in 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>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Ending balance (in shares)</a></td>
<td class="nump">5,000<span></span>
</td>
<td class="nump">5,000<span></span>
</td>
<td class="nump">5,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward', window );"><strong>Weighted Average Exercise Price (in dollars per share)</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Beginning balance (in dollars per share)</a></td>
<td class="nump">$ 39.55<span></span>
</td>
<td class="nump">$ 39.55<span></span>
</td>
<td class="nump">$ 29.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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Exercised (in dollars per share)</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27.99<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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice', window );">Forfeited (in dollars per share)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Ending balance (in dollars per share)</a></td>
<td class="nump">$ 39.55<span></span>
</td>
<td class="nump">$ 39.55<span></span>
</td>
<td class="nump">$ 39.55<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted Average Remaining Contractual Life (in&#160;years)</a></td>
<td class="text">3 years 3 months 3 days<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Aggregate Intrinsic&#160;Value</a></td>
<td class="nump">$ 197,150<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option 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)(1)(iv)(03)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 the current fair value of the underlying stock exceeds the exercise price of options 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 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 options outstanding, including both vested and non-vested 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/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 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 (c)(1)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 roll forward is a reconciliation of a concept from the beginning of a period to the end of a 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 price at which grantees can acquire the shares reserved for issuance under the stock option 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)(1)(i)<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> -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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward</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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 price at which option holders acquired shares when converting their stock options into 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 (c)(1)(iv)(02)<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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.</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)(1)(iv)(03)<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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice</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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 contractual term for option awards outstanding, 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>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (e)(1)<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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</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_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 share options (or share units) exercised during the current 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> -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 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 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><br>Reference 4: 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 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(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_StockIssuedDuringPeriodSharesStockOptionsExercised</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>96
<FILENAME>R81.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667552266912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity-Based Compensation (Summary of Information about Restricted Stock Units and Weighted Average Grant Date Fair Value) (Details)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>$ / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>$ / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>shares</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted Average Grant Date Fair Value (in dollars per share)</strong></a></td>
<td class="text">&#160;<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved', window );">Shares for which performance condition was not achieved (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">40,610<span></span>
</td>
<td class="nump">30,000<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_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetPortionGranted', window );">Target portion granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.605<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_RestrictedStockUnitsRSUMember', window );">Restricted stock units</a></td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Restricted Stock Units / Restricted Stock (in shares)</strong></a></td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Balance at beginning of period (in shares)</a></td>
<td class="nump">235,370<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="nump">99,820<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod', window );">Adjustments (in shares)</a></td>
<td class="nump">0<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares)</a></td>
<td class="num">(77,312)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Forfeited (in shares)</a></td>
<td class="num">(24,908)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Balance at end of period (in shares)</a></td>
<td class="nump">232,970<span></span>
</td>
<td class="nump">235,370<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted Average Grant Date Fair Value (in dollars per share)</strong></a></td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Balance at beginning of period (in USD per share) | $ / shares</a></td>
<td class="nump">$ 49.87<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in USD per share) | $ / shares</a></td>
<td class="nump">61.93<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue', window );">Adjustments (in USD per share) | $ / shares</a></td>
<td class="nump">0<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested (in USD per share) | $ / shares</a></td>
<td class="nump">53.37<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Forfeited (in USD per share) | $ / shares</a></td>
<td class="nump">50.99<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Balance at end of period (in USD per share) | $ / shares</a></td>
<td class="nump">$ 53.75<span></span>
</td>
<td class="nump">$ 49.87<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_RestrictedStockMember', window );">Common stock</a></td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Restricted Stock Units / Restricted Stock (in shares)</strong></a></td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Balance at beginning of period (in shares)</a></td>
<td class="nump">0<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="nump">8,468<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod', window );">Adjustments (in shares)</a></td>
<td class="nump">0<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares)</a></td>
<td class="num">(8,468)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Forfeited (in shares)</a></td>
<td class="nump">0<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Balance at end of period (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted Average Grant Date Fair Value (in dollars per share)</strong></a></td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Balance at beginning of period (in USD per share) | $ / shares</a></td>
<td class="nump">$ 0<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in USD per share) | $ / shares</a></td>
<td class="nump">54.33<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue', window );">Adjustments (in USD per share) | $ / shares</a></td>
<td class="nump">0<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested (in USD per share) | $ / shares</a></td>
<td class="nump">54.33<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Forfeited (in USD per share) | $ / shares</a></td>
<td class="nump">0<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Balance at end of period (in USD per share) | $ / shares</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 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_AwardTypeAxis=us-gaap_PerformanceSharesMember', window );">Performance stock units (1)</a></td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Restricted Stock Units / Restricted Stock (in shares)</strong></a></td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Balance at beginning of period (in shares)</a></td>
<td class="nump">211,368<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="nump">85,323<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod', window );">Adjustments (in shares)</a></td>
<td class="num">(70,610)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares)</a></td>
<td class="num">(71,106)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Forfeited (in shares)</a></td>
<td class="num">(18,729)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Balance at end of period (in shares)</a></td>
<td class="nump">136,246<span></span>
</td>
<td class="nump">211,368<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted Average Grant Date Fair Value (in dollars per share)</strong></a></td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Balance at beginning of period (in USD per share) | $ / shares</a></td>
<td class="nump">$ 50.96<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in USD per share) | $ / shares</a></td>
<td class="nump">53.22<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue', window );">Adjustments (in USD per share) | $ / shares</a></td>
<td class="nump">50.72<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested (in USD per share) | $ / shares</a></td>
<td class="nump">51.74<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Forfeited (in USD per share) | $ / shares</a></td>
<td class="nump">49.69<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Balance at end of period (in USD per share) | $ / shares</a></td>
<td class="nump">$ 52.27<span></span>
</td>
<td class="nump">$ 50.96<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=rock_DeferredStockUnitsMember', window );">Deferred Stock Units</a></td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', window );"><strong>Restricted Stock Units / Restricted Stock (in shares)</strong></a></td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Balance at beginning of period (in shares)</a></td>
<td class="nump">40,350<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares)</a></td>
<td class="nump">6,351<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod', window );">Adjustments (in shares)</a></td>
<td class="nump">0<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested (in shares)</a></td>
<td class="num">(2,222)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Forfeited (in shares)</a></td>
<td class="nump">0<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Balance at end of period (in shares)</a></td>
<td class="nump">44,479<span></span>
</td>
<td class="nump">40,350<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted Average Grant Date Fair Value (in dollars per share)</strong></a></td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Balance at beginning of period (in USD per share) | $ / shares</a></td>
<td class="nump">$ 45.16<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted (in USD per share) | $ / shares</a></td>
<td class="nump">54.33<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue', window );">Adjustments (in USD per share) | $ / shares</a></td>
<td class="nump">0<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested (in USD per share) | $ / shares</a></td>
<td class="nump">36.47<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Forfeited (in USD per share) | $ / shares</a></td>
<td class="nump">0<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Balance at end of period (in USD per share) | $ / shares</a></td>
<td class="nump">$ 46.90<span></span>
</td>
<td class="nump">$ 45.16<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_MinimumMember', window );">Minimum | Performance stock units (1)</a></td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted Average Grant Date Fair Value (in dollars per share)</strong></a></td>
<td class="text">&#160;<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent', window );">Percent of grants awarded based on target threshold</a></td>
<td class="nump">0.00%<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="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 | Performance stock units (1)</a></td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted Average Grant Date Fair Value (in dollars per share)</strong></a></td>
<td class="text">&#160;<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent', window );">Percent of grants awarded based on target threshold</a></td>
<td class="nump">200.00%<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod', window );">Award performance period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<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=rock_A2018PlanMember', window );">2018 Plan | Return On Invested Capital | Performance stock units (1)</a></td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted Average Grant Date Fair Value (in dollars per share)</strong></a></td>
<td class="text">&#160;<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod', window );">Award performance period</a></td>
<td class="text">1 year<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>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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, Equity Instruments Other than Options, Adjustments in 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;">rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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, Equity Instruments Other than Options, Adjustments in Period, Performance Conditions Not Achieved</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;">rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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, Equity Instruments Other than Options, Adjustments in Period, Weighted Average Grant Date Fair Value</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;">rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types1: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_rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetPortionGranted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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, Equity Instruments Other than Options, Target Portion Granted</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;">rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetPortionGranted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</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_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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, Award Performance 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;">rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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, Equity Instruments Other Than Options, Grants Based On Targeted Thresholds, Percent</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;">rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types1: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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 equity-based payment instruments, excluding stock (or unit) options, that were forfeited 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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.</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)(03)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</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_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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</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)(i)<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> -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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 roll forward is a reconciliation of a concept from the beginning of a period to the end of a 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Per share or unit weighted-average fair value of 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/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 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 (c)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 equity-based payment instruments, excluding stock (or unit) options, that vested 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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the 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/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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</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_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestrictedStockUnitsRSUMember</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_PerformanceSharesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PerformanceSharesMember</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=rock_DeferredStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=rock_DeferredStockUnitsMember</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>
<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_us-gaap_PlanNameAxis=rock_A2018PlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=rock_A2018PlanMember</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_MeasurementInputTypeAxis=rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_MeasurementInputTypeAxis=rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember</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>97
<FILENAME>R82.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667558703056">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity-Based Compensation (Aggregate Intrinsic Value of Options Exercised and Aggregate Fair Value of Restricted Stock Units and Restricted Shares that Vested) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Aggregate intrinsic value of options exercised</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 2,103<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_RestrictedStockUnitsRSUMember', window );">Restricted stock units</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue', window );">Grant date fair value</a></td>
<td class="nump">4,740<span></span>
</td>
<td class="nump">3,920<span></span>
</td>
<td class="nump">6,320<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 );">Common stock</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue', window );">Grant date fair value</a></td>
<td class="nump">460<span></span>
</td>
<td class="nump">665<span></span>
</td>
<td class="nump">370<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=rock_PerformanceStockUnitsMember', window );">Performance Stock Units</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue', window );">Grant date fair value</a></td>
<td class="nump">3,999<span></span>
</td>
<td class="nump">6,729<span></span>
</td>
<td class="nump">9,080<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=rock_DeferredStockUnitsMember', window );">Deferred Stock Units</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue', window );">Grant date fair value</a></td>
<td class="nump">$ 345<span></span>
</td>
<td class="nump">$ 105<span></span>
</td>
<td class="nump">$ 630<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash.</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 (d)(2)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into 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 (d)(2)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</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_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestrictedStockUnitsRSUMember</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=rock_PerformanceStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=rock_PerformanceStockUnitsMember</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=rock_DeferredStockUnitsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=rock_DeferredStockUnitsMember</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>98
<FILENAME>R83.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667555886512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Equity-Based Compensation (Cash Paid to Settle Liability Awards) (Details) - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_StatementEquityComponentsAxis=rock_ManagementStockPurchasePlanMember', window );">MSPP</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid', window );">Restricted stock units credited</a></td>
<td class="nump">$ 2,392<span></span>
</td>
<td class="nump">$ 3,689<span></span>
</td>
<td class="nump">$ 4,915<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_RestrictedStockUnitsRSUMember', window );">Restricted stock units</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted', window );">Restricted stock units credited (in shares)</a></td>
<td class="nump">48,921<span></span>
</td>
<td class="nump">12,365<span></span>
</td>
<td class="nump">30,475<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber', window );">Restricted stock units balance, vested and unvested (in shares)</a></td>
<td class="nump">199,946<span></span>
</td>
<td class="nump">158,644<span></span>
</td>
<td class="nump">223,892<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_TitleOfIndividualAxis=srt_ManagementMember', window );">Management</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_ManagementStockPurchasePlanCompensationExpense', window );">MSPP expense (recovery) (in thousands)</a></td>
<td class="nump">$ 4,710<span></span>
</td>
<td class="num">$ (4,459)<span></span>
</td>
<td class="nump">$ 6,034<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_ManagementStockPurchasePlanCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Management Stock Purchase Plan, Compensation Expense</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;">rock_ManagementStockPurchasePlanCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 to settle liability 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>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 (d)(2)<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid</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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Net number of non-option equity instruments granted to participants.</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> -Subparagraph (c)(1)(iv)(1)<br> -SubTopic 10<br> -Topic 718<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 equity instruments other than options outstanding, including both vested and non-vested instruments.</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> -Subparagraph (c)(1)(i)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -SubTopic 10<br> -Topic 718<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber</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_StatementEquityComponentsAxis=rock_ManagementStockPurchasePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementEquityComponentsAxis=rock_ManagementStockPurchasePlanMember</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_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestrictedStockUnitsRSUMember</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_TitleOfIndividualAxis=srt_ManagementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TitleOfIndividualAxis=srt_ManagementMember</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>99
<FILENAME>R84.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667558488176">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fair Value Measurements (Narrative) (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 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_ExtinguishmentOfDebtLineItems', window );"><strong>Extinguishment of Debt [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_LongTermDebt', window );">Carrying value of outstanding debt</a></td>
<td class="nump">$ 0<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 | Senior Credit Agreement</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_ExtinguishmentOfDebtLineItems', window );"><strong>Extinguishment of Debt [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_LongTermDebt', window );">Carrying value of outstanding debt</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 91,000,000<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_ExtinguishmentOfDebtLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ExtinguishmentOfDebtLineItems</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_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</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/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<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 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 5: 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 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(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<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 4<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-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_LongTermDebt</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_us-gaap_DebtInstrumentAxis=rock_SeniorCreditAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DebtInstrumentAxis=rock_SeniorCreditAgreementMember</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>100
<FILENAME>R85.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667556119440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Discontinued Operations (Narrative) (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 01, 2023</div></th>
<th class="th"><div>Feb. 23, 2021</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems', window );"><strong>Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [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>
<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_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax', window );">Income from discontinued operations before taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 1,479,000<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_rock_DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag', window );">Discontinued Operation Gain Loss On Disposal Statement Of Income Or Comprehensive Income Extensible Enumeration Not Disclosed Flag</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">adjustment to loss on disposal<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_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember', window );">Discontinued Operations, Disposed of by Sale</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems', window );"><strong>Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [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>
<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_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax', window );">Income from discontinued operations before taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 1,500,000<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_DisposalGroupIncludingDiscontinuedOperationRevenue', window );">Net sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20,400,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_DisposalGroupIncludingDiscontinuedOperationOperatingExpense', window );">Operating expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17,500,000<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_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax', window );">Adjustment to loss on disposal</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,400,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_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember', window );">Discontinued Operations, Disposed of by Sale | Industrial Business Segment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems', window );"><strong>Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [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>
<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_DisposalGroupIncludingDiscontinuedOperationConsideration', window );">Net proceeds of sale of business</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 38,000,000<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_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1', window );">Seller note principal amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">13,000,000<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_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax', window );">Estimated pre-tax loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30,000,000<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_GainLossOnSaleOfBusiness', window );">Held for sale valuation allowance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 29,600,000<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisposalGroupClassificationAxis=us-gaap_DisposalGroupDisposedOfBySaleNotDiscontinuedOperationsMember', window );">Disposal Group, Disposed of by Sale, Not Discontinued Operations | Japan-Based Solar Racking Business</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems', window );"><strong>Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [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>
<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_GainLossOnSaleOfBusiness', window );">Held for sale valuation allowance</a></td>
<td class="nump">$ 600,000<span></span>
</td>
<td class="text">&#160;<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_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries', window );">Proceeds from divestiture</a></td>
<td class="nump">$ 8,000,000<span></span>
</td>
<td class="text">&#160;<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>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Discontinued Operation Gain Loss On Disposal Statement Of Income Or Comprehensive Income Extensible Enumeration Not Disclosed Flag</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;">rock_DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 tax of gain (loss) not previously recognized resulting from the disposal of a discontinued operation.</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 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-3B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<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/2147483499/205-20-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-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_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax</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_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 gain (loss) not previously recognized resulting from the disposal of a discontinued operation.</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 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-5C<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-3B<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<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/2147483499/205-20-50-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-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_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax</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_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 tax of income (loss) from a discontinued operation. Includes, but is not limited to, the income (loss) from operations during the phase-out period, gain (loss) on disposal, gain (loss) for reversal of write-down (write-down) to fair value, less cost to sell, and adjustments to a prior period gain (loss) on disposal.</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 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-3A<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-5B<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-3B<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-4<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<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/2147483499/205-20-50-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-3<br><br>Reference 8: 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(14))<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_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax</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_DisposalGroupIncludingDiscontinuedOperationConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 consideration received or receivable for the disposal of assets and liabilities, including discontinued operation.</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_DisposalGroupIncludingDiscontinuedOperationConsideration</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_DisposalGroupIncludingDiscontinuedOperationOperatingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 operating expense attributable to disposal group, including, but not limited to, discontinued operation.</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 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-5B<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_DisposalGroupIncludingDiscontinuedOperationOperatingExpense</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_DisposalGroupIncludingDiscontinuedOperationRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 revenue attributable to disposal group, including, but not limited to, 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 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 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-5B<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_DisposalGroupIncludingDiscontinuedOperationRevenue</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_GainLossOnSaleOfBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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) from sale and disposal of integrated set of activities and assets capable of being conducted and managed for purpose of providing return in form of dividend, lower cost, or other economic benefit to investor, owner, member and participant.</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 (b)<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 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1B<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_GainLossOnSaleOfBusiness</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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems</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_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 consideration received for selling an asset or business through a noncash (or part noncash) transaction.</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 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-4<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 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-3<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 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-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_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1</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_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 associated with the deconsolidation of a previously consolidated subsidiary or the sale of investment in consolidated subsidiaries (generally greater than 50 percent).</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 12<br> -Subparagraph (b)<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_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries</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_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember</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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=rock_IndustrialBusinessSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=rock_IndustrialBusinessSegmentMember</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_DisposalGroupClassificationAxis=us-gaap_DisposalGroupDisposedOfBySaleNotDiscontinuedOperationsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DisposalGroupClassificationAxis=us-gaap_DisposalGroupDisposedOfBySaleNotDiscontinuedOperationsMember</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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=rock_JapanBasedSolarRackingBusinessMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=rock_JapanBasedSolarRackingBusinessMember</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>101
<FILENAME>R86.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667558320048">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Exit Activity Costs and Asset Impairments (Narrative) (Details) - facility<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 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_RestructuringAndRelatedActivitiesAbstract', window );"><strong>Restructuring and Related Activities [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_rock_RestructuringandRelatedCostNumberofFacilitiestobeClosed', window );">Number of consolidated facilities to be closed</a></td>
<td class="nump">2<span></span>
</td>
<td class="nump">4<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_rock_RestructuringAndRelatedCostNumberOfFacilitiesRelocated', window );">Number of facilities relocated</a></td>
<td class="text">&#160;<span></span>
</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_rock_RestructuringAndRelatedCostNumberOfFacilitiesRelocated">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Restructuring And Related Cost, Number Of Facilities Relocated</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;">rock_RestructuringAndRelatedCostNumberOfFacilitiesRelocated</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_RestructuringandRelatedCostNumberofFacilitiestobeClosed">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Restructuring and Related Cost, Number of Facilities to be Closed</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;">rock_RestructuringandRelatedCostNumberofFacilitiestobeClosed</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestructuringAndRelatedActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestructuringAndRelatedActivitiesAbstract</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>102
<FILENAME>R87.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667555513072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Exit Activity Costs and Asset Impairments (Schedule Of Asset Impairment Charges Related To Restructuring Activities) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_BusinessExitCosts1', window );">Exit Activity</a></td>
<td class="nump">$ 9,204<span></span>
</td>
<td class="nump">$ 6,039<span></span>
</td>
<td class="nump">$ 7,020<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_RestructuringSettlementAndImpairmentProvisions', window );">Asset Impairment</a></td>
<td class="nump">4,987<span></span>
</td>
<td class="nump">2,276<span></span>
</td>
<td class="nump">1,193<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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="nump">14,191<span></span>
</td>
<td class="nump">8,315<span></span>
</td>
<td class="nump">8,213<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_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember', window );">Corporate</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_BusinessExitCosts1', window );">Exit Activity</a></td>
<td class="num">(32)<span></span>
</td>
<td class="nump">250<span></span>
</td>
<td class="nump">145<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_RestructuringSettlementAndImpairmentProvisions', window );">Asset Impairment</a></td>
<td class="nump">0<span></span>
</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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="num">(32)<span></span>
</td>
<td class="nump">250<span></span>
</td>
<td class="nump">145<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_StatementBusinessSegmentsAxis=rock_RenewablesMember', window );">Renewables | Operating Segments</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_BusinessExitCosts1', window );">Exit Activity</a></td>
<td class="nump">7,558<span></span>
</td>
<td class="nump">3,256<span></span>
</td>
<td class="nump">4,769<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_RestructuringSettlementAndImpairmentProvisions', window );">Asset Impairment</a></td>
<td class="nump">1,136<span></span>
</td>
<td class="nump">1,198<span></span>
</td>
<td class="nump">1,193<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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="nump">8,694<span></span>
</td>
<td class="nump">4,454<span></span>
</td>
<td class="nump">5,962<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_StatementBusinessSegmentsAxis=rock_ResidentialMember', window );">Residential | Operating Segments</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_BusinessExitCosts1', window );">Exit Activity</a></td>
<td class="nump">960<span></span>
</td>
<td class="nump">1,825<span></span>
</td>
<td class="nump">393<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_RestructuringSettlementAndImpairmentProvisions', window );">Asset Impairment</a></td>
<td class="nump">3,851<span></span>
</td>
<td class="nump">12<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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="nump">4,811<span></span>
</td>
<td class="nump">1,837<span></span>
</td>
<td class="nump">393<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_StatementBusinessSegmentsAxis=rock_InfrastructureMember', window );">Infrastructure | Operating Segments</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_BusinessExitCosts1', window );">Exit Activity</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(63)<span></span>
</td>
<td class="nump">26<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_RestructuringSettlementAndImpairmentProvisions', window );">Asset Impairment</a></td>
<td class="nump">0<span></span>
</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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(63)<span></span>
</td>
<td class="nump">26<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_StatementBusinessSegmentsAxis=rock_AgtechMember', window );">Agtech | Operating Segments</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_BusinessExitCosts1', window );">Exit Activity</a></td>
<td class="nump">718<span></span>
</td>
<td class="nump">771<span></span>
</td>
<td class="nump">1,687<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_RestructuringSettlementAndImpairmentProvisions', window );">Asset Impairment</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,066<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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="nump">$ 718<span></span>
</td>
<td class="nump">$ 1,837<span></span>
</td>
<td class="nump">$ 1,687<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_BusinessExitCosts1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 associated with exit or disposal activities pursuant to an authorized plan. Includes, but is not limited to, one-time termination benefits, termination of an operating lease or other contract, consolidating or closing facilities, and relocating employees, and termination benefits associated with an ongoing benefit arrangement. Excludes expenses associated with special or contractual termination benefits, a discontinued operation or an asset retirement obligation.</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_BusinessExitCosts1</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_RestructuringCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation.</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 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482047/420-10-45-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.P.3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-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_RestructuringCharges</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_RestructuringCostAndReserveLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 420<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/2147482017/420-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<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/2147482017/420-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<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/2147482017/420-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-10-S99-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-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_RestructuringCostAndReserveLineItems</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_RestructuringSettlementAndImpairmentProvisions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 restructuring charges, remediation cost, and asset impairment loss.</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.3)<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_RestructuringSettlementAndImpairmentProvisions</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_srt_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember</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_StatementBusinessSegmentsAxis=rock_RenewablesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=rock_RenewablesMember</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_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember</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_StatementBusinessSegmentsAxis=rock_ResidentialMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=rock_ResidentialMember</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_StatementBusinessSegmentsAxis=rock_InfrastructureMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=rock_InfrastructureMember</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_StatementBusinessSegmentsAxis=rock_AgtechMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=rock_AgtechMember</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>103
<FILENAME>R88.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667565555680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Exit Activity Costs and Asset Impairments (Summary Of Exit Activity Costs And Asset Impairments Recorded in the Consolidated Statements of Operations) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="nump">$ 14,191<span></span>
</td>
<td class="nump">$ 8,315<span></span>
</td>
<td class="nump">$ 8,213<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_RestructuringCostAndReserveAxis=us-gaap_CostOfSalesMember', window );">Cost of sales</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="nump">12,634<span></span>
</td>
<td class="nump">5,258<span></span>
</td>
<td class="nump">6,176<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_RestructuringCostAndReserveAxis=rock_SellingGeneralAndAdministrativeExpenseMember', window );">Selling, general, and administrative expense</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_RestructuringCostAndReserveLineItems', window );"><strong>Restructuring Cost and Reserve [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_RestructuringCharges', window );">Restructuring charges</a></td>
<td class="nump">$ 1,557<span></span>
</td>
<td class="nump">$ 3,057<span></span>
</td>
<td class="nump">$ 2,037<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_RestructuringCharges">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation.</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 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482047/420-10-45-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 5.P.3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-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_RestructuringCharges</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_RestructuringCostAndReserveLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 420<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/2147482017/420-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<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/2147482017/420-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<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/2147482017/420-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(b)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.P.4(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-10-S99-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-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_RestructuringCostAndReserveLineItems</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_RestructuringCostAndReserveAxis=us-gaap_CostOfSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestructuringCostAndReserveAxis=us-gaap_CostOfSalesMember</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_RestructuringCostAndReserveAxis=rock_SellingGeneralAndAdministrativeExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RestructuringCostAndReserveAxis=rock_SellingGeneralAndAdministrativeExpenseMember</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>104
<FILENAME>R89.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667558410160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Exit Activity Costs and Asset Impairments (Reconciles Of Liability For Exit Activity Costs Relating To Facility Consolidation Efforts) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_RestructuringReserveRollForward', window );"><strong>Restructuring Reserve [Roll Forward]</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_RestructuringReserve', window );">Balance as of</a></td>
<td class="nump">$ 2,417<span></span>
</td>
<td class="nump">$ 272<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_BusinessExitCosts1', window );">Exit activity costs recognized</a></td>
<td class="nump">9,204<span></span>
</td>
<td class="nump">6,039<span></span>
</td>
<td class="nump">$ 7,020<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_PaymentsForRestructuring', window );">Cash payments</a></td>
<td class="num">(4,896)<span></span>
</td>
<td class="num">(3,894)<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_RestructuringReserve', window );">Balance as of</a></td>
<td class="nump">$ 6,725<span></span>
</td>
<td class="nump">$ 2,417<span></span>
</td>
<td class="nump">$ 272<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_BusinessExitCosts1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 associated with exit or disposal activities pursuant to an authorized plan. Includes, but is not limited to, one-time termination benefits, termination of an operating lease or other contract, consolidating or closing facilities, and relocating employees, and termination benefits associated with an ongoing benefit arrangement. Excludes expenses associated with special or contractual termination benefits, a discontinued operation or an asset retirement obligation.</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_BusinessExitCosts1</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_PaymentsForRestructuring">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 payments made as the result of exit or disposal activities. Excludes payments associated with a discontinued operation or an asset retirement obligation.</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 420<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/2147482017/420-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-17<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_PaymentsForRestructuring</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_RestructuringReserve">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 (including both current and noncurrent portions of the accrual) as of the balance sheet date pertaining to a specified type of cost associated with exit from or disposal of business activities or restructuring pursuant to a duly authorized 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 420<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/2147482017/420-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB TOPIC 5.P.4(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479823/420-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_RestructuringReserve</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_RestructuringReserveRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 roll forward is a reconciliation of a concept from the beginning of a period to the end of a 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_RestructuringReserveRollForward</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>105
<FILENAME>R90.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667561764304">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Components of Income (Loss) before Taxes from Continuing Operations) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic', window );">Domestic</a></td>
<td class="nump">$ 149,348<span></span>
</td>
<td class="nump">$ 112,635<span></span>
</td>
<td class="nump">$ 93,155<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign', window );">Foreign</a></td>
<td class="num">(356)<span></span>
</td>
<td class="num">(1,145)<span></span>
</td>
<td class="nump">6,407<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 taxes</a></td>
<td class="nump">$ 148,992<span></span>
</td>
<td class="nump">$ 111,490<span></span>
</td>
<td class="nump">$ 99,562<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 earnings or loss from continuing operations before income taxes that is attributable to domestic 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 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic</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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile.</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(h)(1))<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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign</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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>106
<FILENAME>R91.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667557567552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Benefit of) Provision for Income Taxes) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Deferred:</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="rou">
<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 );">Total deferred</a></td>
<td class="nump">$ 10,800<span></span>
</td>
<td class="nump">$ 6,337<span></span>
</td>
<td class="nump">$ 2,968<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_IncomeTaxExpenseBenefit', window );">Provision for income taxes</a></td>
<td class="nump">38,459<span></span>
</td>
<td class="nump">29,084<span></span>
</td>
<td class="nump">25,046<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_StatementOperatingActivitiesSegmentAxis=us-gaap_SegmentContinuingOperationsMember', window );">Continuing Operations</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_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current:</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_CurrentFederalTaxExpenseBenefit', window );">U.S. Federal</a></td>
<td class="nump">21,579<span></span>
</td>
<td class="nump">17,014<span></span>
</td>
<td class="nump">16,137<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_CurrentStateAndLocalTaxExpenseBenefit', window );">State</a></td>
<td class="nump">6,048<span></span>
</td>
<td class="nump">5,647<span></span>
</td>
<td class="nump">5,009<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_CurrentForeignTaxExpenseBenefit', window );">Foreign</a></td>
<td class="nump">32<span></span>
</td>
<td class="nump">86<span></span>
</td>
<td class="nump">932<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_CurrentIncomeTaxExpenseBenefit', window );">Total current</a></td>
<td class="nump">27,659<span></span>
</td>
<td class="nump">22,747<span></span>
</td>
<td class="nump">22,078<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_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Deferred:</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_DeferredFederalIncomeTaxExpenseBenefit', window );">U.S. Federal</a></td>
<td class="nump">8,617<span></span>
</td>
<td class="nump">5,259<span></span>
</td>
<td class="nump">1,766<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_DeferredStateAndLocalIncomeTaxExpenseBenefit', window );">State</a></td>
<td class="nump">2,112<span></span>
</td>
<td class="nump">1,381<span></span>
</td>
<td class="nump">134<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_DeferredForeignIncomeTaxExpenseBenefit', window );">Foreign</a></td>
<td class="nump">71<span></span>
</td>
<td class="num">(303)<span></span>
</td>
<td class="nump">1,068<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_DeferredIncomeTaxExpenseBenefit', window );">Total deferred</a></td>
<td class="nump">10,800<span></span>
</td>
<td class="nump">6,337<span></span>
</td>
<td class="nump">2,968<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_IncomeTaxExpenseBenefit', window );">Provision for income taxes</a></td>
<td class="nump">$ 38,459<span></span>
</td>
<td class="nump">$ 29,084<span></span>
</td>
<td class="nump">$ 25,046<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_CurrentFederalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction.</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(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_CurrentFederalTaxExpenseBenefit</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_CurrentForeignTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 foreign 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://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 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<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_CurrentForeignTaxExpenseBenefit</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_CurrentIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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) pertaining to taxable 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://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 2: 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 3: 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 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<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_CurrentIncomeTaxExpenseBenefit</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_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract</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_CurrentStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</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(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_CurrentStateAndLocalTaxExpenseBenefit</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_DeferredFederalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction.</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(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_DeferredFederalIncomeTaxExpenseBenefit</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_DeferredForeignIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 foreign 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://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 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_DeferredForeignIncomeTaxExpenseBenefit</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_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_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract</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_DeferredStateAndLocalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</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(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_DeferredStateAndLocalIncomeTaxExpenseBenefit</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_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_StatementOperatingActivitiesSegmentAxis=us-gaap_SegmentContinuingOperationsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementOperatingActivitiesSegmentAxis=us-gaap_SegmentContinuingOperationsMember</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>107
<FILENAME>R92.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667552534608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Provision for Income Taxes from Continuing Operations Differs from the Federal Statutory Rate) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract', window );"><strong>Effective Income Tax Rate Reconciliation, Amount [Abstract]</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_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate', window );">Statutory rate</a></td>
<td class="nump">$ 31,288<span></span>
</td>
<td class="nump">$ 23,413<span></span>
</td>
<td class="nump">$ 20,908<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_IncomeTaxReconciliationStateAndLocalIncomeTaxes', window );">State taxes, less federal effect</a></td>
<td class="nump">6,446<span></span>
</td>
<td class="nump">5,541<span></span>
</td>
<td class="nump">4,068<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_IncomeTaxReconciliationTaxCredits', window );">Federal tax credits</a></td>
<td class="num">(787)<span></span>
</td>
<td class="num">(549)<span></span>
</td>
<td class="num">(587)<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_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount', window );">Excess tax benefit on stock based compensation</a></td>
<td class="num">(203)<span></span>
</td>
<td class="num">(214)<span></span>
</td>
<td class="num">(2,039)<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_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount', window );">Executive compensation</a></td>
<td class="nump">1,369<span></span>
</td>
<td class="nump">960<span></span>
</td>
<td class="nump">1,781<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_IncomeTaxReconciliationOtherAdjustments', window );">Other</a></td>
<td class="nump">346<span></span>
</td>
<td class="num">(67)<span></span>
</td>
<td class="nump">915<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_IncomeTaxExpenseBenefit', window );">Provision for income taxes</a></td>
<td class="nump">$ 38,459<span></span>
</td>
<td class="nump">$ 29,084<span></span>
</td>
<td class="nump">$ 25,046<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_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract', window );"><strong>Effective Income Tax Rate Reconciliation, Percent [Abstract]</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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Statutory rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.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_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State taxes, less federal effect</a></td>
<td class="nump">4.30%<span></span>
</td>
<td class="nump">5.00%<span></span>
</td>
<td class="nump">4.10%<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_EffectiveIncomeTaxRateReconciliationTaxCredits', window );">Federal tax credits</a></td>
<td class="num">(0.50%)<span></span>
</td>
<td class="num">(0.50%)<span></span>
</td>
<td class="num">(0.60%)<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_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent', window );">Excess tax benefit on stock based compensation</a></td>
<td class="num">(0.10%)<span></span>
</td>
<td class="num">(0.20%)<span></span>
</td>
<td class="num">(2.00%)<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_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent', window );">Executive compensation</a></td>
<td class="nump">0.90%<span></span>
</td>
<td class="nump">0.90%<span></span>
</td>
<td class="nump">1.80%<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_EffectiveIncomeTaxRateReconciliationOtherAdjustments', window );">Other</a></td>
<td class="nump">0.20%<span></span>
</td>
<td class="num">(0.10%)<span></span>
</td>
<td class="nump">0.90%<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 income tax rate, percentage</a></td>
<td class="nump">25.80%<span></span>
</td>
<td class="nump">26.10%<span></span>
</td>
<td class="nump">25.20%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Effective Income Tax Rate Reconciliation, Executive Compensation, Amount</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;">rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Effective Income Tax Rate Reconciliation, Executive Compensation, Percent</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;">rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types1: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_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_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract</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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 domestic federal statutory tax rate applicable to pretax income (loss).</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(h)(2))<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 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><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.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</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_EffectiveIncomeTaxRateReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.</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 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><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-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_EffectiveIncomeTaxRateReconciliationOtherAdjustments</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_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after 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>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<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><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -SubTopic 740<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480887/718-740-35-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_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount</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_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after 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>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<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><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -SubTopic 740<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480887/718-740-35-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_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent</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_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).</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 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><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-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_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</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_EffectiveIncomeTaxRateReconciliationTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits.</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 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><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-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_EffectiveIncomeTaxRateReconciliationTaxCredits</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_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_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract</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_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax 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/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_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate</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_IncomeTaxReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.</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 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_IncomeTaxReconciliationOtherAdjustments</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_IncomeTaxReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit).</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 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_IncomeTaxReconciliationStateAndLocalIncomeTaxes</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_IncomeTaxReconciliationTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits.</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 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_IncomeTaxReconciliationTaxCredits</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>108
<FILENAME>R93.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667555125760">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Income Taxes (Deferred Tax Liabilities (Assets)) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 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_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax 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_DeferredTaxLiabilitiesPropertyPlantAndEquipment', window );">Depreciation</a></td>
<td class="nump">$ 13,838<span></span>
</td>
<td class="nump">$ 14,570<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_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill', window );">Goodwill</a></td>
<td class="nump">65,967<span></span>
</td>
<td class="nump">62,132<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_DeferredTaxLiabilitiesLeasingArrangements', window );">Operating leases</a></td>
<td class="nump">11,325<span></span>
</td>
<td class="nump">6,775<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_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets', window );">Intangible assets</a></td>
<td class="nump">1,919<span></span>
</td>
<td class="nump">3,706<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_DeferredTaxLiabilitiesOther', window );">Other</a></td>
<td class="nump">1,264<span></span>
</td>
<td class="nump">1,358<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_DeferredIncomeTaxLiabilities', window );">Gross deferred tax liabilities</a></td>
<td class="nump">94,313<span></span>
</td>
<td class="nump">88,541<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_DeferredTaxAssetsInProcessResearchAndDevelopment', window );">Capitalized research and development costs</a></td>
<td class="num">(6,286)<span></span>
</td>
<td class="num">(4,503)<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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost', window );">Equity compensation</a></td>
<td class="num">(6,907)<span></span>
</td>
<td class="num">(5,993)<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_rock_DeferredTaxAssetOperatingLeases', window );">Operating leases</a></td>
<td class="num">(11,678)<span></span>
</td>
<td class="num">(7,076)<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_rock_DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness', window );">Assets held for sale</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(13,669)<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_DeferredTaxAssetsCapitalLossCarryforwards', window );">Capital loss carryforward</a></td>
<td class="num">(26,527)<span></span>
</td>
<td class="num">(26,490)<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_DeferredTaxAssetsOther', window );">Other</a></td>
<td class="num">(12,422)<span></span>
</td>
<td class="num">(10,417)<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_DeferredTaxAssetsGross', window );">Gross deferred tax assets</a></td>
<td class="num">(63,820)<span></span>
</td>
<td class="num">(68,148)<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_DeferredTaxAssetsValuationAllowance', window );">Valuation allowances</a></td>
<td class="nump">26,593<span></span>
</td>
<td class="nump">26,488<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_DeferredTaxAssetsNet', window );">Deferred tax assets, net of valuation allowances</a></td>
<td class="num">(37,227)<span></span>
</td>
<td class="num">(41,660)<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_DeferredTaxLiabilities', window );">Net deferred tax liabilities</a></td>
<td class="nump">$ 57,086<span></span>
</td>
<td class="nump">$ 46,881<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_rock_DeferredTaxAssetOperatingLeases">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Deferred Tax Asset, 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;">rock_DeferredTaxAssetOperatingLeases</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_rock_DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Deferred Tax Assets, Temporary Difference, Future Sale Of Business</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;">rock_DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_DeferredIncomeTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 liability attributable to taxable temporary differences.</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 (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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(26)(a))<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(26)(b))<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> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(2))<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_DeferredIncomeTaxLiabilities</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_DeferredTaxAssetsCapitalLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 allocation of valuation allowances of deferred tax asset attributable to deductible capital loss carryforwards.</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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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_DeferredTaxAssetsCapitalLossCarryforwards</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_DeferredTaxAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</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 (b)<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_DeferredTaxAssetsGross</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_DeferredTaxAssetsInProcessResearchAndDevelopment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from in-process research and development costs expensed in connection with a business combination.</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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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_DeferredTaxAssetsInProcessResearchAndDevelopment</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_DeferredTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<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_DeferredTaxAssetsNet</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_DeferredTaxAssetsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, 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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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_DeferredTaxAssetsOther</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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.</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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost</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_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_DeferredTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 without 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/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<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_DeferredTaxLiabilities</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_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 liability attributable to taxable temporary differences from 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/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 740<br> -Section 25<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479692/805-740-25-9<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 740<br> -Section 25<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479692/805-740-25-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_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill</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_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 liability attributable to taxable temporary differences from intangible assets other than 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/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets</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_DeferredTaxLiabilitiesLeasingArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 liability attributable to taxable temporary differences from leasing 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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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_DeferredTaxLiabilitiesLeasingArrangements</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_DeferredTaxLiabilitiesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 liability attributable to taxable temporary differences 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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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_DeferredTaxLiabilitiesOther</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_DeferredTaxLiabilitiesPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 liability attributable to taxable temporary differences from property, plant, and equipment.</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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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_DeferredTaxLiabilitiesPropertyPlantAndEquipment</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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>109
<FILENAME>R94.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667552212464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Narrative) (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Statutory tax rate, percentage</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.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_OperatingLossCarryforwards', window );">Deferred tax assets, net of operating losses</a></td>
<td class="nump">$ 17,500,000<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_DeferredTaxAssetsOperatingLossCarryforwards', window );">Deferred tax assets, net of operating losses</a></td>
<td class="nump">1,100,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_DeferredTaxLiabilitiesUndistributedForeignEarnings', window );">Undistributed earnings of foreign subsidiaries</a></td>
<td class="nump">1,400,000<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_rock_CapitalLossCarryforward', window );">Capital loss carryforward</a></td>
<td class="nump">110,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 113,700,000<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_rock_CapitalLossCarryforwardAmendedReturns', window );">Amended returns</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,700,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_DeferredTaxAssetsCapitalLossCarryforwards', window );">Deferred tax assets, capital loss carryforwards</a></td>
<td class="nump">26,527,000<span></span>
</td>
<td class="nump">$ 26,490,000<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_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense', window );">Interest and penalties recognized</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<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</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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [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_rock_IncomeTaxStatueOfLimitationsExpirationPeriod', window );">Statute of limitations expiration period, in years</a></td>
<td class="text">4 years<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</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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [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_rock_IncomeTaxStatueOfLimitationsExpirationPeriod', window );">Statute of limitations expiration period, in years</a></td>
<td class="text">10 years<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_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember', window );">Federal</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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [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_OperatingLossCarryforwards', window );">Deferred tax assets, net of operating losses</a></td>
<td class="nump">$ 300,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_DeferredTaxAssetsOperatingLossCarryforwards', window );">Deferred tax assets, net of operating losses</a></td>
<td class="nump">100,000<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_DeferredTaxAssetsCapitalLossCarryforwards', window );">Deferred tax assets, capital loss carryforwards</a></td>
<td class="nump">22,200,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_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember', window );">State</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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [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_OperatingLossCarryforwards', window );">Deferred tax assets, net of operating losses</a></td>
<td class="nump">16,500,000<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_DeferredTaxAssetsOperatingLossCarryforwards', window );">Deferred tax assets, net of operating losses</a></td>
<td class="nump">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_DeferredTaxAssetsCapitalLossCarryforwards', window );">Deferred tax assets, capital loss carryforwards</a></td>
<td class="nump">4,300,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_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember', window );">Foreign Tax Authority</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_OperatingLossCarryforwardsLineItems', window );"><strong>Operating Loss Carryforwards [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_OperatingLossCarryforwards', window );">Deferred tax assets, net of operating losses</a></td>
<td class="nump">700,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_DeferredTaxAssetsOperatingLossCarryforwards', window );">Deferred tax assets, net of operating losses</a></td>
<td class="nump">$ 200,000<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_rock_CapitalLossCarryforward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 Loss Carryforward</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;">rock_CapitalLossCarryforward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_rock_CapitalLossCarryforwardAmendedReturns">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 Loss Carryforward, Amended Returns</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;">rock_CapitalLossCarryforwardAmendedReturns</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_rock_IncomeTaxStatueOfLimitationsExpirationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Income Tax Statue Of Limitations Expiration 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;">rock_IncomeTaxStatueOfLimitationsExpirationPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>rock_</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_DeferredTaxAssetsCapitalLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 allocation of valuation allowances of deferred tax asset attributable to deductible capital loss carryforwards.</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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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_DeferredTaxAssetsCapitalLossCarryforwards</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_DeferredTaxAssetsOperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.</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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-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_DeferredTaxAssetsOperatingLossCarryforwards</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_DeferredTaxLiabilitiesUndistributedForeignEarnings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 liability attributable to taxable temporary differences from undistributed earnings of subsidiary and other recognized entity not within country of domicile. Includes, but is not limited to, other basis differences.</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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-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_DeferredTaxLiabilitiesUndistributedForeignEarnings</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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 domestic federal statutory tax rate applicable to pretax income (loss).</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(h)(2))<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 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><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.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</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_OperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-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_OperatingLossCarryforwards</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_OperatingLossCarryforwardsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OperatingLossCarryforwardsLineItems</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_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.</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 (c)<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_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense</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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember</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_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeTaxAuthorityAxis=us-gaap_StateAndLocalJurisdictionMember</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_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember</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>110
<FILENAME>R95.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667561946592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Summary of Valuation Allowance) (Details) - Deferred Tax Valuation Allowance - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_MovementInValuationAllowancesAndReservesRollForward', window );"><strong>SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]</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_ValuationAllowancesAndReservesBalance', window );">Balance as of January&#160;1</a></td>
<td class="nump">$ 26,488<span></span>
</td>
<td class="nump">$ 26,581<span></span>
</td>
<td class="nump">$ 111<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_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Cost charged to the tax provision</a></td>
<td class="nump">105<span></span>
</td>
<td class="nump">10<span></span>
</td>
<td class="nump">13<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_ValuationAllowancesAndReservesDeductions', window );">Reductions</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(103)<span></span>
</td>
<td class="num">(41)<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_ValuationAllowancesAndReservesAdjustments', window );">Reclassification from discontinued operations upon sale of industrial group</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">26,498<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_ValuationAllowancesAndReservesBalance', window );">Balance as of December&#160;31</a></td>
<td class="nump">$ 26,593<span></span>
</td>
<td class="nump">$ 26,488<span></span>
</td>
<td class="nump">$ 26,581<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_MovementInValuationAllowancesAndReservesRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 roll forward is a reconciliation of a concept from the beginning of a period to the end of a 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_MovementInValuationAllowancesAndReservesRollForward</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_ValuationAllowancesAndReservesAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 valuation and qualifying accounts and reserves from adjustment.</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 4<br> -Subparagraph (SX 210.12-09)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-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_ValuationAllowancesAndReservesAdjustments</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_ValuationAllowancesAndReservesBalance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 valuation and qualifying accounts and reserves.</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 4<br> -Subparagraph (SX 210.12-09(Column B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-4<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 4<br> -Subparagraph (SX 210.12-09(Column E))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-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_ValuationAllowancesAndReservesBalance</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_ValuationAllowancesAndReservesChargedToCostAndExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 valuation and qualifying accounts and reserves from charge to cost and expense.</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 4<br> -Subparagraph (SX 210.12-09(Column C)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-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_ValuationAllowancesAndReservesChargedToCostAndExpense</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_ValuationAllowancesAndReservesDeductions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 valuation and qualifying accounts and reserves.</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 4<br> -Subparagraph (SX 210.12-09(Column D))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-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_ValuationAllowancesAndReservesDeductions</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_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember</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>111
<FILENAME>R96.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667565540384">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Income Taxes Paid, Net of Tax Refunds) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</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_IncomeTaxesPaidNet', window );">Payments made for income taxes, net</a></td>
<td class="nump">$ 23,447<span></span>
</td>
<td class="nump">$ 27,017<span></span>
</td>
<td class="nump">$ 22,076<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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>112
<FILENAME>R97.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667653371472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings per Share (Narrative) (Details) - shares<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</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_CommonStockMember', window );">Common Stock</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_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>
<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 number of shares</a></td>
<td class="nump">26,000<span></span>
</td>
<td class="nump">43,000<span></span>
</td>
<td class="nump">0<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_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CommonStockMember</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>113
<FILENAME>R98.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667555529456">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings per Share (Schedule of Computation of Basic and Diluted Earnings per Share) (Details) - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</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_IncomeLossFromContinuingOperations', window );">Income from continuing operations</a></td>
<td class="nump">$ 110,533<span></span>
</td>
<td class="nump">$ 82,406<span></span>
</td>
<td class="nump">$ 74,516<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_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity', window );">Income from discontinued operations</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,113<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">$ 110,533<span></span>
</td>
<td class="nump">$ 82,406<span></span>
</td>
<td class="nump">$ 75,629<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_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average shares outstanding (in shares)</a></td>
<td class="nump">30,626<span></span>
</td>
<td class="nump">32,096<span></span>
</td>
<td class="nump">32,873<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 );">Common stock options and restricted stock (in shares)</a></td>
<td class="nump">159<span></span>
</td>
<td class="nump">96<span></span>
</td>
<td class="nump">181<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_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted average shares and conversions (in shares)</a></td>
<td class="nump">30,785<span></span>
</td>
<td class="nump">32,192<span></span>
</td>
<td class="nump">33,054<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_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EarningsPerShareAbstract</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_IncomeLossFromContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 income (loss) from continuing operations 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 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 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 3: 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 4: 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 5: 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 6: 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 7: 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 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-18<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.13)<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_IncomeLossFromContinuingOperations</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_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 income (loss) from a discontinued operation attributable to the parent. Includes, but is not limited to, the income (loss) from operations during the phase-out period, gain (loss) on disposal, gain (loss) for reversal of write-down (write-down) to fair value, less cost to sell, and adjustments to a prior period gain (loss) on disposal.</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 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 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-3A<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-5B<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-5C<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-3B<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-4<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<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/2147483499/205-20-50-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483475/205-20-45-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_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity</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_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_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>114
<FILENAME>R99.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667555125760">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Narrative (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2020</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_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [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>
<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_StockholdersEquity', window );">Cumulative effect of new accounting principle in period of adoption</a></td>
<td class="nump">$ 914,998<span></span>
</td>
<td class="nump">$ 822,099<span></span>
</td>
<td class="nump">$ 825,258<span></span>
</td>
<td class="nump">$ 743,805<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</a></td>
<td class="text">&#160;<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_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [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>
<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_LesseeOperatingLeaseRenewalTerm', window );">Lease renewal term</a></td>
<td class="text">1 month<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="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</a></td>
<td class="text">&#160;<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_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [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>
<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_LesseeOperatingLeaseRenewalTerm', window );">Lease renewal term</a></td>
<td class="text">10 years<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_RetainedEarningsMember', window );">Retained Earnings</a></td>
<td class="text">&#160;<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_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description [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>
<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_StockholdersEquity', window );">Cumulative effect of new accounting principle in period of adoption</a></td>
<td class="nump">$ 738,511<span></span>
</td>
<td class="nump">$ 627,978<span></span>
</td>
<td class="nump">$ 545,572<span></span>
</td>
<td class="nump">$ 469,943<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_LesseeLeaseDescriptionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-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_LesseeLeaseDescriptionLineItems</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_LesseeOperatingLeaseRenewalTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 lessee's operating lease renewal, 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 20<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/2147478964/842-20-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_LesseeOperatingLeaseRenewalTerm</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_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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_RetainedEarningsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementEquityComponentsAxis=us-gaap_RetainedEarningsMember</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>115
<FILENAME>R100.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667559669040">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Assets and Liabilities of Lessee (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 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_LeasesAbstract', window );"><strong>Leases [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_OperatingLeaseRightOfUseAsset', window );">Operating lease assets</a></td>
<td class="nump">$ 44,918<span></span>
</td>
<td class="nump">$ 26,502<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 );">Current operating lease liability</a></td>
<td class="nump">10,278<span></span>
</td>
<td class="nump">$ 8,620<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 );">Present value of lease liabilities</a></td>
<td class="nump">$ 46,267<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_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_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_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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>116
<FILENAME>R101.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667555606032">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Schedule of Lease Cost and Assumptions (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_LeasesAbstract', window );"><strong>Leases [Abstract]</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_OperatingLeaseCost', window );">Operating lease cost</a></td>
<td class="nump">$ 12,940<span></span>
</td>
<td class="nump">$ 11,191<span></span>
</td>
<td class="nump">$ 10,977<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_ShortTermLeaseCost', window );">Short-term lease cost</a></td>
<td class="nump">4,645<span></span>
</td>
<td class="nump">5,694<span></span>
</td>
<td class="nump">7,153<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_LeaseCost', window );">Total lease cost</a></td>
<td class="nump">17,585<span></span>
</td>
<td class="nump">16,885<span></span>
</td>
<td class="nump">18,130<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_OperatingLeasePayments', window );">Cash paid for amounts included in the measurement of operating liabilities</a></td>
<td class="nump">10,628<span></span>
</td>
<td class="nump">8,835<span></span>
</td>
<td class="nump">9,431<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_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Right-of-use assets obtained in exchange for new lease liabilities</a></td>
<td class="nump">$ 27,468<span></span>
</td>
<td class="nump">$ 17,008<span></span>
</td>
<td class="nump">$ 1,084<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 - operating leases</a></td>
<td class="text">6 years 7 months 6 days<span></span>
</td>
<td class="text">5 years 3 months 18 days<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_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted-average discount rate - operating leases</a></td>
<td class="nump">500.00%<span></span>
</td>
<td class="nump">500.00%<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_LeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 lease cost recognized by lessee for lease contract.</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> -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_LeaseCost</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_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_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_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_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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 short-term lease cost, excluding expense for lease with term of one month or less.</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 (c)<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_ShortTermLeaseCost</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>117
<FILENAME>R102.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667561889952">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Maturity of Lease Payments (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</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_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 12,329<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_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2025</a></td>
<td class="nump">9,748<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_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2026</a></td>
<td class="nump">6,304<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_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2027</a></td>
<td class="nump">4,775<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_LesseeOperatingLeaseLiabilityPaymentsDueYearFive', window );">2028</a></td>
<td class="nump">4,391<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 );">After 2028</a></td>
<td class="nump">17,191<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">54,738<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: present value discount</a></td>
<td class="num">(8,471)<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 );">Present value of lease liabilities</a></td>
<td class="nump">$ 46,267<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_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_LesseeOperatingLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 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_LesseeOperatingLeaseLiabilityPaymentsDueYearFive</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_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_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>118
<FILENAME>R103.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667559821520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment Information (Narrative) (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </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_SegmentReportingInformationRevenueAbstract', window );"><strong>Segment Reporting Information, Revenue for Reportable Segment [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">4<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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingInformationRevenueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SegmentReportingInformationRevenueAbstract</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>119
<FILENAME>R104.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667557199904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment Information (Measurements Used by Management to Assess Performance of Segments) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_SegmentReportingOtherSignificantReconcilingItemLineItems', window );"><strong>Segment Reporting, Other Significant Reconciling Item [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_Revenues', window );">Net sales:</a></td>
<td class="nump">$ 1,377,736<span></span>
</td>
<td class="nump">$ 1,389,966<span></span>
</td>
<td class="nump">$ 1,339,783<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_OperatingIncomeLoss', window );">Income from operations:</a></td>
<td class="nump">150,729<span></span>
</td>
<td class="nump">130,102<span></span>
</td>
<td class="nump">96,988<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">27,378<span></span>
</td>
<td class="nump">26,167<span></span>
</td>
<td class="nump">31,966<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_Assets', window );">Total assets</a></td>
<td class="nump">1,256,451<span></span>
</td>
<td class="nump">1,210,613<span></span>
</td>
<td class="nump">1,214,901<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 );">Capital expenditures</a></td>
<td class="nump">14,997<span></span>
</td>
<td class="nump">20,138<span></span>
</td>
<td class="nump">17,705<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_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating Segments</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_SegmentReportingOtherSignificantReconcilingItemLineItems', window );"><strong>Segment Reporting, Other Significant Reconciling Item [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_OperatingIncomeLoss', window );">Income from operations:</a></td>
<td class="nump">190,829<span></span>
</td>
<td class="nump">163,618<span></span>
</td>
<td class="nump">133,959<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_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember', window );">Unallocated Corporate Expenses</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_SegmentReportingOtherSignificantReconcilingItemLineItems', window );"><strong>Segment Reporting, Other Significant Reconciling Item [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_OperatingIncomeLoss', window );">Income from operations:</a></td>
<td class="num">(40,100)<span></span>
</td>
<td class="num">(33,516)<span></span>
</td>
<td class="num">(36,971)<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_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">1,701<span></span>
</td>
<td class="nump">1,190<span></span>
</td>
<td class="nump">219<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_Assets', window );">Total assets</a></td>
<td class="nump">117,287<span></span>
</td>
<td class="nump">24,448<span></span>
</td>
<td class="nump">21,246<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_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures</a></td>
<td class="nump">4,239<span></span>
</td>
<td class="nump">1,424<span></span>
</td>
<td class="nump">3,869<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_StatementBusinessSegmentsAxis=rock_RenewablesMember', window );">Renewables</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_SegmentReportingOtherSignificantReconcilingItemLineItems', window );"><strong>Segment Reporting, Other Significant Reconciling Item [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_Revenues', window );">Net sales:</a></td>
<td class="nump">330,738<span></span>
</td>
<td class="nump">377,567<span></span>
</td>
<td class="nump">432,096<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_StatementBusinessSegmentsAxis=rock_RenewablesMember', window );">Renewables | Operating Segments</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_SegmentReportingOtherSignificantReconcilingItemLineItems', window );"><strong>Segment Reporting, Other Significant Reconciling Item [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_Revenues', window );">Net sales:</a></td>
<td class="nump">330,738<span></span>
</td>
<td class="nump">377,567<span></span>
</td>
<td class="nump">432,096<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_OperatingIncomeLoss', window );">Income from operations:</a></td>
<td class="nump">30,160<span></span>
</td>
<td class="nump">25,243<span></span>
</td>
<td class="nump">20,158<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_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">8,671<span></span>
</td>
<td class="nump">8,467<span></span>
</td>
<td class="nump">14,682<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_Assets', window );">Total assets</a></td>
<td class="nump">377,694<span></span>
</td>
<td class="nump">392,368<span></span>
</td>
<td class="nump">445,486<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_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures</a></td>
<td class="nump">1,113<span></span>
</td>
<td class="nump">3,589<span></span>
</td>
<td class="nump">4,268<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_StatementBusinessSegmentsAxis=rock_ResidentialMember', window );">Residential</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_SegmentReportingOtherSignificantReconcilingItemLineItems', window );"><strong>Segment Reporting, Other Significant Reconciling Item [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_Revenues', window );">Net sales:</a></td>
<td class="nump">814,803<span></span>
</td>
<td class="nump">767,248<span></span>
</td>
<td class="nump">635,505<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_StatementBusinessSegmentsAxis=rock_ResidentialMember', window );">Residential | Operating Segments</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_SegmentReportingOtherSignificantReconcilingItemLineItems', window );"><strong>Segment Reporting, Other Significant Reconciling Item [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_Revenues', window );">Net sales:</a></td>
<td class="nump">814,803<span></span>
</td>
<td class="nump">767,248<span></span>
</td>
<td class="nump">635,505<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_OperatingIncomeLoss', window );">Income from operations:</a></td>
<td class="nump">143,068<span></span>
</td>
<td class="nump">126,458<span></span>
</td>
<td class="nump">105,821<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_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">10,080<span></span>
</td>
<td class="nump">8,983<span></span>
</td>
<td class="nump">8,694<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_Assets', window );">Total assets</a></td>
<td class="nump">515,739<span></span>
</td>
<td class="nump">519,567<span></span>
</td>
<td class="nump">453,469<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_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures</a></td>
<td class="nump">6,913<span></span>
</td>
<td class="nump">10,050<span></span>
</td>
<td class="nump">4,182<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_StatementBusinessSegmentsAxis=rock_AgtechMember', window );">Agtech</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_SegmentReportingOtherSignificantReconcilingItemLineItems', window );"><strong>Segment Reporting, Other Significant Reconciling Item [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_Revenues', window );">Net sales:</a></td>
<td class="nump">144,967<span></span>
</td>
<td class="nump">168,868<span></span>
</td>
<td class="nump">199,161<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_StatementBusinessSegmentsAxis=rock_AgtechMember', window );">Agtech | Operating Segments</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_SegmentReportingOtherSignificantReconcilingItemLineItems', window );"><strong>Segment Reporting, Other Significant Reconciling Item [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_Revenues', window );">Net sales:</a></td>
<td class="nump">144,967<span></span>
</td>
<td class="nump">168,868<span></span>
</td>
<td class="nump">199,161<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_OperatingIncomeLoss', window );">Income from operations:</a></td>
<td class="num">(928)<span></span>
</td>
<td class="nump">2,914<span></span>
</td>
<td class="num">(931)<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_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">3,789<span></span>
</td>
<td class="nump">4,377<span></span>
</td>
<td class="nump">5,279<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_Assets', window );">Total assets</a></td>
<td class="nump">168,213<span></span>
</td>
<td class="nump">193,966<span></span>
</td>
<td class="nump">212,038<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_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures</a></td>
<td class="nump">1,419<span></span>
</td>
<td class="nump">3,177<span></span>
</td>
<td class="nump">3,289<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_StatementBusinessSegmentsAxis=rock_InfrastructureMember', window );">Infrastructure</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_SegmentReportingOtherSignificantReconcilingItemLineItems', window );"><strong>Segment Reporting, Other Significant Reconciling Item [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_Revenues', window );">Net sales:</a></td>
<td class="nump">87,228<span></span>
</td>
<td class="nump">76,283<span></span>
</td>
<td class="nump">73,021<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_StatementBusinessSegmentsAxis=rock_InfrastructureMember', window );">Infrastructure | Operating Segments</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_SegmentReportingOtherSignificantReconcilingItemLineItems', window );"><strong>Segment Reporting, Other Significant Reconciling Item [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_Revenues', window );">Net sales:</a></td>
<td class="nump">87,228<span></span>
</td>
<td class="nump">76,283<span></span>
</td>
<td class="nump">73,021<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_OperatingIncomeLoss', window );">Income from operations:</a></td>
<td class="nump">18,529<span></span>
</td>
<td class="nump">9,003<span></span>
</td>
<td class="nump">8,911<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_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">3,137<span></span>
</td>
<td class="nump">3,150<span></span>
</td>
<td class="nump">3,092<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_Assets', window );">Total assets</a></td>
<td class="nump">77,518<span></span>
</td>
<td class="nump">80,264<span></span>
</td>
<td class="nump">82,662<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_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures</a></td>
<td class="nump">$ 1,313<span></span>
</td>
<td class="nump">$ 1,898<span></span>
</td>
<td class="nump">$ 2,097<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_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_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_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_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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</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 S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<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 (a)<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 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 17: 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 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: 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 20: 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 21: 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 22: 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 23: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_Revenues</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_SegmentReportingOtherSignificantReconcilingItemLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_SegmentReportingOtherSignificantReconcilingItemLineItems</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_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember</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_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember</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_StatementBusinessSegmentsAxis=rock_RenewablesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=rock_RenewablesMember</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_StatementBusinessSegmentsAxis=rock_ResidentialMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=rock_ResidentialMember</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_StatementBusinessSegmentsAxis=rock_AgtechMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=rock_AgtechMember</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_StatementBusinessSegmentsAxis=rock_InfrastructureMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=rock_InfrastructureMember</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>120
<FILENAME>R105.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667557334928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment Information (Net Sales by Contract Type) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_Revenues', window );">Net sales:</a></td>
<td class="nump">$ 1,377,736<span></span>
</td>
<td class="nump">$ 1,389,966<span></span>
</td>
<td class="nump">$ 1,339,783<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_StatementBusinessSegmentsAxis=rock_RenewablesMember', window );">Renewables</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_Revenues', window );">Net sales:</a></td>
<td class="nump">330,738<span></span>
</td>
<td class="nump">377,567<span></span>
</td>
<td class="nump">432,096<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_StatementBusinessSegmentsAxis=rock_ResidentialMember', window );">Residential</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_Revenues', window );">Net sales:</a></td>
<td class="nump">814,803<span></span>
</td>
<td class="nump">767,248<span></span>
</td>
<td class="nump">635,505<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_StatementBusinessSegmentsAxis=rock_AgtechMember', window );">Agtech</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_Revenues', window );">Net sales:</a></td>
<td class="nump">144,967<span></span>
</td>
<td class="nump">168,868<span></span>
</td>
<td class="nump">199,161<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_StatementBusinessSegmentsAxis=rock_InfrastructureMember', window );">Infrastructure</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_Revenues', window );">Net sales:</a></td>
<td class="nump">87,228<span></span>
</td>
<td class="nump">76,283<span></span>
</td>
<td class="nump">73,021<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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember', window );">Point in Time</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_Revenues', window );">Net sales:</a></td>
<td class="nump">893,815<span></span>
</td>
<td class="nump">834,887<span></span>
</td>
<td class="nump">711,793<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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember', window );">Point in Time | Renewables</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_Revenues', window );">Net sales:</a></td>
<td class="nump">49,123<span></span>
</td>
<td class="nump">27,317<span></span>
</td>
<td class="nump">28,630<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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember', window );">Point in Time | Residential</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_Revenues', window );">Net sales:</a></td>
<td class="nump">808,225<span></span>
</td>
<td class="nump">761,576<span></span>
</td>
<td class="nump">630,494<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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember', window );">Point in Time | Agtech</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_Revenues', window );">Net sales:</a></td>
<td class="nump">4,920<span></span>
</td>
<td class="nump">13,011<span></span>
</td>
<td class="nump">20,157<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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember', window );">Point in Time | Infrastructure</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_Revenues', window );">Net sales:</a></td>
<td class="nump">31,547<span></span>
</td>
<td class="nump">32,983<span></span>
</td>
<td class="nump">32,512<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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember', window );">Over Time</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_Revenues', window );">Net sales:</a></td>
<td class="nump">483,921<span></span>
</td>
<td class="nump">555,079<span></span>
</td>
<td class="nump">627,990<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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember', window );">Over Time | Renewables</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_Revenues', window );">Net sales:</a></td>
<td class="nump">281,615<span></span>
</td>
<td class="nump">350,250<span></span>
</td>
<td class="nump">403,466<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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember', window );">Over Time | Residential</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_Revenues', window );">Net sales:</a></td>
<td class="nump">6,578<span></span>
</td>
<td class="nump">5,672<span></span>
</td>
<td class="nump">5,011<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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember', window );">Over Time | Agtech</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_Revenues', window );">Net sales:</a></td>
<td class="nump">140,047<span></span>
</td>
<td class="nump">155,857<span></span>
</td>
<td class="nump">179,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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember', window );">Over Time | Infrastructure</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_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue [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_Revenues', window );">Net sales:</a></td>
<td class="nump">$ 55,681<span></span>
</td>
<td class="nump">$ 43,300<span></span>
</td>
<td class="nump">$ 40,509<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_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 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 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<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_DisaggregationOfRevenueLineItems</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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</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 S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<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 (a)<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 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 17: 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 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: 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 20: 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 21: 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 22: 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 23: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_Revenues</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_StatementBusinessSegmentsAxis=rock_RenewablesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=rock_RenewablesMember</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_StatementBusinessSegmentsAxis=rock_ResidentialMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=rock_ResidentialMember</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_StatementBusinessSegmentsAxis=rock_AgtechMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=rock_AgtechMember</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_StatementBusinessSegmentsAxis=rock_InfrastructureMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementBusinessSegmentsAxis=rock_InfrastructureMember</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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember</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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember</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>121
<FILENAME>R106.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.0.1</span><table class="report" border="0" cellspacing="2" id="idm140667560748752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment Information (Net Sales by Region or Origin and Long-Lived Assets by Region of Domicile) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [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_Revenues', window );">Net sales:</a></td>
<td class="nump">$ 1,377,736<span></span>
</td>
<td class="nump">$ 1,389,966<span></span>
</td>
<td class="nump">$ 1,339,783<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_NoncurrentAssets', window );">Long-lived assets</a></td>
<td class="nump">154,837<span></span>
</td>
<td class="nump">136,787<span></span>
</td>
<td class="nump">97,368<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_StatementGeographicalAxis=srt_NorthAmericaMember', window );">North America</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [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_Revenues', window );">Net sales:</a></td>
<td class="nump">1,366,012<span></span>
</td>
<td class="nump">1,373,907<span></span>
</td>
<td class="nump">1,318,795<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_NoncurrentAssets', window );">Long-lived assets</a></td>
<td class="nump">154,778<span></span>
</td>
<td class="nump">136,553<span></span>
</td>
<td class="nump">97,003<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_StatementGeographicalAxis=srt_AsiaMember', window );">Asia</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [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_Revenues', window );">Net sales:</a></td>
<td class="nump">11,724<span></span>
</td>
<td class="nump">16,059<span></span>
</td>
<td class="nump">20,988<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_NoncurrentAssets', window );">Long-lived assets</a></td>
<td class="nump">$ 59<span></span>
</td>
<td class="nump">$ 234<span></span>
</td>
<td class="nump">$ 365<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_NoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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>Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax 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 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<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_NoncurrentAssets</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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</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 S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<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 (a)<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 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 17: 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 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 (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: 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 20: 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 21: 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 22: 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 23: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_Revenues</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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems</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_srt_StatementGeographicalAxis=srt_NorthAmericaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementGeographicalAxis=srt_NorthAmericaMember</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_StatementGeographicalAxis=srt_AsiaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementGeographicalAxis=srt_AsiaMember</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>123
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( /%&55@'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    " #Q1E588&"(^>\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+!
M3L,P#(9?!>7>NFDW#E&7"]-.("$Q"<0M2KPMHFFBQ*C=V].&K1."!^ 8^\_G
MSY);'83V$9^C#QC)8KH;7=<GH<.&G8B" $CZA$ZE<DKT4_/@HU,T/>,1@M(?
MZHA05]4]."1E%"F8@458B$RV1@L=49&/%[S1"SY\QB[#C ;LT&%/"7C)@<EY
M8CB/70LWP PCC"Y]%] LQ%S]$YL[P"[),=DE-0Q#.30Y-^W X>WI\26O6]@^
MD>HU3K^2%70.N&'7R:_-PW:_8[*NZE51U47-][P1Z[7@J_?9]8??3=AY8P_V
M'QM?!64+O^Y"?@%02P,$%     @ \4956)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
M" #Q1E58SZJ090T(  #4,0  &    'AL+W=O<FMS:&5E=',O<VAE970Q+GAM
M;+6;;6_J-A3'OXK%KJ9-*I X0-N[%@D"W=AZ6P;<37?37IC$E*A)S!RG#]]^
MQ^$AI'),,IF^* GD_!/_L)WSCP\WKXP_)VM*!7J+PCBY;:R%V'QNMQ-O32.2
MM-B&QO#)BO&("-CE3^UDPRGQLZ H;&/+ZK4C$L2-_DWVWI3W;U@JPB"F4XZ2
M-(H(?Q_2D+W>-NS&_HU9\+06\HUV_V9#GNB<BJ^;*8>]]D'%#R(:)P&+$:>K
MV\; _CQRKF5 =L0? 7U-CK:1;,J2L6>Y,_%O&Y:\(AI23T@) B\OU*5A*)7@
M.O[=B38.YY2!Q]M[];NL\="8)4FHR\(_ U^L;QM7#>33%4E#,6.OO]!=@[I2
MSV-ADOU'K]MCNTX#>6DB6+0+ABN(@GC[2MYV((X"KJR2 +P+P!\"[$Y)@+,+
M<*H&='8!G8S,MBD9AQ$1I'_#V2OB\FA0DQL9S"P:FA_$\GN?"PZ?!A G^BY[
MH1Q-X2M&3?1U/D(_?/H1?4)!C(9!&,(WD]RT!9Q''MWV=IK#K28NT;0Q^L)B
ML4[0./:I7Q1HPP4>KA+OKW*(M8HCZK608U\@;&%'<4&N/OR.+EL0FH5W%.$C
M??BO:0QGMU1G+[3&.3!W,CU'R_SOP3(1'/K]/RK"6X6.6D%.!I^3#?'H;0-&
M>T+Y"VWTO__.[ED_J>B8%!L9$BN0ZQS(=73J_1'S4IAT!%J\;Z@*FS[<MIJ_
MJ?AHH^KR,216X-,]\.E6XS.(XY2$:$8WC L5*+V.X*D*KZN-J@O*D%@!5.\
MJE<-U)3R@/ERHD(P?RK[U FE_=14.C=IX^M",R16@'9Y@':I;:J;<BZ9W06)
M!YWK&R5<"TZOUFS:N.G8*F+:P+K$#(D5B%T=B%U5G*\X@50IRW3*QZ1>:T7"
M1#DHM6%U:1D2*]"Z/M"ZUK9P'(M O$/W"BEZ2*,EY2I*>@W+LIH8=WI814H;
M6I>4(;$"*=O*TS:K"JL9?0ID%@%=[(%$RE%X0NCGR7 VN%\,9FCR,/HZ7\PF
MX_D%;+LM%4&]6%V$IM2*#(]27[L*PTGL,0YCDLCA>8'F J8SQ#AR61H+_@ZO
MOAJL7GTT5@+4!M4&:$BM"!#G '$5@ ORAB8^3'/!*O RBIKA>T+2[C7M3J=K
M=RTE/6UP;7J&U(KT<A=@:U/E/;V![X-Z<K'?0/=P''J,U7U.+^ETNSUT3YXI
MFJ\9IVC&B*_D:-01F%(K<LP]@:W/ZK4<%Z],R5$O.6T]MM"0O<F<[DH)T*AE
M,*56!)B;!EN?[7\$Z,H]F  7[#56PM/+#=,5Y"H,72C!&;40IM2*X'(38>MS
M_X_@#K>.*6<O0>RIA[!>\^&;$IM1$V%*K8@MMQ&V/O/_B&W*$@%^XJ]@4WZO
MU2O:'6Q?-RU<,EB-^@E3:D5XN:.P]38@&YP#3DDY*[W I=U30C)J(TRI%2'E
M1L+6NX![)@WJ=,UBG9,X(7*%>\U>UU(G(D:MA"FUXK/5W$M@O058! (<%ULA
M&_^P_!'-J9=RZ&4J9">47!9%D/W-!?.>+] GJV79:$,X>B%A2M&&<I2L"5>Z
M6+UR7:*FU(I$<V>!];D_V'T_B)_0_#U:LE )4B\P>W253RKU8;4IG<,^X-P^
M8'VNO^]H:/SFK4G\1$L][ FAA\%\-/A=R<NH83"E5N25&P9<R3#\2<.P^1Q#
M<@9#E20PQ_EHDB2I>I([H?F-JA9X7'U4;6[G, @X-PBXDD'X@X5@Z G?/F'B
MRH6M$TH/*C/AZH-JPSJ'&<"Y&<"5S,#^6>_V:64VET%RFZJAZ17+NIA1)V!*
MK4@M=P*XDA.8Q(+R[5*V?"I.]AB5U/2*9=2,&@%3:D5JN1' E8Q -AR1"][I
MB7%UVJ'7N2<<;AX#SZ,@!#+^5E+)SZ@7,*56Y)=[ :Q/Y7?\YA$)0S1,$_@X
M48_0_[FTH(^K3>L<I@#GI@!76EX81Y0_R0GM9U 0:[!1T8;$ZFZG%RS'9M0=
MF%(KUBKD[L#1Y_03]VZ&!JD?",;10 @*9CU[QGL7DB=EZ8)>KVQM61]6NTKA
M' ; R0V 4VEI8;Z&7$W7PT[(E/8P?5QM6.?P 4[N YQ*RPC3=!D&'G0K1I0W
M3+U*[9H8H\Y@I];-U&2MW4O?;EW?M%]48([JA"HE_$57/9<..D&/J8"!&$N;
MJ81EMH!HJ]8[:IYC=3KXNMLYM'$'XARIOI.G^HX^0=\ON"='JWJ0#BSE2NF*
M0BJF?B9[2O71_?IE_+"8RW71Q]GT<398C$=H^ W-QG?CV?C!':.I3)-9G,CG
M*&)-CU9FO__N"MN7/R5H1%=!'&3)X92SM_?M\^*L/D PM*1H!5F+CU8PSP;0
M EFLMB_D^4)IEH2#>-8-UBSTP<(@Z HH^-!2OF\I? *Z4\(%FDPFVPL+DF)M
M$)(3.>,1DK51RB5?/9O: ^4<[L;)W8VC]R(#H.UGQ$OO7GJ!\AG9J)TQI5;$
ME-L9IV)YU'&ISQV\J<PN3XB5U47IPVH3.X>5<7(KX^@MR$=BN[JR<F9ZN3OE
M*I ^J#:Q<Y@7)S<O3B7SX@(T#L FL4_?T&]4G2;II2SXN[9Q5UWUHP^N3>T<
M)L;)38RC]QQ'_2PFL1< N?PN,N8\JUOA?%=5_[><Y=3UQ?_3VNCC:L,T:FW:
M1V7PTN1E/R=(D"?K>+85\8=W#S]9&&2%^NW\\.WO';X0Z1$3%-(5A%JM2YB/
M^?8G!-L=P3994?V2"<&B;'--"=R3Y0'P^8HQL=^1)SC\D*/_'U!+ P04
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
MG"6\K #Z_RLAU,M%=8/N='3^'U!+ P04    " #Q1E581D/#'&P#  !@"P
M&    'AL+W=O<FMS:&5E=',O<VAE970T+GAM;*U6;6_;-A#^*X16#"V01.\O
MSFP!B;6A!=HU:-+U0[$/M'2VN$JD1])V\N]'4HIJRXR7#X8!2Z3N>7C/\7B\
MZ8[Q'Z(&D.BQ;:B8.;64ZVO7%64-+197; U4?5DRWF*IAGSEBC4'7!E0V[B!
MYR5NBPEU\JF9N^/YE&UD0RC<<20V;8OYTRTT;#=S?.=YX@M9U5)/N/ETC5=P
M#_+K^HZKD3NP5*0%*@BCB,-RYMSXU\5$VQN#OPCLQ-X[TDH6C/W0@P_5S/&T
M0]! *34#5H\MS*%I-)%RX]^>TQF6U,#]]V?V/XQVI66!!<Q9\XU4LIXYF8,J
M6.)-([^PW7OH]<2:KV2-,/]HU]FFH8/*C9"L[<'*@Y;0[HD?^SCL ?SD!4#0
M X(Q('H!$/: \+6 J =$)C*=%!.' DN<3SG;(:ZM%9M^,<$T:"6?4+WM]Y*K
MKT3A9#YG5+"&5%A"A>ZE>J@]E0*Q)9JS5F52K;=X"^@#+5D+Z!)]O2_0VS?O
MT!M$*'JHV49@6HFI*Y4WFM,M^Y5ONY6#%U;V _2)45D+]#NMH#HD<)6,04OP
MK.4V.,E80'F%0O\"!5X06AR:OQX>6.#%Z^'^"37AL#.AX0M?X/LL:^#V37C[
MD0GQ[@+]J<J"VJ@'_(B^WRR$Y.H4_6W;B6ZER+Z2KBS78HU+F#EJ+0%\"T[^
MZR]^XOUFB^(YR8HSD1U$.!HB')UBSW7XB(FH+68=-C5873RWN>][<:@2:[L?
MC6.S+(B\Y-"J.+9*XR28#%8'_L>#__$K,J0\R!#29TBC,^3:IBL^9RZ<DZPX
M$]E!+),AELG)7%"7B+HBJ"JYG ,MGY Z3%0TN+N<JG]4)=:%T1;0CCC93Y3
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
M6P-X?R>E>;FQ1^:[GTCF_P-02P,$%     @ \4956#AQQ# U P  #0L  !@
M  !X;"]W;W)K<VAE971S+W-H965T-BYX;6RMEMMNVS@0AE^%T!:+!&BCDRW9
M65M XJ#8O2A@U$E[4>P%(XTM(I2H)2F[[=-W2#FJ#_)IVUS$HC3S\_NI(36C
ME9 O*@?0Y&O!2S5V<JVK6]=5:0X%53>B@A*?S(4LJ,:A7+BJDD SFU1P-_"\
MR"TH*YUD9.]-93(2M>:LA*DDJBX**K_= Q>KL>,[KS<^LD6NS0TW&55T 3/0
M3]54XLAM53)60*F8*(F$^=BY\V\GODVP$9\8K-3&-3%6GH5X,8-_LK'C&2+@
MD&HC0?%G"1/@W"@AQW]K4:>=TR1N7K^JO[?FT<PS53 1_#/+=#YV!@[)8$YK
MKC^*U=^P-M0W>JG@ROXGJR8V&CHDK946Q3H9"0I6-K_TZWHA-A+\WH&$8)T0
MG)L0KA-":[0AL[8>J*;)2(H5D28:U<R%71N;C6Y8:5[C3$M\RC!/)Q-1*L%9
M1C5DY)YR6J9 9D9.D:LIE5#J'#1+*;\F[\C3[(%<O;DF;P@KR6,N:D7+3(U<
MC21&STW7L]XWLP8'9GV ](:$_EL2>$'8D3XY/SW83G?1?[L(0;L(@=4+#^C-
M--K'VM1$S,E[5N(B,,K)5"AF:^W+W;/2$BONWRZKC7:O6]MLPUM5T13&#NXS
M!7()3O+G'W[D_=5E_#>);2U#V"Y#>$P]N>.XJ6T!X/% 4@D9TX0+U?F"&ZG8
M2IFS8IGT^S&^C.6FF_V@,.Y%;= 69:^E[!VEG.(^!XEP!#='^O*65%22)>4U
MD"NLRDQP3J4B%>!AE6,!7W?1-U,,-L"\&\_?H3\1M$7?;^G[E]%;1D5HK7,A
MV7=\8%PT=SO1&_UH@\KWFK\=_#,"MRQ$K87H?UG CX32>!ZP<G'*0[2'M@M_
M+&*+.FZIXZ/4$U$4N)5_H6;B<VKF1- 6^J!%'UR ?G'!# [6P>ZBGQ.YY6#8
M.AA>[H I59^F'^XQA;W '^[#=P5ZT6%VW_OYB?0NI[^@VM?R9WCHC#QJ8N,[
M[Q\U\8A-GJKEMQT;I]#]?: X'G20=P3ZP^$^N+O1JYA&\0.5"U8JPF&.F=Y-
MC,>6;'JO9J!%9=N79Z&Q&;*7.?:K($T /I\+H5\'IB-J.^#D!U!+ P04
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
MJO4V%52+)7G#*^WOSKXJ[ZMT9XP 719"+D9J %C',W4SUJ/Y5ILQJ$T&BI9
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
M.B*A4RV\4><4N" 0@7,@;#+CN:DEK_/\\<<,-VXOV7!N(2J7HW#1-K5&(E3
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
M:044?V,)MW&>*G<J0BE:E<H2A51*G5(0;E];@Q6K6YA:9U$9L'K5*%Y:D]7
M>BI28MBE^H<RH%%EJR.<CE:,5JE 4+ZALS">FE6P$?0ID2FWA)</E0)9HV%1
M2E< >5P97R!!9)J2<\8J8B446)/SDH1<,T78S&OO(9C7TF98_G?V<DND"U,[
M-H6LK%F8.2-IHRFZ7\K8%O\V2C/XI5P16J47CIA9SV3+&$SP@#"GP$RGP=[<
MJ@RDI $^_/=-@VQ([(L[6L 1;P3W!%2AZ'VB/&A_K^,8@'@OY(C,,L4KP%.[
M=R ([B XT-'FFZ74@ \.V7PCO*K8?7@+)K5C>W@.Z8@6" %+2V,CPRX:[XM;
MN0DH0',3*1R(]IU88:3PP3:E$R%+#Q;SHI'/21-H+#=M+0@)*]]K92-SL+]L
M#' Q($WP7NJ\*97)D+TY'HI,;EPBX#LD4@)&_H^Y@,UZR;)0D &]4YB68$RD
MRJ9UA1@CX5%HR"82R*D.!X\X"A1F:K$(E<C&'XHKO3(J#=G$+ZY-A738B$(Z
M&&9GD6W@OI"^^_X7URGW'1F9$=KX#B<A;1>H4OBQ4!JHV6P*)4:','R6]\2Z
M2BXT&(J=I&T="3Q4:2$DO'3UW(%AG"HYHI7R35+D9D56,]=('%DC3A9>,X5\
MC.X#ED:SX_[5%Y>.7<=LH&J.;&GG0_+(15A!0!@Q*CPD9&@S\U+E,B8*6UA*
MZ[<)%P@);!6H(N05@JM0L8"&0HL^9JC MCY!@]B@%CD' (VQ;:N@W,"%_4A#
MPN)A'" #Q)K_: -Y1]YU"Z13/HHKMR$J-<X'W6;N&R?EUH78P>4V$ R#J9DC
MT@L5SV'MJ%$C@W&_<Q'&0#SAJ76POYN6#488<\HUU+$6Y#X?<D']7)5E:)MA
M#&I6VE92FJ*G1R=)K4)98_M)=J)1JRRXW@Z(<+-Q'22EDK 3LJ4+9VO[ :(
M,A$I>J%#3D,O6$EK:[G*.YJ2$)Q:PVD=^ _UF.QUQ-98,FLZU/S/N?$9H@M4
MCEES]'S3@H.1&"Y"0VOFPIR0A"'*C1;W ]Z3%UAXQD&8YO#C8KPW<\5A< ^S
M",?=T=N8R)S$_&<$KY]/@@,Q&R?#R0P/TU%R,AGSSC293D[$U?/!$H?3*81G
M1^)P,DN&HQ,\3(^3D]'H2'QY!!\BR:_3$4LDLY,Q'TF.WV!]]W3F9''>,L6<
MVHZ)QO:>?A)+M"G646P,:QFPION2L.FRNVC%0NM0RZU(F<P%-0>367^&FSP8
M,#H1!]-I?[I;LMF#V:0_W&UU0Q03*/0$3)P(Z?D(/->(N)>C_$/)/WX[#B"7
MN OALL'C 31"[.$ ZB3\ZU=OQJ.34U0V?_[$CL73B1Y=)KO=V*&5NE"-'- V
M[5DQPWOJXPNU_;_Z&/WC$& &= 'H.AQ_,#!P1<56G'6/IS #AND= ]PYLE5[
MXV7QR(%,VZ'RW+1JVLL=NOB:NX5KKT,O<)=1A.Y^F"#<97Z:W/&+Y(X>-Y4P
MYIZ0#8S\P<)65[B=5[3'4X9WF>-Z6K1.!Y1/(+#5_KY/K4'GNQAQR,/7/W=H
MS*+XB;S=W?[ <!F_JW?B\=>)#]*BOAT&_@)'A_V362^F?+OP9AF^LN?&(^CA
ML2")'&&!&=^6<9EN%FQ@^[/+Q;]02P,$%     @ \4956/P[@)[< @  , 8
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
M2>ZC0$PHV /Z?C92F[V/HS-60Z0&XS^XJM B6#PCQT17;1PIP# "== 3DUD
M ?/:&E'RC1>$AL5S)P7<_WS 2I#J%YD*R]#3X-CAH),]N7"0Z+5J/B/L''\K
M\%M!C<8U3'RI@$EX]F06AEM$]S,PX=3(OE1P$>,I>($">Y8P1R6D '8#JFBN
M5GCW#JM&<B["'I1-'=\6+>0EEFL(A.)5Z>FG/7I;+7Y%8Z1U(*56Q3)D+CG%
M4<8<1,B 1\'"80! <-:Z-0>&)?H%H5"4!X<3>_H:<11>"$[PFDN?11ZXA+^#
M3 _JTN'#UZ"=%+L(V+TV*,KPJ>WA>(_+0G#O2V2@15YPUU?TNV\NX^CB>P@H
MG:\R^ P<$1@Z%! Y+V%'PA>Y0,LV*YA6YI5EI_P,Y#1+^#UC=KJ@A91+I*J5
M,!XE4B![ 7$8:Q1-%CV4>$&GHZ=/[QZ1-PV+Y*R-.JW7- #%:7KF89X(0Q&B
M9PPJ\+&O#0F2!-KOKFX:IJ 7'&F7D*H]Q' 6?LN6N=:&8F!TM<K81VY N1/7
M7:]2"^)4.($WN&G?/\!(&$3Q_%NO=.<BCV3K\S':?O:&TAJR'5[B--]M3?!;
M/$:03TL0C =B8KA:43$PNFB%PT;TB7!8"T\<=<1Q1_PG=/(,TYWFTT'JV;>V
MGY"('P1BC\&8/8*+'E-IQ+B)UI\.9^=[U166@1!(^RJ25,M4Y=.J**3S)$N!
MV*.8>B<!SP:6Y)M^#6X""+B&00S+$3825B.8-VHCNPQ?JZ[K-T1'R^VX]JQW
M(,6,W95&YJQ#51.KA7!K(50CG:CQ-/]?Z?&7XO-G"PLWV^1>;#P-1M&4]$F$
M?"&?^[$*1<YI Z^7Z#Z^3:!MX=EA"45&EG7#)MM70D&1G,H5W".)0VODKO86
M68X9&(W(L507J&TR(3Q8F4IN?,M\X*4D$U.)&5DNJKHS>+5[/:,I)T/>\&U.
M&F]RG3$)$J\V>8NY;0_-)<!WQ&UUK3\\.[3]//V_]_+W33_PU: ;<8=E;NT9
MT-Q/P!W</KR___18MPBN^@-"4ZA<QMVK:K53@ ZD_W^C&]^M%&TBO2X57B.2
ML$W*:-Y/RE?I5 -F!RQ$^X=Y>Q0"O:%PO^G' 7NB<P*PMX\ &NJGP54W&&40
M#U-@!XWRKX;=?:G4YJ5)42P-S9LD>R$RGB]W\F_HC.5M0G?95PO_JZ0> AM,
M^M/56H*:O\!/OC@/ZW;L,!/L'0M/IE?G0=3Y@.*!:7$6S+?SY;(5NPN?(REW
MY&!9'W>03*7P]S(Y:>6Q@6$CJ\\>U$_;$:QM>1O,99;5QXT>9X_64T^C*PL!
M]NQ-+8P$T;]HF[WB*TX(%CV.#G4G;#H.PQB_LW$XN\!O-#Z?7FVI,9"C4++S
MBRL67<Q8?'[%/M4'W?37RKJZPIU&\>49.P41_D]G\S.4T8-FD+CY?%K_SF(O
M;GX^98?N#B:]:YU"F)6_O+)(/\"AON'I5KO[L;OZ6FA+7E^N??05Q )H2VP-
M@XOYB)GZPJI^<;KTET0+[9PN_&,FT)8,$>#[4FO7OI" [M;P]G=02P,$%
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
M@(%E?]"]MNL:/GX81&%T29B#;M1\6TERWB8Y">)#$&FE%(KT!:C@A+:IE,=
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
M@+$7[$;-A&Z'=&&\J,VO[9>C)V=^;,]F3*$I2%*85+M#YM<3@F2%.EVE*%J
M(#T_8C4HJ>)TB@D5>YR]J]5*BA7:Z9KG%!X@[]]XT6 >4=*Z+( NDSCS8MN/
M6ME3-O7G^.0<'X5V''>)'"K-/9!O3X6\RWL)3\RW$V2\_PX9_X",-H0;AY8+
M4 65SUO59 44K:+*$AVTNA7<(A!/]]9I"T&W5X&A"\1B!S2L?H"?A9$=1Q@_
M*K-#+I=?1:TC;208>SB$$V8=""%5@79EDZ<00I#1%U@:J(=XV)_-:+=1+2+,
M2P=&1:OJ3N3JC>EH 9./R:M?6KBDL<(X[#KIU0BA=>(?;J1-QS1<L-61!QX=
M0-&!VD!%3!?/9HLY3QVKG1\ANQ==L-+&BQ:F_=W%(L?@JATYZ=">#Z E)+@3
MVU$XX,B>ZUJ^PEB.'<]9X !2HP4S&R#P+[IF',"H/BX[0$9]K'>5_AN:>W5Z
MBJ#HF(7CD6GH6'.7@A^X"KV!*;\JPTW#T/)=[UQM[H=L2JR=M]M/0]=RG3D-
MN'8(P P0GT<+_+D=A.SG]GQPZ@56[$1Z5T@Y XRYD15Z\;E2Z'QHRLG,X '\
MC,D>P"UT%L?+7<A[7H )8^;97LB"P K"&/>;V[%#&IQFYV@F4)!VQ:..L@?
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
M.QK)7108,)1'HVI-XIC-I$F1*;*J118X!,].!P2PF@JP9((M2L,+X<Y-I%(
M$TZ(D.A<6C[#\JPV\"RIT3XM,G(W#)$R68)G:E\D&].-[WXPQ&0]Y]L4F2ME
ME^C9$P39$\<T\)X#WZ,ZV+?\[:@XTB)5*Z&1@L?8QZ>EA6O5:INL::$,]9U"
MP(R .*]23PH12EG+X"#430>'CEPH:*RES5^/N;W="/):2RO>9VKM_""K%625
MWKA=]K2Q5O(T![/-FOA:RZ5;PDXJE<ZFVWG?WUNG>)^ URR3A)5BZ@!EM,!Q
M)[L@A[C(&MZ\2YRSM"K;0 GH5&J7+%V$ _%7:T'(X6)9^'J'+8HZ(P-VK;8R
M/DNQS;X9! L*<>26YHCFK97-3LN+A"[S(%,@=YQE%YR@WV!2@Q&"^<TH.%@H
M6F9F&QA>N+7,1RT9WPBN#1-T$3%<(Z*<"8VKY+FO]=,;87<+9,*D6LX@R6<
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
M@'_0T)2?N(^J.#VAO6-OB+.8H +BB%G%4<IWL;\+PH0VBA>A9ZW*GA/U'@M
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
MWC- Y6LLDSGQ *I\E_@\ SJ G(O:*>"9Y0G)F\R0F* *-U[<%@C?2,( NHP
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
M:H*R!?5E:A_*=D0+-((3LCS.PK@H<= PCDN>P\Y-6R'EV-)VFS&:,/;8T0B
M(@QD"@=B&F F+1YX*1) (O@RXPG>B2CE!2 .7IZ6LCACDI<BP3@6CTN5B8*G
MLF0ECT!5@75B[.A>,YY ":8B'%&"N9AG D?&,2_3DOW20BBZRM-1=51SE'$H
M6%Q/X=!I O11=,9.L3X5&0TR7N; %/C\RG'@+47$<2!&Q$DD,2JQM2B03^C&
ME0GR1$EWO:&[RQ]AX@&=!<]RX?\G/F>0'EDA'Y(9\:B(B(:"R,C*9.0Q1MA*
MEE!@&:*1EX]YC+F(<_I,(WQ&I?P6'8+GD< GV&12D',RAWG*:X12>(BXW%'F
M/"J,P!:5)V+T,&.0=@0:HU+R."-C29+RI'A8&JE(D9XE_I>^@)(T!BGE5!HH
M"2EB!#H.YPM4%RKND<M4?0A_$7&9):R0/,N^YO4 5@A44Y$SF? $%2D%\CH4
MADPI?448(PR9B(<QJA0\O5);0UY[^FI#YS_R'4SZ/<BM@MA,@.IAJ2!CR"G$
M&#%*N$#P1X=Y@@@@>#F%4!9?1!>52UMY40(UHIL_%]T1'A" 8]B6":P661F2
MKBSSH92]B(&2'*KT+>&VP^T;UX:C!@+1[M$A0K_$PM8MH:T80YMP56E(QTF"
MPY<DO/I+FGS$\S&? WF/J K9>23>[ZA/H[C9';ZH4F"@LY(B541(,YGZ6)4R
M"OF>)L1.@<PK1,K>[@'+[Y.%0%*D"&**&A'0D@@KTQ0U+%A2(%&GRCAN$6,3
M.)GT_F24]&.=]L7U?=VD:A9T7)[!J]RG.81!4(ZC6Y'" $H,>"B(SW[&T#J)
M_(1CN83R0<U3%&C,XPB3>(R@/9.?4P,<F]S)U,].QIYUW(.\?GQG/Z&3,04/
MGSSQXN/;5![\3 6I=2X@=V5\Y&<2D>1D\),H$3DUH 2S:-$ERT!>"5T<_1S;
M^\G4Q$^F?GTR-N7C_CKAI0I!L?C+*PK#&MPY?9]HNG;U0V/V_EN1%Z>CE4M6
MTV7+-/K)@J']X9IS7#H';?71-ZP_?;UAM^A8:S0NNH*JX$:6@18YI"AR.\K#
M&-TZ+W&%<48QHA3*(K 4S1><4S\<&?OV%>1?7Q#P!8XTX;EO2 *-.DTIE<K<
M7Q0\ #HUAK1EZ>=CL:6(\V%+7N1A"W6BI[[(SX]^D\&Q*__+DX-X[=H^_#PS
MS4X_;EV'WW0^+P^_C+U1%J%UK-%+;(U>Y.F,V?!K4WCHNZW_A6?1]9!"/UQK
M56M+"_!^V>&"/SS0 =-/?E?_ U!+ P04    " #Q1E58@G^O^D$;   96@
M&0   'AL+W=O<FMS:&5E=',O<VAE970S,"YX;6R]7.N3VSAR_U=8NN3.KM)H
M+(W']N[9KO)K+T[M9EUK;U*I5#Y )"1A31%<@IRQ[J]/O_"2*,[8NY4OMD8"
M@4:C^]=/\/FM[3Z[G=9]\65?-^[%;-?W[?>7EZ[<Z;UR"]OJ!G[9V&ZO>OBS
MVUZZMM.JHH?V]>7JT:,GEWMEFMG+Y_3=A^[E<SOTM6GTAZYPPWZONL-K7=O;
M%[/ES'_QB]GN>OSB\N7S5FWU1]W_VG[HX*_+,$ME]KIQQC9%IS<O9J^6W[]>
MK? !&O&?1M^ZY'.!6UE;^QG_>%^]F#U"BG2MRQZG4/#?C7ZCZQIG CI^ETEG
M84U\,/WL9_^!-@^;62NGW]CZOTS5[U[,GLV*2F_44/>_V-M_T[*A:YROM+6C
M?XM;'OOTR:PH!]?;O3P,%.Q-P_^K+\*(Y(%GC\X\L)('B!&7O!!1^5;UZN7S
MSMX6'8Z&V? #;96>!N),@Z?RL>_@5P//]2\_\FD4=E-\--O&;$RIFKYX599V
M:'K3;(L/MC:ET:YXX#\]?'[9P](XP64IR[SF959GEEFNBI]LT^]<\:ZI=)5/
M< DT!\)7GO#7J\D9W^IR45PMY\7JT>IJ8KZKP(@KFN_JS'QC._Z?5VO7=R X
M_SNV8Y[O\?A\J$W?NU:5^L4,U,7I[D;/7O[U+\LGC_X^0>WC0.WCJ=E??NA,
M4YJV!B+AY$K;.*"Y4BCH8Z1^\V3%IYU.OM%5L3&-@M&J+EP/7X""]JZ Y^NA
MTD4/HQ4SDN;ZAUEWJNY55[QO*A#F#K@ZA\]P=*JI  K6SE1&=21>^/#LC=VW
MJCG,'BZ*5W4-$_>Z*_F[.#,^"^?2.$6J[8J=NM'%6NNFT+4!+2%*39/O93'!
M]^O ]^M)5OWJ-.Y+N]X (F@WQNROFX$X#!+2JHXY#C_V]V0Z#D)@-OT!8*/?
M>0ZA$+?Q4+>ZT7 ,-7%0M\(;7.37QN!?'WNB!%9^M=<=( #@[>^# ;$%J&D
MG''!HK?PUV>=D([GH!P >LO'T.]47ZC-!A"716'/YP6[LUVR[-U[HYE+.7C<
M3F-A09")LA]@)% &J.M@HJ&NBLK DEVQZ>P>IK<N);$:-!(^-*7N>C!2P"E/
MQ-!UN"T-U-B]*0O=W)C.-DC E*@\":+R9/*@/^HML8TW#WL8DY4_-$5&UM-
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
M K.JV&G *??89HOMID=L!19@ 0K9=)#+7_D6#:-!I_O.^NZAFJ0!I;4%6KM
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
MTPT]G=#P ?J_U-H=%FR@?XS-_P%02P,$%     @ \4956*(@$JIW @  704
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
MYSD46[=_%FW'JJ6_S4^5A7SXY@(_8UR["?@^4\IN.\Y!]WLW_A]02P,$%
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
M['4G$*]@[$^3)29LUR+53&13J#!_L6!A]3)*;!H2BU0!I?8X]!>39P'VU42
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
M 8*7X:V)$?7"'T@8R\AG($/^4#<G@QQ"9XF1AA\\F7F:"H_A;\C61LY!*>8
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
M+<#[6=?%IP<*,/PXG?\'4$L#!!0    ( /%&55C<$&D040,  (<)   9
M>&PO=V]R:W-H965T<R]S:&5E=#0X+GAM;*U6WX_:.!#^5T:YJMI*[88D$.@6
MD(#<Z4YJI=5RO7NH^F"2"?'5L3G;P/:_OW$24GX$;A_Z K8SW^?Y9NP9C_=*
M?S,%HH7G4D@S\0IK-P^^;]("2V;NU08E?<F5+IFEJ5[[9J.1916H%'[8Z\5^
MR;CTIN-J[5%/QVIK!9?XJ,%LRY+I[W,4:C_Q N^P\,37A74+_G2\86M<HOV\
M>=0T\UN6C)<H#5<2-.83;Q8\)$-G7QG\Q7%OCL;@E*R4^N8F?V03K^<<0H&I
M=0R,_G:X0"$<$;GQ;\/IM5LZX/'XP/Y;I9VTK)C!A1)_\\P6$V_D088YVPK[
MI/:_8Z-GX/A2)4SU"_O&MN=!NC56E0V8/"BYK/_9<Q.'(T 07P&$#2 \!_2O
M *(&$+T4T&\ _2HRM90J#@FS;#K6:@_:61.;&U3!K- DGTN7]J75])43SDZ7
M=;I!Y;#D:\ESGC)I89:F:BLMEVMX5(*G' W<'=G.7+JX_0Y/F"J=849NVX)+
ML 7"3-!A8C)%H&,)B=JN;+X5!T[S!NX2M(P+&KV#S\L$[EZ]@5= Z#\+M35,
M9F;L6Q+G7/331LB\%A)>$1*$\$E)6QCX59(_IP0^1:4-37@(S3R\R9A@>@]1
M\!;"7AAU.+1X.3SL@"<OAP<WU$1MHJ.*+[K"=XB^RQCR'5L)?'N6J87&C%OX
MJ(R!+T]*"*"KM6<Z^]J5CGJ[?O=VKEH]F U+<>)1.3*H=^A-7_\2Q+T/7:'\
MF63)3R(["7._#7/_%OMTCFLNI;LW*R9<9+M"5U,,*PI7EW?3:-B/Q_[N."1=
M1M'HU"CI,!J$[UNC$PF#5L+@M@264>5<6<!G:BZ&CHFD]D.77M-=WZ&F6M E
MJB:-CUT)^F?^+BZ-@M =[Q-1ET:C]Z-N37&K*;ZIJ3W]>\VM14ER<F!K:HO&
M FMO 94>4%3"-+#L'RJ^U-]LI]CXPL5W0>2N^8G:+JLPB,[D=EC%HRLY'+9Z
MAS?U4@W\GS,XO#@Y@\'P7,"ET>5!3;J,HO-\^4<MJD2]KEJ]@2HK=4EN5]O7
MQ*QJHF?K<WIEU(^"'S3U$^43TW3W# C,B;)W/Z1SI.NV7T^LVE2-<*4LM=5J
M6-!+";4SH.^Y4O8P<1NT;Z_I?U!+ P04    " #Q1E58'5D>9]P$  #>'@
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
MAB_EE;1/V':QG@/I6BI>=V"=04U9^R9/G0Y[ ']\!!!T@. Y8'0$$': \+6
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
M U>*%_9R"20#80ST\SGG:G-C)FAZQM-O4$L#!!0    ( /%&55@ JLE,] (
M )D*   9    >&PO=V]R:W-H965T<R]S:&5E=#4R+GAM;,566V^;,!C]*Q:K
MIDYJRS70=0E2&S:M4B=%O6P/TQX<\A&L&LQLD[3_?K:A*$EIEDE(>P$;SCGV
M.?YL>;QF_%'D !(]%;04$RN7LKJP;9'F4&!QQBHHU9^,\0)+U>5+6U0<\,*0
M"FI[CA/:!2:E%8_-MQF/QZR6E)0PXTC418'Y\Q50MIY8KO7RX98L<ZD_V/&X
MPDNX _E0S;CJV9W*@A10"L)*Q"&;6)?N11)IO %\)[ 6&VVDG<P9>]2=Z\7$
M<O2$@$(JM0)6KQ5,@5(MI*;QN]6TNB$U<;/]HO[%>%=>YEC E-$?9"'SB75N
MH05DN*;REJV_0NMGI/521H5YHG6#C10XK85D14M6,RA(V;SQ4YO#!L$-WB!X
M+<$[E."W!/]00M 2 I-,8\7DD&")XS%G:\0U6JGIA@G3L)5]4NIEOY-<_26*
M)^-;6$%9 SI%4U9*KI8!70H!4B!<+M -P7-"B20@T'$"$A,J/BCLPUV"CH\^
MH"-$2G2?LUHHM!C;4LU(Z]II._I5,[KWQN@)I&?(=T^0YWA^#WUZ.-WKH2>'
MT]UMNJUB[++TNBP]H^?OS_($79<J,DS19551DF)3X#/@A"W0M"YJBG6MH\]9
MIHH?W7.L-I'!_+Q1BNA:0B%^]879#!_T#Z\/B M1X10FECH!!/ 56/'[=V[H
M?.J+=DBQ9""QK=C]+G9_GWH\94*5JRI$>$I!",0RI(I6H9:]%=F(149,'XJK
M>.0Y_FALKS;3>8T*W,CWME%)CU80^%&'VO(3='Z"O_AI-^*:R+P] X CVN[%
MYSY3C6*X,9%3_V/@[ICJ006C:-=4GU9X[O:;&G6F1GM-7;4KLKU.J5ZZ/C][
MQ?ZUTH<42P82VPHQ[$(,_^\!$PX9^Y!BR4!B6[%'7>S1X!LR>G4RG 9!].J8
MZ8'Y(\>-=K9DGUH8N;M[TMZX!^A+VS?,EZ04B$*FB,Y9I(J7-Q>AIB-99:X&
M<R:5)]/,U=T1N :H_QEC\J6C;QO=;33^ U!+ P04    " #Q1E58UN*92Q@#
M  #:"P  &0   'AL+W=O<FMS:&5E=',O<VAE970U,RYX;6RMEEUOFS 4AO^*
MQ:JIE=8"YBOM$J0T2;5)FU3U8[N8=N' 28)J<&:;I/OWLX&R0"A*I-PD-ISW
MM<^#?72&6\9?Q I HM>49F)DK*1<WYBFB%:0$G'%UI"I-PO&4R+5E"]-L>9
MXD*44A-;EF^F),F,<%@\N^?AD.62)AG<<R3R-"7\[RU0MAT9MO'VX"%9KJ1^
M8(;#-5G"(\CG]3U7,[-VB9,4,I&P#'%8C(RQ?3,+='P1\".!K=@9(YW)G+$7
M/?D:CPQ+;P@H1%([$/6W@0E0JHW4-OY4GD:]I!;NCM_<[XK<52YS(F#"Z,\D
MEJN1,3!0# N24_G ME^@RL?3?A&CHOA%VS+6\PP4Y4*RM!*K':1)5OZ3UXK#
MCL!VWQ'@2H /%3B5P#E4X%8"]U"!5PF*U,TR]P+<E$@2#CG;(JZCE9L>%/0+
MM>*59/J</$JNWB9*)\-Q%+$\DP(]0 3)ALPIH/,I2))0<8$NT?/C%)V?7: S
ME&3H:<5R0;)8#$VIUM8.9E2M<UNN@]]99PK1%7+L3PA;V.F03PZ7XP[Y]'"Y
MW2&?'2ZWFG)3\:ZAXQHZ+OR<=_S^LQ;HUW@N)%?WY7<7U-+'[?;1->1&K$D$
M(T,5"0%\ T;X\8/M6Y^[$)_2;'I*L]F)S!H?PZD_AM/G'CYQ$H,J6-4]X/6W
MZ?H>I5506.D2O GM8& -@J&YV27=%79M!U8S;-J[L6,9GLBLP="M&;J]#"=,
M*'2J0L!K!$(@MD#SA*JH96>I*,W\'3P>MARO!7$_RK4#![<8]F[L6(8G,FLP
M]&J&7O\Y9))0%+&LJ 8[Y[ 3H;<'!SN6C5MT)AUAV+JVVA![=W8LQ!.9-2#Z
M-42_%^(W??H(5=T/R2) JH]",<OG<I'3^HIWX?3W.%UZ7M"FV1'E!*[?@NGO
M77X5Y0R:4;.N* ]?UU&-](,Z_: W_?%A52S86QMCU_-:Y6G2$68'MM?.MW=+
MQQZ>$YF5],R=ODAWO=\)7R:90!06RMZZ"M11Y64G64XD6Q>MTIQ)U7@5PY5J
MOH'K /5^P9A\F^CNJV[GPW]02P,$%     @ \4956-)F!:+; @  *@@  !D
M  !X;"]W;W)K<VAE971S+W-H965T-30N>&ULK59=;]HP%/TK5E9-K52:D&\Z
MB-06=:NT355IMX=I#R:Y@%4G9K:!]M_O.DDC"B[KPW@ .S[GW'-OKFV&&R$?
MU0) DZ>25VKD++1>GKNNRA=04G4FEE#ARDS(DFJ<RKFKEA)H49-*[OJ>%[LE
M9963#>MGMS(;BI7FK();2=2J+*E\O@0N-B.G[[P\N&/SA38/W&RXI'.8@'Y8
MWDJ<N9U*P4JH%!,5D3 ;.1?]\ZO4X&O #P8;M34F)I.I$(]F<E.,',\8 @ZY
M-@H4?]9P!9P;(;3QI]5TNI"&N#U^4;^N<\=<IE3!E> _6:$7(R=U2 $SNN+Z
M3FR^0)M/9/1RP57]338--D%POE):E"T9'92L:G[I4UN'+4(_?(/@MP3_O82@
M)01UHHVS.JTQU30;2K$ATJ!1S0SJVM1LS(95YBU.M,15ACR=W51KJ+20#-0I
M^8Y=<SS!1BE6'(B8D:W5$W(\!DT9QU&//$S&Y/CHA!P15I'[A5@I6A5JZ&JT
M9(3=O U_V83WWP@_AOR,!/U3XGM^8*%?O9_NOZ:[6(BN&GY7#;_6"_Y1C6<R
M9BKG0JTDD%\74Z4E]MMO6WZ-8&@7-'OP7"UI#B,'-YD"N08G^_BA'WN?;-G^
M)[%7N0==[L$A]>R.;K"Q-$A&N2W1AIW4;',VK+,D"=/!T%UO9["/ZN,G33K8
M*V]AYRT\Z.TG'@4]5O664N2@K'W6",1;@0>1E^ZXVP?UDT$8VLU%G;GHH+EK
M5C'<@ 69"V'? ]%>V- ?A/Z..0LJB<RNL)F+.W/Q07.?I5 *-VG;US9W\7Y1
M_,$@V'VS%E@2Q]$;Q4LZ?\E!?U_Q=9*VF:VU2_;"]@9A$.^8LZ!B++'=6]IY
M2P]ZNQ>:\JYVS.XOW6]XWXN\8,>@!99X0>SM.'2W3G)SBWZC<LXJ13C,D.B=
M)=@DLKF9FHD6R_IPGPJ-5T4]7.!E#M( <'TFA'Z9F/NB^WN0_0502P,$%
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
M5AUN"4Z), WT^37GZJE@=F.;?P@$_P-02P,$%     @ \4956!FU96QP!0
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
M(HK*]HVFO(+<8KXDJDA-8:$HK8NA.DAX6=67'<E619W[Q*2JFHMFHFY"P'6
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
ME&J2\N.?"NK4?6K#_><=_>=B\&HP,RQ@PNB?))'+D7/GH 3F.*?RA6U^A6I
M/<V+&17%?[2IVG8<%.="LK0R5AZD)"M_\;828L_ NS]BX%<&_H%!,#AB$%0&
MP8%!USMBT*T,N@<&_C&7>I5!,72W''LA7(@E'@\YVR"N6RN:?BC4+ZR57B33
MB?(JN7I+E)T<_\)8LB&4(IPEZ 4HEI"@:29QMB S"NA1") "77W"G&,=TVMT
M%8+$A(KKH2N5!YKCQE5OD[(W_TAOGH\^LDPN!8JR!)(FP%6NU_[[._^??"/Q
MMUC>HL"[07['#U">$=GFE9D10KS'^/P:HJOOK]4L6#$N2;;X^P@U/)_JGT^-
MSJ=Z1EI#SJ!.AZ# !Z?2X<L']09-):3BKQ8OGTI,MQVC5[<'L<(QC!RU? G@
M:W#&/WSG]3L_M87')BRT"8LLP1JQZ-:QZ)KHX\<XSM.\G)$D76'"U0(M$65J
M2HJVF!AQE\:DA T*F-YMUF,O"-3VH_Z&[GI?\+-;1I8<;*C9J]7L&=6L,_M-
MRC8-C9!+->R]4^90N[)%_WB+R))##<WZM69]HV;3MZQC<T34DCTG:IV!'ZG:
M"%12UMM$:SH:V9=*:1,6]D_%);+474/U0:WZP*CZ1&VUW]2:CG#*<B4]R1!L
M8Q!"!V&N H+6F.9P@[(\G0'7M?4^4.R  OU[>I]Y,CIQ:7@&I_(X/-DB,K5H
M"'E7"WEW9OK>O#O2Z)HZG3\4Z7P5;6.:)UK%W6)Q?8->I5J =U-@FL4L!<0X
MFK!4Z;+4)^8U[.J_1%NI:W0OD8H.Z",3RUHW4*/KE\IO$Q::16T<& ]515/3
MXAI9<K.1#/=U,MP;_?YDF"S'ILC]NXP<-'-V8NSS4N%MPB)+L(;67N?MJZ)C
M5/MWCA/U1:N^=MMT-1M?FOQ6::%56F2+U@S#WL>=9^<X7W%L1<0F+;1*BVS1
MFA'QWR+B_X]'*C/\XC#Y[\Y!P5W;"=]JMY$M6AD!=^_N0VVXB^+22:!8'YW*
M:X2ZMK[8>BRN<P[J)_K"J[A3><.4MV4?,5^03" *<X7LW [4F9R7%U!E0;)5
M<<,R8U*RM'A<@EH N6Z@WL\9D[N"[J"^!AS_!U!+ P04    " #Q1E58["V:
M<9H$  "5&0  &0   'AL+W=O<FMS:&5E=',O<VAE970V,RYX;6R]65MOVS84
M_BN$5@PID$0B=;,SVX#KH&V ;@B29GL8]L!(M$U4$EV2CIO]^E&7Z&)31-S)
M>;%U.>?C^8[.H3Y2DQWCW\2:$ E^I$DFIM9:RLV5;8MH35(L+MF&9.K.DO$4
M2W7*5[;8<(+CPBE-;.0X@9UBFEFS27'MEL\F;"L3FI%;#L0V33%__D 2MIM:
MT'JY<$=7:YE?L&>3#5Z1>R(?-K=<G=DU2DQ3D@G*,L#)<FK-X=4"!;E#8?$G
M)3O1.@8YE4?&ON4G-_'4<O*(2$(BF4-@]?=$%B1)<B05Q_<*U*K'S!W;QR_H
M'PORBLPC%F3!DK]H+-=3:V2!F"SQ-I%W;/>95(3\'"]BB2A^P:ZR=2P0;85D
M:>6L(DAI5O[C'U4B6@[0ZW% E0-ZK8-;.;@%T3*R@M8UEG@VX6P'>&ZMT/*#
M(C>%MV)#L_PQWDNN[E+E)V>?&(MW-$D SF)P1Q(L20QN,HFS%7U,")@+0:0
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
MT&J3-@V-;OLP[8,)!UAS;&8[A?W[V4G(@!A::?L"<7+/W?.<[\X>;+CX*5<
M"FT+RN3062FUOG9=F:^@P/**KX'I+PLN"JST4BQ=N1: YQ6HH&[@>9%;8,*<
M;%"]FXALP$M%"8.)0+(L"BQ^WP+EFZ'C.[L7G\ERI<P+-QNL\1*FH+ZL)T*O
MW-;+G!3 ).$,"5@,G1O_>N17@,KB*X&-W'M&1LJ,\Y]F\7X^=#S#""CDRKC
M^N\11D"I\:1Y_&J<.FU, ]Q_WGF_K\1K,3,L8<3I-S)7JZ&3.&@."UQ2]9EO
MWD$CJ&_\Y9S*ZA=M&EO/07DI%2\:L&90$%;_XVV3B#V 'Y\ ! T@>"X@; !A
M);1F5LD:8X6S@> ;)(RU]F8>JMQ4:*V&,+.-4R7T5Z)Q*KO)<U'"'-UM=6%(
MD.C5&!0F5+Y&;]"7Z1B]NGB-+A!AZ&'%2XG97 Y<I0,;N)LW06[K(,&)(&/(
MKU#H7Z+ "T(+?/1\>' (=[7<5G/0:@XJ?^$3FC\0/".4* +R$HU*(8 I]/UF
M)I70U?7#IK-VW+,[-BUW+=<XAZ&C>TJ"> 0G>_G"C[RW-M7_R=E!#L(V!^$Y
M[]F(%V;#L>DEF] :'5=H,PH>LR!(4KUYC_L*NE9^&L1Q:W5 K==2ZYVG5E4]
M"#TE9EB!M=YZW<!)+XV/Z%FLHCA*[/3Z+;W^67J?UB!TVM@2?0 ]/R[;,OK=
M%M$EFBK-O##UQ!?HGC#,<H(IFG!)JNGU_6ZKS"R<4=!X:2^V\SQV50Q-Y]HJ
M[%\\'"0G:I,3/;%W=1?Q-DG4) G178YL.J/N-GE!G!QM9M<JB0+/OI=Q2S<^
M2W<B^+S,%=I@(3 S@\#&K_81[45._3 ]HM<UBH*^;Z>7M/22L_3>,UEJ7CG8
M6"7=@*%WW $6HU[O1-+2EE7Z!"L%>B II \#I/#6GK2T$[FOF^^(GL4H2B,[
M/=_[>Z1YYSM4K4!83RFO$\^/>N%QI=G,O"A*3_#:.VK]9_7;P;GSP!6F5K)^
MM^"3V#^N.XM9',;!<>6Y>U<$<S_[B,62,*G;<Z%QWE6L1X6HKSSU0O%U=6N8
M<:6G<?6XTM=$$,9 ?U]PKG8+<Q%I+Y[9'U!+ P04    " #Q1E58Z-$9U9 )
M  "/:P  &0   'AL+W=O<FMS:&5E=',O<VAE970V."YX;6RUG5MOX[H5A?\*
MX1X4&6 0ZYYDFAA(3 Z:(G-!<D[[4/1!MNE8.+JX$NW, /WQI63%-&-EQXK7
MS,/$%_&CO)>UI;5)RI=/1?EGM9!2L1]9FE=7@X52RT_#835=R"RN3HNES/4[
M\Z+,8J6?EH_#:EG*>-8TRM*AYSC1,(N3?#"Z;%[[7HXNBY5*DUQ^+UFURK*X
M_'DCT^+I:N .GE^X3QX7JGYA.+I<QH_R0:H_EM]+_6RXI<R23.954N2LE/.K
MP;7[2411W:#9XI^)?*IV'K/ZHTR*XL_ZR>WL:N#4>R13.54U(M9_UG(LT[0F
MZ?WX;PL=;/NL&^X^?J9_;CZ\_C"3N)+C(OU7,E.+J\'Y@,WD/%ZEZKYX^KML
M/U!8\Z9%6C7_LZ=V6V? IJM*%5G;6.]!EN2;O_&/-A [#?SPE09>V\![T<#S
M7FG@MPW\0QL$;8/@T 9AVZ#YZ,/-9V\"QV,5CR[+XHF5]=::5C]HHM^TUO%*
M\OJ+\J!*_6ZBVZD1EQ/%3K[&91G7BGU@)URJ.$FK#Y=#I?GU5L-IR[K9L+Q7
M6=-3YIQ_9)[C>>R/!\Y.?ON@59NH<;&6>9RK#N:89OXCSD^9%]1,]^*9V8'A
M!^R:[S:[YA,8<3C&Z\8,M0!;%;RM"E[#]2D5;O-*E2M]$"KV[SN] ;M5,JO^
MTZ7#AA9TT^K<\JE:QE-Y-=#)HY+E6@Y&?_V+&SE_ZQ( ">-(F #!+$G\K20^
M11^-]2'Q,\D?V3I.5Y(5<Z;3;*7B?%:_6'^INX0AF7V%0<+X!G;6P.JSQWKD
M7 [7N]$&=6=%.]A&.R"CO3D JFH5YU/)QD6EJH_LJ^R,,4GJ&V,DC&]@T4Z,
MW3.G_O<BTJ!.K4B'VTB'9*2;S/4@\Z0HV;B4LT2QZ\=2RB;O_(]=+Y=I,HTG
MJ63ZC""96I3%ZG'!OL3E=+'-H%VRD-WVE04)XTB8 ,$L[:*M=A'T-!$A)4'"
M.!(F0#!+DK.M)&?DX72=YZLX9=,BRQ+5B#*7DIW$%8O94I93_8J^WNZ\F-J
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
M3$J6F<L$2 Q<&ZCW&\;DX48W4)\QA;\ 4$L#!!0    ( /%&55BNH1Q^!@0
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
M224J4#L'.E\I9?<;=T'WCR7[%U!+ P04    " #Q1E58!>U9@T8$   3$0
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
M0[[+-UF\+(Z,?HJS+%X4+V<RF,HD+Z!^_QS'V?N;_ *;H]9'_P-02P,$%
M  @ \4956+?_A[C< @  Z@<  !D   !X;"]W;W)K<VAE971S+W-H965T-S<N
M>&ULK55M;]HP$/XK5E9-G;0V;P3:#B(!Z;1*JX1*NWV8]L$D![&:V-1V".S7
MSW9"!C2@3NJ7Q#[?\_B>N^2N7S+^+%( B=9Y1L7 2J5<WMBVB%/(L;AD2Z#J
M9,YXCJ7:\H4MEAQP8D!Y9GN.T[5S3*@5]HUMPL,^*V1&*$PX$D6>8[X90<;*
M@>5:6\,#6:12&^RPO\0+F()\6DZXVMD-2T)RH((PBCC,!];0O8D"[6\<?A H
MQ<X::24SQI[UYBX96(X."#*(I6; ZK6",629)E)AO-2<5G.E!NZNM^Q?C7:E
M988%C%GVDR0R'5A7%DI@CHM,/K#R&]1Z3( QRX1YHK+V=2P4%T*RO :K"')"
MJS=>UWG8 ;C=(P"O!GB'@,X1@%\#_+<".C6@8S)323%YB+#$89^S$G'MK=CT
MPB33H)5\0G79IY*K4Z)P,KQ]*8C<7(Q4ZA(T9KGZG 0V%3F?5E\"8O/]@]NU
M7H,R4EI7KR0R1<,2\T1\0N<12$PRM;I 3],(G9]]0F>(4/28LD)@FHB^+57H
M.@ [KL,<56%Z1\)T/73/J$P%NJ4))/L$MM+<"/>VPD?>2<8(XDODNY^1YWA^
M2T#CM\.]%GCT=KA[0HW?E-$W?/X1OFF*.5S,7E=QR#FF"U _JD2S#=KUF^"-
M,9NZH5_?%26ZDY"+WVWUJ>[OM-^OF].-6.(8!I;J/@+X"JSPXP>WZWQIR^U[
MDD7O1+:7]TZ3]\XI]G J6?R,XMV,0_5[M.6PXNH9+MV/5^%U+W#Z]FHW-Z^=
MKGR_L^\4M3AU Z]QVM,2-%J"DUH>\1K-@,*<2*$Z>LP6E/Q1WPF'#$OUE@R)
M_Y(;O K2"]SN@=P6)[<7',AM<[JZ/I!K[W3!'/C"3!.AHBVHK/I"8VT&UM#T
MZ0/[2 VR:N[\HZFFX#WF"T(%RF"N*)W+G@J,5Y.EVDBV-+UVQJ3JW&:9JF$,
M7#NH\SEC<KO1%S3C/?P+4$L#!!0    ( /%&55AO><A<( @  -I7   9
M>&PO=V]R:W-H965T<R]S:&5E=#<X+GAM;,6<X6_B-AC&_Q6+35-/V@&Q'2=T
M+5+;[+:3=E-UU=U]F/8A!;=$1Q(N">U5VA\_)Z08D_""3V_@2PL!/W9^Q&_S
M^*&^>$ZSK_E,RH)\C^=)?MF;%<7B?##()S,9AWD_7<A$O?*09G%8J*?9XR!?
M9#*<5HWB^8 .AV(0AU'2&U]4QVZS\46Z+.91(F\SDB_C.,Q>KN4\?;[L.;W7
M Q^CQUE1'AB,+Q;AH[R3Q:?%;::>#=8JTRB621ZE"<GDPV7ORCD/A"@;5._X
M',GG?.,Q*4_E/DV_ED_>3R][PW)$<BXG12D1JE]/\D;.YZ62&L>W6K2W[K-L
MN/GX5?U==?+J9.[#7-ZD\R_1M)A=]OP>F<J'<#DO/J;/?\KZA-Q2;Y+.\^HG
M>:[?.^R1R3(OTKANK$801\GJ=_B]!K'1P!$[&M"Z =UNP'<T8'4#=F@#7C?@
M%9G5J50<@K (QQ=9^DRR\MU*K7Q0P:Q:J]./DO)SORLR]6JDVA7CW[\MH^+E
M[;5"-R4W::RNISRL/I&S.W6-39=S2=('\O<ROI=9^>CJ.<RF.0F3*?E2057M
MKIYDIBX2\D<6)@51XY#D71AEY',X7\HWY"R011C-\S?D+?F9#$@^"S.97PP*
M-?YR%(-)/=;KU5CICK$ZE'Q(DV*6D]^3J9R: @-UXNNSIZ]G?TU!Q4!.^H0Y
MOQ(ZI*QE0#>'-Z<MS8/#FSO V;#U9\DJ/;Y3[T%FF?H\[HIT\I5\2J*BE3*H
M4A::\WP13N1E3U627&9/LC?^Y2='#']K(X0I%B")&?3XFAZOU-D.>G?E5?GV
MOCD1KC)U63]*5>P*<O]"-M]W&[Y4AZM)0?[Y2TF2]X6,\W_;N'-,[IAB 9*8
MP=U=<W?!JW956E9RNKZ<14E=)]ZTH5Q)BDJR_-/V-!;,57/H:1,1V*\M(B0Q
M Y%8(Q(@HO9"NY+?JK85N$]W 5FH<ET!;.6WZL_?X.?R/F-; ,%1V0)$$C,
M>FN '@A0S>=8S>2\K(MM.,#6MC,34RQ $C.H^6MJ_HDKHH_)'5,L0!(SN(_6
MW$?X%7'4J(@^%_[6A ;[M46$)&8@<H;ZOG5XY)I8=[BO*,+CLH6(I692W+C[
M=T"*'V5>9-&DY%@51[+<==,("]G.552U $O-A$@U1'KB.ED/  L^IEJ I6;"
MUY['@4W/#Q7+6G.S6HY&/AUN3W54<X.E9H+2]L8![^*[*)B\43"%TQ\U"B:J
M5<%2,REJL^+ ;N569M5B6S*1FQ63G#GMB# ]R VJ6H"E9I+4GL81IZZ:F/[E
M!E4MP%(SX6L_Y,"&Z,>JIM>\QW09;<QW5 .$I6:"TA;( >_TNZB:?O,VD_7+
M]4.3(JJ=P5(S*6I#X\".A@Z=$?F/'+I ":M93UQ4UX.E9JY7:]M#AR>NFA33
MW]R@J@58:B9\[98H[)9^J&K6FGO6*N&>K3EU88BH-D04O.?OH&C6'>[SYO"X
MK"EVX6RH=C84=C9UT=RW=@FK6,]75,N#I682U):'GCK2H:B9#JI:@*5FPM=.
MB7:0Z]!FL-.RC GW;,VI"Q]$M0^BQPYWZ&'I#CPN:XI=&!JJ#0V%#4U=+ ]?
MSX3UK&<NJN?!4C-9:L]#3YW[4-3@!U4MP%(SX6NK1#L(?V@S_6E;SX2[M@;5
MA1-BV@FQ8P= K!D M:UGPN.R_LI+%Y:&:4O#8$M3UTW+94U8U/HK1*C>!TO-
M!*J]#SMU&,10PR!4M0!+S82_\06X#L(@U@R#VI8UX:ZM077AC)AV1NS881!K
MAD%MRYKPN*PI=F%QF+8X#+8XJGCZ%LN:L)KUQ$4U05AJ)DEM@MBIPR"&&@:A
MJ@58:B9\[9U8!V$0K&G-LQDM42ZV[E\#K#Y-3MH7L6-G07"'UA";R1*G?3':
MIMB%P6':X+"]69!_P+(FK&*-!M7Y8*F9WU/7SH>?.@/BJ!D0JEJ I6;"UX:)
M=Y !P9K6/)N)DN,*=^M6*\#JU 2EC1 _=@@$=VA-L1DIJ6K)MZLE5J<F1>UH
M^-X0R+=:UX3UK"&AFAXL-9/EQC_XG#H.XJAQ$*I:@*5FPM=>B7<0!\&:UCR;
MX9+#*&?;MYE8O9JDM!?BQPZ$X ZM,3;C)<[ZH\:?GRY,#=>FAN\-A'S[A4U8
MU)H4:BJ$I68"U>Z'GSH5XJAN"%4MP%(SX6O3Q#M(A6!-:Y[-C,D9^ESP[7G?
MA3ERM3ERCQT+P1W:8JS5O,WJZ6TAQ.K11*@MCKLW$_(LEC5A-6L^J&$0EII)
M4GL@]]1AD(OJB5#5 BPU$[ZV3FX'81"L:<T3U3ZYS:#*<YE8%P^3D[9%[K&S
M(+A#:XBH-LAMYE0^Z[O^#HH;NQCLS8*\ Y8U815K-+A;''3A>USM>]Q39T N
MJ@]"50NPU$SXVBZY'61 L*8U3U2WY+8D2JY#=TQS[8+<8V= <(?6$%%=C]M,
ME*!BJ>V,NS<#\JQ6-6$]:TBH:1"6FKDUC#8\XM1ID$ U0*AJ 9::"5];)=%!
M&@1K6O-$-4RBF2UYE'+6/N.%=D+BV&D0W*$U153G(YK9DC?JTQUU4VA+(_:F
M09[]HB8L:DT*U=-@J9E M?<1IXZ$!*H70E4+L-1,^-HRB0XB(5C3FB>J@1(M
MV])1S]LU[3>V?SOZ_F^H3@A5+1#-?,GW^C[?HCC8V/0TEMECM7EL3B;I,BE6
M.X"NCZXWJ+VJMF7=.G[MG >K;6:US&K7VP]A]A@E.9G+!R4Y['OJ\\U6&\FN
MGA3IHMI:]3XMBC2N'LYD.)59^0;U^D.:%J]/R@[6V_F._P=02P,$%     @
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
MYRSF3*74;T68 D,\PAR]B&X(+]&%#QS'";M$5^CYR4<77R[1%Q1GZ*^(;)D
M8!.3"QTD&S,H.-_EG)T3G&T'?2<9C\3HLQ#")H I!"Q5= XJWCF]B#X$U\BU
M?T&.Y;@= [K_>+K3D>Y_/-WN8>.6:\)5>.X)/#4/5\OVDIA3BK,U"-MSM'Q'
M];@%?E?=\SVF(?KG#P&)'CBD[-^N^<F?/^A^OGS5W;(-#F!JB'<9 [H#8_;S
M3[9G_=JEK4XP7Q-80_=!J?N@#WU6N2<N#;<[6(@4AH.#X;ITS?%'"E^^\7<S
M:V+NZF+];X3?CG!LRRV#&LR&);-A+[.:R9GR_U;ZOXM!+\ZY*T,GF*\)K*&?
M5^KG?;(C/9VZZP3S-8$U=!^5NH]ZU^UO0EV.0FG)E?R@*3=VR9?#>#73#$:#
M8^^U@]RQ<VR_=I#GUH(:-&Y*&C>]-,222<5B4=;K&GUO]KF3KQ/,UP364&U<
MJC;^9-.-=>JN$\S7!-;0W;:J/:FEQW8%3L-WWK'M.H(\;WADNXX@=W3"=G9M
M<VWW$ED 54>S+(#ZQK>32B_2N8M!*YJO"ZVIHE.IZ'RR$8L!Z!)?)YJO"ZTI
M?G46L'NWO&=XT>WXO(W'QV9L1WDC9WSLQG;4V+HY9<=J?VWW;[!]6 &ES4-H
M)Y5>F+.7@TXT7Q=:4\)J(V\//]N+6H\ 6M%\76A-\:M3@-V[V3W#BU[K$.<.
MAL=6; ?95NN[V [RW&,CFK7Z4PITK>IX# 5DF_&\B%+VEK7"N:J0'?7?R1JB
MJFM5,'D!\CNF:W$B1@FL!*1U/1(S0?.:7M[@9*.J7$O".4G5900X!"H#Q/T5
M(?S0D \H*ZNS_P!02P,$%     @ \4956)T&#O'& P  51   !D   !X;"]W
M;W)K<VAE971S+W-H965T.#,N>&ULQ5A=C^(V%/TK5KJJ&&EF\DD@4T :R%9=
M:4="0[=]J/I@D@NQ)HE9V\#P[VL[(4-"8&>WD?8%8ON>@\^)K^W+:$_9"T\
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
M"%$= JQN%"_*0VL+KA3/RLLU)0D5Y@']]R777VSVQG10'\6<_@M02P,$%
M  @ \4956 '%;YV8 @  K08  !D   !X;"]W;W)K<VAE971S+W-H965T.#8N
M>&ULK55=;],P%/TK5I#0)L'2I!^@T49J.Q![V#1U AX0#VYRTUAS[&#?M-N_
MY]I)0]>UU9!X26SGWG//.;9OQAMM'FP!@.RQE,I.@@*QN@Q#FQ90<GNA*U#T
M)=>FY$A3LPIM98!G/JF48=SKC<*2"Q4D8[]V9Y*QKE$*!7>&V;HLN7F:@=2;
M21 %VX6%6!7H%L)D7/$5W -^J^X,S<(.)1,E*"NT8@;R23"-+N=#%^\#O@O8
MV)TQ<TJ66C^XR74V"7J.$$A(T2%P>JUA#E(Z(*+QN\4,NI(N<7>\1?_BM9.6
M);<PU_*'R+"8!!\#ED'.:XD+O?D*K1Y/,-72^B?;-+$?A@%+:XNZ;).)02E4
M\^:/K0\["='H2$+<)L3["8,C"?TVH>^%-LR\K"N./!D;O6'&11.:&WAO?#:I
M$<KMXCT:^BHH#Y//CP+9U'DI\(G-M47+N,K8U%HZ0M=EQ86A3:/5LUMN#'>F
MG[.S*T NI#UG[UG.4R$I>1PB\7&H8=K6GC6UXR.UHYC=:(6%99]5!MES@)"$
M=&KBK9I9?!+Q"M(+UH_>L;@7]P\0FK\^/3Y!I]^9V_=X_2-X"[!HZA1K(]3*
MV[H R1&RK>,"+/LY75(4'>=?AQQL"@P.%W!7_-)6/(5)0'?8@EE#D+Q]$XUZ
MGPZI_T]@S[P8=%X,3J$GMW6Y!,-TSE*MK)8B\T:TI\<9@9HM@:52V_VST%C1
MX(\\OFM.ZX3V:+VK[V7$H(MX1GK8D1Z^DO0.3T.M+W7D#Y$\B?>O^S5\H2?:
MTQ/NW/P2S,HW1$L6UPJ;:].M=CUWZEO-WOJ,>G'3.O_"-(W\AIN54)9)R FR
M=^%:GVF:8S-!7?G^LM1(W<H/"_J?@'$!]#W7&K<35Z#[0R5_ %!+ P04
M" #Q1E58?XBO_T0%   :(0  &0   'AL+W=O<FMS:&5E=',O<VAE970X-RYX
M;6RUFEUOVS88A?\*H15#"BRQ2'UGMH'$ZK  *QHD[78Q[$*Q:%NH)'HB':?
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
M]K!398KF+UJW6#\=>^B*8L<VMFSF2M[,HM$@22;^9C\\+M0P"5^BTF-4&/[
MO) S[.4,S\I9"*5)5E*YQL+6@N@2B,;Z;J38,'/5NS1UE*-]/X+A@2(7YD".
M Q*[U8QZ-:.S:I98$?9Y<=XYHZ/]#CQ:'".NPR ^<-L!&IS(PKCW>_R*WQFG
M2K&"95W5%E)4)&<JPUN0U2WF!M]]:=<4:1M$*,K!G$!6Y_AH2$8Y64O1-B[A
MXU>%OXI(CQ%XCF\3M^ZDUYW\1#'A+0G5(\BNFF)G.26N0KD]2-'"A3HJNM3)
ME1RFTM][:RO .C$]BR*9:&O=O3_];-\6W=MNX&!^CNU2U]W\H.EZK4]8?@P3
MRZ% RN!FC)4AN_ZE&VC1V!?]46CL#^QGB2T?2 / ]4((_3PP&_1-Y.Q_4$L#
M!!0    ( /%&55CKE\Z<C (  +L&   9    >&PO=V]R:W-H965T<R]S:&5E
M=#DV+GAM;*U534_<,!#]*Z,452!1\LEN1;.16-(*#E0K/MI#U8,WF6PL$CNU
MG=WEW]=VLNF" N7 )?&,YSW/C.WG>,/%@RP1%6SKBLF94RK5G+FNS$JLB3SA
M#3(]4W!1$Z5-L7)E(Y#D%E17;N!Y$[<FE#E);'T+D<2\515EN! @V[HFXG&.
M%=_,'-_9.6[HJE3&X29Q0U9XB^J^60AMN0-+3FMDDG(& HN9<^Z?I9&)MP$_
M*&[DWAA,)4O.'XQQE<\<SR2$%6;*,!#]6^,%5I4ATFG\Z3F=84D#W!_OV+_9
MVG4M2R+Q@E<_::[*F?/9@1P+TE;JAF\NL:_GU/!EO)+V"YL^UG,@:Z7B=0_6
M&=24=7^R[?NP!_ G+P""'A \!T0O ,(>$+X5$/4 VVJW*\7V(26*)+'@&Q F
M6K.9@6VF1>OR*3/;?JN$GJ4:IY(KEO$:X8YL4<+A$VM!:'X,W_71XX5QP0T6
M+<OE$1RFJ BM].@3W-^F<'AP! = &=R5O)5$Q\2NTLF9)=RL3V3>)1*\D(@?
MP#5GJI3PE>68/R5P=55#:<&NM'GP*F.*V0F$_C$$7A".)'3Q=G@P D_?#O=?
MJ28<-BJT?.%_-PI2*K.*RU8@_#I?2B7TY?D]UO&.,1IG-()R)AN2X<S1BB%1
MK-%)/G[P)]Z7L6Z])UGZ3F1/.AD-G8Q>8T\6Y%'KEI+Z&N4(6CGUR;6]5>;8
M'P-#-=;,CG1J28V8KI,@C*)I[*[WNS02-?7\9U'I2%3@32=#5%>7NW>M:Q0K
M*X\2,MXRU5V#P3LH\+D5GF?^N5;F3DC_T72R?DW$BC()%1::TCN9GCH@.JGL
M#,4;*QY+KK04V6&I7Q<4)D#/%YRKG6$6&-ZKY"]02P,$%     @ \4956-S=
MD;JD @  ]@<  !D   !X;"]W;W)K<VAE971S+W-H965T.3<N>&ULK57;;MLP
M#/T5P0.&%ECK:[.A<PPT<8<56(>@P;:'80^*3<="=?$D.<G^?I+LN&F;!'W(
MBZT+SR%Y3)/I6LA'50-HM&&4J[%7:]U<^[XJ:F!878H&N+FIA&18FZU<^JJ1
M@$L'8M2/@F#D,TRXEZ7N;":S5+2:$@XSB53+&);_)D#%>NR%WO;@@2QK;0_\
M+&WP$N:@?S0S:7;^P%(2!EP1P9&$:NS=A-?YE;5W!C\)K-7.&ME,%D(\VLU=
M.?8"&Q!0*+1EP.:U@BE0:HE,&'][3F]P:8&[ZRW[%Y>[R66!%4P%_45*78^]
M3QXJH<(MU0]B_17Z?%R A:#*/=&ZMPT\5+1*"]:#302,\.Z--[T..X!P=  0
M]8#H)2 Y (A[0/Q60-(#$J=,EXK3(<<:9ZD4:R2MM6&S"R>F0YOT";>??:ZE
MN24&I[-;+#GA2X4:D&A>8PGH[#N6$MO/<8[.<M"84'6.+I"RMRKUM7%KP7[1
MNYAT+J(#+L((W0NN:X5N>0GE<P+?Q#L$'6V#GD1'&7,H+E$<?D!1$,5[ IJ^
M'1[M@>=OAX='LHF'3Q [ON0 WU0P9OZ N1;%XSYUCZ)M6[A6#2Y@[)G_7H%<
M@9>]?Q>.@L_[E#DE67XBLF>J)8-JB6./#ZAVPS4I"6UMG:(Y%*TDFH"IL4U!
M6U-FJ)*"(:-MTVKL6HRHT%#MLZ':?W\SQ.A. U-_]JF?G%+]4Y+E)R)[IO[5
MH/[5T9JUZE\,\O.6+8R@1N##/:+C&SD^.XM6630*@B#U5[L"O;9*XE=6^6NK
M)XLN'7^G(S*02S=9%"I$RW779X;387C=N)[]XGQBAEHW@YYHNHEXC^62<(4H
M5(8RN/QHHI+=E.DV6C2N[RZ$-EW<+6LSF$%: W-?":&W&^M@&/79?U!+ P04
M    " #Q1E58_1!@?7D#   J"P  &0   'AL+W=O<FMS:&5E=',O<VAE970Y
M."YX;6RMEM]OVS80Q_\50BN&!&BCWY*=V0)BJ\7ZT"&HV_5AV ,CT1812=1(
MRN[^^QTI6;4EQC&&OM@B>??5?>XH\A8'QI]%08A$WZNR%DNKD+*YMVV1%:3"
MXHXUI(:5+>,5EC#D.ULTG.!<.U6E[3E.9%>8UE:RT'.//%FP5I:T)H\<B;:J
M,/]W14IV6%JN=9SX3'>%5!-VLFCPCFR(_-H\<AC9@TI.*U(+RFK$R79I/;CW
MZ5S9:X,_*3F(DV>D2)X8>U:#C_G2<E1 I"295 H8_O9D3<I2"4$8__2:UO!*
MY7CZ?%3_H-F!Y0D+LF;E-YK+8FG-+)23+6Y+^9D=?B<]3ZCT,E8*_8L.O:UC
MH:P5DE6],T10T;K[Q]_[/)PXN-$+#E[OX(T=@A<<_-[!O]8AZ!T"G9D.1><A
MQ1(G"\X.B"MK4%,/.IG:&_!IK<J^D1Q6*?C)Y#WF-:UW C6$HTV!.4$W&]A;
M>5L2Q+9HS:JFE5C7"(8K+&B&<)VCE):M)#F:"MRBFY1(3$MQB]ZAKYL4W;RY
M14(M"41K]*5@K0 )\1:].1LO; E$*BX[ZZ-?==%[+T3O>N@3JV4AT/LZ)_FY
M@ VI&/+A'?.Q\BXJIB2[0[[[%GF.YQL"6E_O[AG<T^O=W0LT_E!=7^OYKU7W
M<:CN7P]/0G+XW/XVI;N3"\QRZ@BZ%PW.R-*",T80OB=6\NLO;N3\9DK5SQ1+
M?Y+861J#(8W!)?7D8YVQBJ M9Q7*8+_1NH6L(CA[N?XRC#NWDXRUI#I\]XGK
M.J$/FVI_FJ2IV<P+G.C<*IU:Q4'H_K ZPPH'K/!JK)R*G@R^Z<M@G6AT$HLS
M8GK5(IU:N*[KFW&B 2>ZB/,'7))4(YFBCJXKQ]3,5(ZI51Q&WMP<?SS$'U^,
M_YN^HR#]> _IWY'CD0F7M9!P/JHM=P/G93=]:X*,)VGUG<@;1;\V6'G.?,QH
MLIK%+]1H-C#.+C+"=5+!30+76O8,VTSO,7V= )'D-%/XW>(KI+/I!@KG(\ZI
MS032(#-SS8CS 7'^O\JH*.$3@TFAJ5\!G!M*&<_"$:+!RG/GWHC28.4[83#B
MM$^ZB(KPG>[&!,3<UK*[0(?9H>%[T'W.:'X%C6#7M_V0Z;K(3YCO*+"79 N2
MSET,YP#O.K-N(%FC>Y4G)J'ST8\%-+.$*P-8WS(FCP/U@J$]3OX#4$L#!!0
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
M.@?"MD1/DA43DM R(7<"3T6EMDF0MQ%(FN7B';I\64?D[9MWY W)2O(Y9;5
M:S$W)<:EU,VXC>&^B<&Y$H/MD(^LE*D@OY8)),\%3 3JJ)PCU;TSJAA!?$-<
M^SUQ+,<="&CU>G=GP#UZO;L]0N-V>^1J/7=\C_Z^VPC)\47Y9RC%C80W+*&J
MQZVH: P+ \N# +X'8_GS3[9O_3*4GA\I%OT@L6>I\[K4>6/JRS\KX%1FY8[D
M^DS'>*:'LM>H!%I%E<H]'LJ99\W-_7E:!JQL>V8_MXH&K*Q9$'16ST"F'<AT
M%&2=,BXG$GCQ DDCXY^M[OG>M =R:33U9UZ/X](HL*?N,(;?8?BC&)^9I/D+
M!/[%NG8P#?L( U9^V+>*!JQ"V[6&(8(.(AB%6%&1DHIF"<'O+J$%JTLIL ;&
M>8WE2Q5#F0(I$++F@-](J6HJ.YW$C&ZR/),9#-;*X#)DRW?"'OZE51BZ??I+
MHYGGVL/P80<?CL+KSF#"MI,:MY * 8C.-OA-*!MT>(Q36NY YZ;$[WZSV2]
MAQ?OC!-X?A_ZTLH.+*MG%0U86:$W3#WKJ&>CU%]U_P#)A.YQ&Y$.-Q:13X5%
MOYF3\UW617N(=7PEGSP!Y8($I&B^B3Y)Z-.0T&I<:-H*N4<A.[RF%(TJ_<\2
M;5NG%L3ZON0FF8C52T4PE_#*K+9KJ,NIJ/7.SRMLHO%8OS<7YEEG5@#?Z0Y7
M$$W7M#/=;-=%W^G>L3=_K[IKW?&=9)K6_"/ENPP[LQRV*&G=!%BW>=/M-@/)
M*MW_;9C$;E+?IO@/ ;@RP.=;QN1QH!;H_G,L_P-02P,$%     @ \4956+;X
M&A6X @  Q@<  !H   !X;"]W;W)K<VAE971S+W-H965T,3 R+GAM;(65:V^;
M,!2&_XK%JJF3UG(-)!E!:AM-F]1*42_;AVD?'#@D5@UFMDG:?S_;I"Q='/(%
M?'O/\QZ#C],MX\]B#2#12T5K,7/64C93UQ7Y&BHL+ED#M9HI&:^P5%V^<D7#
M 1=&5%$W\+S8K3"IG2PU8PN>I:R5E-2PX$BT587YZS50MITYOO,V<$]6:ZD'
MW"QM\ H>0#XU"ZYZ;A^E(!74@K :<2AGSI4_O?:-P*SX06 K]MI(I[)D[%EW
MOA<SQ]..@$(N=0BL7ANX 4IU).7CSRZHTS.U<+_]%OVK25XEL\0";AC]20JY
MGCEC!Q50XI;*>[;]!KN$1CI>SJ@P3[3MUL:*F+="LFHG5OV*U-T;O^PV8D\0
M!$<$P4X0&-\=R+B<8XFSE+,MXGJUBJ8;)E6C5N9(K;_*@^1JEBB=S&Y!I230
M!;K#LN5$OB)6(C.(%OA5;;\4Z'P.$A,J/J$S1&KTN&:MP'4A4E<J!SJ.F^]H
MUQTM.$*;0WZ)0O\S"KP@1$\/<W1^]NE]&%<ET&<1]%D$)FXXG,6OJZ607'WH
MWS9K78C('D+__5/1X!QFCOJ]!? -.-G'#W[L?1DP&/8&PZ'HF<HWLGGJ5(E1
MZ0.TR?P@#":IN[' HAX6G8*-;+!.%>_!)DDTMK-&/6MTBA7;6*,#5AQZD9T5
M]ZSX%"NQL>(#5I0D(SLKZ5G)*=;8QDH.6>'$M[/&/6L\R+HJ)7!TC#@^(/J)
M?PPYZ9&30>0CDY@B:LYYLSOG-OCD #Z*DO#(/^-[_XJ.-XB_!2&FR)RS6J(-
MIBV@@HB<M;6T5A7OP,?%.$J.;(*_5_S\01^+=PY4Y>MVA!*\))1( O8:YQ^<
MVB@.XN0_-^Y>5=8WW!WF*U(+Q2B5SKM,U!GAW:71=21K3*%>,JG*OFFNU44+
M7"]0\R5C\JVC:W]_=6=_ 5!+ P04    " #Q1E588X&IC34"  #5!   &@
M 'AL+W=O<FMS:&5E=',O<VAE970Q,#,N>&ULA53?;YLP$/Y7+$^:6JD*!-)T
MR@ I:3>M#ZVB1-L>ICT8.,"JL9EMDNZ_GW\0QJ0T>P'?^;[OOCON2(Y"OJ@&
M0*/7EG&5XD;K;A4$JFB@)6HF.N#FIA*R)=J8L@Y4)X&4#M2R( K#9= 2RG&6
M.-]69HGH-:,<MA*IOFV)_+T!)HXIGN.38T?K1EM'D"4=J6$/^FNWE<8*1I:2
MML 5%1Q)J%*\GJ\V"QOO KY1.*K)&=E*<B%>K/%8ICBT@H!!H2T#,:\#W -C
MELC(^#5PXC&E!4[/)_;/KG932TX4W OVG9:Z2?$'C$JH2,_T3AR_P%#/K>4K
M!%/NB8X^]B[&J.B5%NT -@I:ROV;O Y]F "BZ U -  BI]LG<BH?B"99(L41
M21MMV.S!E>K01ASE]J/LM32WU.!TMH?:M%BC1^X_L.W4U3.1DMAN7:.K!]"$
M,G6=!-JDLZ"@&*@WGCIZ@WH>H2?!=:/0)UY"^2]!8'2.8J.3V$UTD?$!BAF*
MYS<H"J,8*2_] F\\-B%VO/%_FK"#3DA->3UMQXUQ'X#W@(QK""$Y W1"_5CG
M2DLS7C_/]<AG7IS/;%=NI3I20(K-3BF0!\#9^W?S9?CQ0EV+L:[%)?;LN6]S
MD$A49GU&V4/;U#FQGF[IZ.PZ'[)%$ARF"H+)J+4@:[=0"A6BY]I/W>@==W;M
M1_5ON%_X)R)KRA5B4!EH.+N[Q4CZ)?*&%IT;W%QHLP;NV)C_#D@;8.XK(?3)
ML G&/UGV!U!+ P04    " #Q1E58B2'"9$H(  !0/   &@   'AL+W=O<FMS
M:&5E=',O<VAE970Q,#0N>&ULQ9M=CZ-&%H;_2LD;11,I&5/?T.FV-&,2;4L[
MR6@ZLWL1Y8+&91L%@Q?HZ<EJ?WP*[':9J@-MRR7YIML?;[WF/7#*#X6Y?2ZK
M/^NU4@WZNLF+^FZR;IKMS71:IVNU2>JWY585^IUE66V21C^M5M-Z6ZEDT0W:
MY%,2!&*Z2;)B,KOM7OM8S6[+IR;/"O6Q0O739I-4?[U7>?E\-\&3EQ<^9:MU
MT[XPG=UNDY5Z4,WG[<=*/YL>7!;91A5U5A:H4LN[R3M\$W/9#N@4_\[4<WWT
M&+51'LORS_;)_>)N$K1;I'*5-JU%HO]]47.5YZV3WH[_[DTGA\]L!QX_?G'_
MN0NOPSPFM9J7^7^R1;.^FX03M%#+Y"EO/I7/_U3[0+SU2\N\[OZBY[TVF*#T
MJ6[*S7ZPWH)-5NS^)U_WA3@:@,7  +(?0.P!;&  W0^@IPY@^P&LJ\PN2E>'
M.&F2V6U5/J.J56NW]D%7S&ZTCI\5[7Y_:"K];J;'-;,'M=)[L4'WQ>X8:O?%
MFP\JJ9\JU;Y1H\^U6J#'O]"'I- '0B=N2O2NKE5=HX^JZL85J4+E$NW=ZN_0
MFU@U29;K1S^@SP\Q>O/-=^@;E!7HMW7Y5"?%HKZ=-GK[VZV8IOMM?;_;5C*P
MK9B@#V71K&OT4[%0B[[!5 <_I"<OZ=^34<=8I6\1Q=\C$A *;-#\].$$&!Z?
M/AR/I*&'?4D[/_K*OORDMF759,7J>_1KLU85>LA61;;,TJ1[,RV+---C5^B^
M41OT^[^T3?>P_@/:)[O/9/!GMM/23;U-4G4WT?-.K:HO:C+[]A]8!#]"]?1I
M%GLRZ]6:'6K-QMQGO^@IN4YR5=] -=N-E=W8=N;],L-42DG%[?3+<3D@71A%
MPM+%D(Y&,J0'72\$/X3@HR'NB[3<*+2LR@W2WR15U_YPHIV1.-X"'D@268$
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
MAEW%O&%/,(ZD*89 +?IK-$F0U4G@X]\?["F)XS3U(X#Y'<0QAL#3B".8 _"
M(7'<O ?WWD?A^CT5;OX#.WH 4$L#!!0    ( /%&55B7BKL<P    !,"   +
M    7W)E;',O+G)E;'.=DKENPS ,0'_%T)XP!] AB#-E\18$^0%6H@_8$@6*
M19V_K]JE<9 +&7D]/!+<'FE [3BDMHNI&/T04FE:U;@!2+8ECVG.D4*NU"P>
M-8?20$3;8T.P6BP^0"X99K>]9!:G<Z17B%S7G:4]VR]/06^ KSI,<4)I2$LS
M#O#-TG\R]_,,-47E2B.56QIXT^7^=N!)T:$B6!::1<G3HAVE?QW']I#3Z:]C
M(K1Z6^CY<6A4"H[<8R6,<6*T_C6"R0_L?@!02P,$%     @ \4956$8WGJ N
M!P  844   \   !X;"]W;W)K8F]O:RYX;6S%G-M3VS@4A_\53Y[:&;I)G/C6
M*9VA0+O,4)HAG;YVA*,DFOJ2E94 _>M7L@L<@?GMOISD"7R)_46V])VC2S[<
MUOK735W_"N[*HFJ.!VMC-N^'PR9?RU(T?]4;6=DCRUJ7PMA-O1HV&RW%HEE+
M:<IB&(Y&\; 4JAI\_/!PK9D>THW:R-RHNK([W8X?2MXV3\?=9K!3C;I1A3+W
MQX/V_T(.@E)5JE2_Y>)X,!H$S;J^_;O6ZG==&5',<UT7Q?%@W!WX(;51^8O=
M<P?Y7=PT[1XC;JZ%!3D>Q"-[P:72C6G/:*\O+.-.VI.[K:VI/ZO"2'TFC/RB
MZ^U&52MW&?LMAN1KM.7P\+<KQ/?Z_Q1CO5RJ7)[5^;:4E>G*4<O" 5;-6FV:
M05")4AX/3NN=U,%,K*3[4O8N%XON"QI+1HI+OU?V@+Y8M(Q\/"?;A3+!1=5]
MV!XE6"' "GFQ3NUV7:B%O?LBF#L(]X$FJ)>6-:\)Y 1 3@X&>5J7&P(Y!9#3
M/4)^$H6H<AFT%:4A@!$ C X&&+R9"0(9 \CX<(]:-&L"F0#(Y&"0<U/G!#(%
MD.D!(7^&!#(#D!DOY'Q;ED+?MU!J52G[,5&9X"3/ZVUE%&VZ1ZCM'O%B7LN=
MK+8R>'-EK=R\I5A0*=Q.Z8JI":YE+M5.M'=_0D-:&3-[Y:*R)69LX"&;H^!*
M&LJ%3#)F5HF-JS8VZKD_"F:V 31'@:@6P?D_6[5Q'SRBF,@E8V:9G.06J5'M
M?LJ$]#%F]L>7NE[<JJ)HB^S:G6$;E@L;5E8K]>S-0P(9,QO$5@J]M63G=_8B
MC?2*#SECS"R-,WGCU0*DAC&S&V:V9.R^]DE^,VL7*->-T=(H[2Q!,9$<QLQV
ML(]R6VZ[%ZW#=.&>EFN'OZ-O7(CL$#+;P34?YO[=)]%83D=H\5Z$^,@3(;,G
M/@NE@Q^BL ;[*D6SU5TH0/%@"L+LBC/5Y#8]596KMM]L\RR>MWLA4D;(K(SS
M.^4B$IOGVJ=LGV]CA>LJSDG3V#M>4$RDC)!9&2Y=*V7P7=QY;5Z(E!$R*^-<
MZ$I5JR:P#]6F&D)[=199(F2VQ*6M!WXY(3>$[ E%62K3Q>?NU3IMJ\-*5KGR
M(9$T0F9IS.7*G?%:'P8217C(-,++=29(%!-F46#,"<5$NI@PZ^(QV_GN,@HO
MW9D@3TR8/=&3[O0RPIXJ9ED\SWMZ 9$F)LR:@ F07U60.2;,YJ )4&\9(GE,
MF.4!,R&_#)%5)LQ6>9X)]98C,LJ$V2@N)>J%0BZ9,+L$YD;>PYTBETR970)S
M(Q\3N63*[))7<Z/NN5-,I)8ILUI@C.^7)K++E-TN3S%^7\69PO$/9K.\#/9[
M$9%5ILQ6Z:+^7BSDDRFS3WHBZUY&)),ILTQP[#JEF$@I4^XD!6)&%!-)9GK0
MA"6F X9(,M&>QCW>!5="NVZ9G:W39]((57AO9H04$^TI77G7ILU:Y*9KMKL6
M_))B(L5$A\A>^LH2"2;:>_HRMU==;"VKFQ% ,9%J(O:^KA>83Q7JA [ 1G#
MG5DW.->B^7Z$]!.QCYC07.NQIK_]\WI23&2@B#V=H9CTO3PI"F_4/4(&BI@-
M!##=$8J)#!2QCZU03++5);1T-@@R4,QL()QJTRH4(P?%S ["F#0ZBI&#8F8'
M84P:'<7(0C&SA3 FC8YB9*&8V4(8,Z&8R$+Q(<?M?Z84$T[\VO.X?6]P%",!
MQ7L8P>_QXS-"Y)YX+QUJU#ENTEPP$VH1V M23.2>^*!=;+113Y![$F;W8$S:
MJ"?(/0FS>S F;=03Y)Z$V3T8DS;J"7)/PCU!#&+21CU![DG8)XBA[E^O"B'W
M)-P3 %[O_G7M*,5$[DF8W0,P76)),>&T8V8!(4Q[>8J)+)0P6PB6IM>9GB +
M)<P6PIBT"J7(0NFA9I>UF-1"*;)0>KB!GI/5BM;T%%DHY1[H>1WSV?J"%%DH
M9;;0*S/V'J)/BHDLE#);Z)69>WV8R$(IMX7@Z)Y7TY&%4FX+04ROIB,+I=P6
M@I@TWDSA\A=N"T%,&F^FR$(ILX7\(5W7(M4568%',#-DH8S90C[F)UG)I2W>
M>ODVF.EZ1WLU,V2AC-E"/F:+UD;S]F+/2Q-9*&-?'4,QS^12:FU;4+L=7"IQ
M0S&1A;*]3C=  P,9LE"VQYG/WDB0$ZAGH0Q9*&.VD(_I;;D.&HJ)+)1Q6ZAG
M&@=Y]!0362CCME /)NGXHIC(0AFSA?[,./FO ?0,KL%D5M C(QTVM\V0^V4!
M?_[Y>(1783)+Z!&4]G"V.UN_>Z!P7>:(64./H%^%V6H7?SR"SL1]Z8'"59HC
M9A'USCQZJNT>*%RV.6)642_H4VKD@<*%FR-F&?67J+W97!3VE?! X6K.$;..
M(*C72S,>P?6<HU9(P_;TYN.'A8T,*[FXLC=I[/Y<%/E,!^Y/>ZUP&KDUA<MM
M49S:?=^JRUHL'GXAY.'733[^"U!+ P04    " #Q1E58XPVLQ_\"  !%/@
M&@   'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QSS=O+;MI &(;A6T&^@'C.
MARK)JIMLJ]P (@:B<!)VU>3NBY(%?*,NNHG\KM 8,;P;/T)F_OM?PVXYO1X/
MX_;U-"[>][O#^-!MI^GTH^_'U7;8+\>[XVDX7-Y9'\_[Y719GC?]:;EZ6VZ&
MWAF3^O/M'MWC_>V>B^>/T_ _.Q[7Z]?5\/.X^KT?#M,_-N[_',]OXW88IF[Q
MO#QOANFAZ]]WU\MC__EB[RX[=XNGEX?N_/1BNW[N("=!;OX@+T%^_J @06'^
MH"A!<?Z@)$%I_J L07G^H")!9?Z@*D%U_B!K5$8#2&JP!FAME6L+\-HJV!8@
MME6R+<!LJVA;@-I6V;8 MZW";0%R6Z7; NRVBK<%Z.U4;P?0VZG>#J"W:WYL
M _1VJK<#Z.U4;P?0VZG>#J"W4[T=0&^G>CN WD[U=@"]G>KM 'I[U=L#]/:J
MMP?H[55O#]#;-P]+ 'I[U=L#]/:JMP?H[55O#]#;J]X>H+=7O3U ;Z]Z>X#>
M0?4. +V#ZAT >@?5.P#T#JIW .@=FH?= +V#ZAT >@?5.P#T#JIW .@=5.\
MT#NHW@&@=U2](T#OJ'I'@-Y1]8X O:/J'0%Z1]4[ O2.S9^5 +VCZAT!>D?5
M.P+TCJIW!.@=5>\(T#NIW@F@=U*]$T#OI'HG@-Y)]4X O9/JG0!Z)]4[ ?1.
MS6$3@-Y)]4X O9/JG0!Z)]4[ ?3.JG<&Z)U5[PS0.ZO>&:!W5KTS0.^L>F>
MWEGUS@"]L^J= 7KGYK @0.^L>F> WEGUS@"]B^I= 'H7U;L ]"ZJ=P'H753O
M M"[J-X%H'=1O0M [Z)Z%X#>1?4N +U+<]@;H'=1O0M [ZIZ5X#>5?6N +VK
MZET!>E?5NP+TKJIW!>A=5>\*T+NJWA6@=U6]*T#OJGI7@-ZU&=8!Z&U-.ZX#
M\-N:9F#'  2WIAG9,0##K6F&=@Q <6N:L1T#<-R:9G#' "2WIAG=,=]I^3A]
M[(;Q6O2U;@*^4^[I\MGA^OV?RZ^+[?W^B75_FS$^_@502P,$%     @ \495
M6*% UB-M @  _SL  !,   !;0V]N=&5N=%]4>7!E<UTN>&ULS=O?;ILP%,?Q
M5XFXK0+88 -3TYMVMULO]@(,G :%?[+=+GW[.:2MM*F+5F72OC=!B>WS._A(
MG[M<?WN>C5L=AGYTFVCG_?PI25RS,T/MXFDV8UC93G:H??AJ'Y*Y;O;U@TED
MFNJDF49O1K_VQQK1S?6=V=:/O5]]/H2?73>-F\B:WD6KV]/&8]8FJN>Y[YK:
MA_7D:6Q_2UF_),3AY++'[;K9784-4?)NPG'ESP$OY[X^&6N[UJSN:^N_U$/8
ME1SZQ/GGWKCX?(EW>IRVVZXQ[=0\#N%([&9KZM;MC/%#'Y^*7IU/]N&&S>E3
M7)R_E#D7&';>VVEV86+6?#SN=23'T^LY%#+6=^=?\2TQE+[X_<QQVJUI_S([
M7.^/R>Z7>;AD>5Q^Q[_.^*W^!_N0D#XR2!\YI \%Z4-#^B@@?920/BI('R*E
M-$(155!(%113!05505%54%@5%%<%!59!D5529)44625%5DF155)DE119)456
M29%54F25%%DSBJP91=:,(FM&D36CR)I19,THLF8463.*K!E%UIPB:TZ1-:?(
MFE-DS2FRYA19<XJL.476G")K3I%54615%%D5159%D5519%44615%5D6155%D
M5119-45639%54V35%%DU159-D5539-44635%5DV1M:#(6E!D+2BR%A19"XJL
M!476@B)K09&UH,A:4&0M*;*6%%E+BJPE1=:2(FM)D;6DR%I29"TILI8462N*
MK!5%UHHB:T61M:+(6E%DK2BR5A19*XJL%456D5)H%2G%5I%2<!4I15>14G@5
M*<57D?Y/8+]/T_X?QR_/>*B[\34_6?[W>_,34$L! A0#%     @ \4956 =!
M36*!    L0   !               ( !     &1O8U!R;W!S+V%P<"YX;6Q0
M2P$"% ,4    " #Q1E588&"(^>\    K @  $0              @ &O
M9&]C4')O<',O8V]R92YX;6Q02P$"% ,4    " #Q1E58F5R<(Q &  "<)P
M$P              @ '- 0  >&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0
M   ( /%&55C/JI!E#0@  -0Q   8              " @0X(  !X;"]W;W)K
M<VAE971S+W-H965T,2YX;6Q02P$"% ,4    " #Q1E58D"Z@*3P"  "]!0
M&               @(%1$   >&PO=V]R:W-H965T<R]S:&5E=#(N>&UL4$L!
M A0#%     @ \4956$V+$QP0!@  *1T  !@              ("!PQ(  'AL
M+W=O<FMS:&5E=',O<VAE970S+GAM;%!+ 0(4 Q0    ( /%&55A&0\,<; ,
M & +   8              " @0D9  !X;"]W;W)K<VAE971S+W-H965T-"YX
M;6Q02P$"% ,4    " #Q1E586Z'2-%@&   N&0  &               @(&K
M'   >&PO=V]R:W-H965T<R]S:&5E=#4N>&UL4$L! A0#%     @ \4956#AQ
MQ# U P  #0L  !@              ("!.2,  'AL+W=O<FMS:&5E=',O<VAE
M970V+GAM;%!+ 0(4 Q0    ( /%&55A;D]\Y<P@  / G   8
M  " @:0F  !X;"]W;W)K<VAE971S+W-H965T-RYX;6Q02P$"% ,4    " #Q
M1E58:$4-UQ4*  "56@  &               @(%-+P  >&PO=V]R:W-H965T
M<R]S:&5E=#@N>&UL4$L! A0#%     @ \4956/;_@Z6A @  Z@8  !@
M         ("!F#D  'AL+W=O<FMS:&5E=',O<VAE970Y+GAM;%!+ 0(4 Q0
M   ( /%&55B9P]$=E!L  .Y4   9              " @6\\  !X;"]W;W)K
M<VAE971S+W-H965T,3 N>&UL4$L! A0#%     @ \4956'&N/ECI!@  @A$
M !D              ("!.E@  'AL+W=O<FMS:&5E=',O<VAE970Q,2YX;6Q0
M2P$"% ,4    " #Q1E58_#N GMP"   P!@  &0              @(%:7P
M>&PO=V]R:W-H965T<R]S:&5E=#$R+GAM;%!+ 0(4 Q0    ( /%&55A8]KC0
MQ ,  #P(   9              " @6UB  !X;"]W;W)K<VAE971S+W-H965T
M,3,N>&UL4$L! A0#%     @ \4956,??Z3 ) P  I08  !D
M ("!:&8  'AL+W=O<FMS:&5E=',O<VAE970Q-"YX;6Q02P$"% ,4    " #Q
M1E586CET2.X(  #4&P  &0              @(&H:0  >&PO=V]R:W-H965T
M<R]S:&5E=#$U+GAM;%!+ 0(4 Q0    ( /%&55B\?3@CEP<  ,X2   9
M          " @<UR  !X;"]W;W)K<VAE971S+W-H965T,38N>&UL4$L! A0#
M%     @ \4956,K^!-_A @  #P8  !D              ("!FWH  'AL+W=O
M<FMS:&5E=',O<VAE970Q-RYX;6Q02P$"% ,4    " #Q1E58?9M/-GH'  !!
M%   &0              @(&S?0  >&PO=V]R:W-H965T<R]S:&5E=#$X+GAM
M;%!+ 0(4 Q0    ( /%&55A9$]F]* @  ! 4   9              " @62%
M  !X;"]W;W)K<VAE971S+W-H965T,3DN>&UL4$L! A0#%     @ \4956(V
M%A*[ P  H0@  !D              ("!PXT  'AL+W=O<FMS:&5E=',O<VAE
M970R,"YX;6Q02P$"% ,4    " #Q1E58!NT<!6<.  "D+   &0
M    @(&UD0  >&PO=V]R:W-H965T<R]S:&5E=#(Q+GAM;%!+ 0(4 Q0    (
M /%&55A3FSGP.P8  .0/   9              " @5.@  !X;"]W;W)K<VAE
M971S+W-H965T,C(N>&UL4$L! A0#%     @ \4956-KPWTN0!    @L  !D
M             ("!Q:8  'AL+W=O<FMS:&5E=',O<VAE970R,RYX;6Q02P$"
M% ,4    " #Q1E58?+P5 "H&  #E#@  &0              @(&,JP  >&PO
M=V]R:W-H965T<R]S:&5E=#(T+GAM;%!+ 0(4 Q0    ( /%&55BM.3FIY0H
M (P<   9              " @>VQ  !X;"]W;W)K<VAE971S+W-H965T,C4N
M>&UL4$L! A0#%     @ \4956"?S_.-F P  _@<  !D              ("!
M";T  'AL+W=O<FMS:&5E=',O<VAE970R-BYX;6Q02P$"% ,4    " #Q1E58
M[!V#WQ0%  "3#   &0              @(&FP   >&PO=V]R:W-H965T<R]S
M:&5E=#(W+GAM;%!+ 0(4 Q0    ( /%&55A'!* 9W (  "<&   9
M      " @?'%  !X;"]W;W)K<VAE971S+W-H965T,C@N>&UL4$L! A0#%
M  @ \4956)X@?]]@"   _A,  !D              ("!!,D  'AL+W=O<FMS
M:&5E=',O<VAE970R.2YX;6Q02P$"% ,4    " #Q1E58@G^O^D$;   96@
M&0              @(&;T0  >&PO=V]R:W-H965T<R]S:&5E=#,P+GAM;%!+
M 0(4 Q0    ( /%&55BH/G6'(P0  )@)   9              " @1/M  !X
M;"]W;W)K<VAE971S+W-H965T,S$N>&UL4$L! A0#%     @ \4956*(@$JIW
M @  704  !D              ("!;?$  'AL+W=O<FMS:&5E=',O<VAE970S
M,BYX;6Q02P$"% ,4    " #Q1E58_N7]K:\"  #R!0  &0
M@($;]   >&PO=V]R:W-H965T<R]S:&5E=#,S+GAM;%!+ 0(4 Q0    ( /%&
M55CR(KNLC0,  !\(   9              " @0'W  !X;"]W;W)K<VAE971S
M+W-H965T,S0N>&UL4$L! A0#%     @ \4956*6B0(1  P  20<  !D
M         ("!Q?H  'AL+W=O<FMS:&5E=',O<VAE970S-2YX;6Q02P$"% ,4
M    " #Q1E580'[<)U<$  !B#   &0              @($\_@  >&PO=V]R
M:W-H965T<R]S:&5E=#,V+GAM;%!+ 0(4 Q0    ( /%&55A@@RK6*P4  .H-
M   9              " @<H" 0!X;"]W;W)K<VAE971S+W-H965T,S<N>&UL
M4$L! A0#%     @ \4956 T"F%G9 @  !P8  !D              ("!+ @!
M 'AL+W=O<FMS:&5E=',O<VAE970S."YX;6Q02P$"% ,4    " #Q1E58"(W\
M Z<"  "V!0  &0              @($\"P$ >&PO=V]R:W-H965T<R]S:&5E
M=#,Y+GAM;%!+ 0(4 Q0    ( /%&55A 4"$R5P<  *$4   9
M  " @1H. 0!X;"]W;W)K<VAE971S+W-H965T-# N>&UL4$L! A0#%     @
M\4956%E2([H[ P  KP<  !D              ("!J!4! 'AL+W=O<FMS:&5E
M=',O<VAE970T,2YX;6Q02P$"% ,4    " #Q1E58*],['#0)  !B&P  &0
M            @($:&0$ >&PO=V]R:W-H965T<R]S:&5E=#0R+GAM;%!+ 0(4
M Q0    ( /%&55AY6(U7P 0  -L+   9              " @84B 0!X;"]W
M;W)K<VAE971S+W-H965T-#,N>&UL4$L! A0#%     @ \4956$6[K=,G!P
M#A,  !D              ("!?"<! 'AL+W=O<FMS:&5E=',O<VAE970T-"YX
M;6Q02P$"% ,4    " #Q1E58:FU'^J$#  #^"   &0              @(':
M+@$ >&PO=V]R:W-H965T<R]S:&5E=#0U+GAM;%!+ 0(4 Q0    ( /%&55@U
M(L3UZ@,  +\)   9              " @;(R 0!X;"]W;W)K<VAE971S+W-H
M965T-#8N>&UL4$L! A0#%     @ \4956+>ZK[J:!0  1 T  !D
M     ("!TS8! 'AL+W=O<FMS:&5E=',O<VAE970T-RYX;6Q02P$"% ,4
M" #Q1E58W!!I$%$#  "'"0  &0              @(&D/ $ >&PO=V]R:W-H
M965T<R]S:&5E=#0X+GAM;%!+ 0(4 Q0    ( /%&55@=61YGW 0  -X>   9
M              " @2Q  0!X;"]W;W)K<VAE971S+W-H965T-#DN>&UL4$L!
M A0#%     @ \4956--\B$Z6 @  VP8  !D              ("!/T4! 'AL
M+W=O<FMS:&5E=',O<VAE970U,"YX;6Q02P$"% ,4    " #Q1E58]P Z66D$
M   _%@  &0              @($,2 $ >&PO=V]R:W-H965T<R]S:&5E=#4Q
M+GAM;%!+ 0(4 Q0    ( /%&55@ JLE,] (  )D*   9              "
M@:Q, 0!X;"]W;W)K<VAE971S+W-H965T-3(N>&UL4$L! A0#%     @ \495
M6-;BF4L8 P  V@L  !D              ("!UT\! 'AL+W=O<FMS:&5E=',O
M<VAE970U,RYX;6Q02P$"% ,4    " #Q1E58TF8%HML"   J"   &0
M        @($F4P$ >&PO=V]R:W-H965T<R]S:&5E=#4T+GAM;%!+ 0(4 Q0
M   ( /%&55@:K2L5,0,  $X)   9              " @3A6 0!X;"]W;W)K
M<VAE971S+W-H965T-34N>&UL4$L! A0#%     @ \4956%:^,)L- P  ,0D
M !D              ("!H%D! 'AL+W=O<FMS:&5E=',O<VAE970U-BYX;6Q0
M2P$"% ,4    " #Q1E582>L"O<<#   <&   &0              @('D7 $
M>&PO=V]R:W-H965T<R]S:&5E=#4W+GAM;%!+ 0(4 Q0    ( /%&55@9M65L
M< 4  )8I   9              " @>)@ 0!X;"]W;W)K<VAE971S+W-H965T
M-3@N>&UL4$L! A0#%     @ \4956&]^!1)"!   71@  !D
M ("!B68! 'AL+W=O<FMS:&5E=',O<VAE970U.2YX;6Q02P$"% ,4    " #Q
M1E58-C9"82@#  !G#0  &0              @($":P$ >&PO=V]R:W-H965T
M<R]S:&5E=#8P+GAM;%!+ 0(4 Q0    ( /%&55BE!#D!N 4  +$@   9
M          " @6%N 0!X;"]W;W)K<VAE971S+W-H965T-C$N>&UL4$L! A0#
M%     @ \4956/+L.IH;!   $A0  !D              ("!4'0! 'AL+W=O
M<FMS:&5E=',O<VAE970V,BYX;6Q02P$"% ,4    " #Q1E58["V:<9H$  "5
M&0  &0              @(&B> $ >&PO=V]R:W-H965T<R]S:&5E=#8S+GAM
M;%!+ 0(4 Q0    ( /%&55@@\N\-N (  .((   9              " @7-]
M 0!X;"]W;W)K<VAE971S+W-H965T-C0N>&UL4$L! A0#%     @ \4956)SD
M;,.7 @  X@8  !D              ("!8H ! 'AL+W=O<FMS:&5E=',O<VAE
M970V-2YX;6Q02P$"% ,4    " #Q1E58TRZ[NXD"   V!@  &0
M    @($P@P$ >&PO=V]R:W-H965T<R]S:&5E=#8V+GAM;%!+ 0(4 Q0    (
M /%&55B68E&&6 ,  (0*   9              " @?"% 0!X;"]W;W)K<VAE
M971S+W-H965T-C<N>&UL4$L! A0#%     @ \4956.C1&=60"0  CVL  !D
M             ("!?XD! 'AL+W=O<FMS:&5E=',O<VAE970V."YX;6Q02P$"
M% ,4    " #Q1E58<3VD700#  #R"   &0              @(%&DP$ >&PO
M=V]R:W-H965T<R]S:&5E=#8Y+GAM;%!+ 0(4 Q0    ( /%&55@!K?X,TP,
M &\2   9              " @8&6 0!X;"]W;W)K<VAE971S+W-H965T-S N
M>&UL4$L! A0#%     @ \4956*ZA''X&!   @P\  !D              ("!
MBYH! 'AL+W=O<FMS:&5E=',O<VAE970W,2YX;6Q02P$"% ,4    " #Q1E58
MPX'CV4,#  "]"   &0              @('(G@$ >&PO=V]R:W-H965T<R]S
M:&5E=#<R+GAM;%!+ 0(4 Q0    ( /%&55@%[5F#1@0  !,1   9
M      " @4*B 0!X;"]W;W)K<VAE971S+W-H965T-S,N>&UL4$L! A0#%
M  @ \4956/AG$@:M @  [08  !D              ("!OZ8! 'AL+W=O<FMS
M:&5E=',O<VAE970W-"YX;6Q02P$"% ,4    " #Q1E58+9QH]78%  !((P
M&0              @(&CJ0$ >&PO=V]R:W-H965T<R]S:&5E=#<U+GAM;%!+
M 0(4 Q0    ( /%&55CV^B(AB0H  '9]   9              " @5"O 0!X
M;"]W;W)K<VAE971S+W-H965T-S8N>&UL4$L! A0#%     @ \4956+?_A[C<
M @  Z@<  !D              ("!$+H! 'AL+W=O<FMS:&5E=',O<VAE970W
M-RYX;6Q02P$"% ,4    " #Q1E58;WG(7" (  #:5P  &0
M@($CO0$ >&PO=V]R:W-H965T<R]S:&5E=#<X+GAM;%!+ 0(4 Q0    ( /%&
M55B%@;.S$00  -\6   9              " @7K% 0!X;"]W;W)K<VAE971S
M+W-H965T-SDN>&UL4$L! A0#%     @ \4956-]&:(CX P  81$  !D
M         ("!PLD! 'AL+W=O<FMS:&5E=',O<VAE970X,"YX;6Q02P$"% ,4
M    " #Q1E58& "FN<P*  ".<P  &0              @('QS0$ >&PO=V]R
M:W-H965T<R]S:&5E=#@Q+GAM;%!+ 0(4 Q0    ( /%&55C'F)XT'P0  &45
M   9              " @?38 0!X;"]W;W)K<VAE971S+W-H965T.#(N>&UL
M4$L! A0#%     @ \4956)T&#O'& P  51   !D              ("!2MT!
M 'AL+W=O<FMS:&5E=',O<VAE970X,RYX;6Q02P$"% ,4    " #Q1E58+TZ@
M3(P"   C"   &0              @(%'X0$ >&PO=V]R:W-H965T<R]S:&5E
M=#@T+GAM;%!+ 0(4 Q0    ( /%&55@1%(S1S 4  )8I   9
M  " @0KD 0!X;"]W;W)K<VAE971S+W-H965T.#4N>&UL4$L! A0#%     @
M\4956 '%;YV8 @  K08  !D              ("!#>H! 'AL+W=O<FMS:&5E
M=',O<VAE970X-BYX;6Q02P$"% ,4    " #Q1E58?XBO_T0%   :(0  &0
M            @('<[ $ >&PO=V]R:W-H965T<R]S:&5E=#@W+GAM;%!+ 0(4
M Q0    ( /%&55BQ-6R6:@,  .0-   9              " @5?R 0!X;"]W
M;W)K<VAE971S+W-H965T.#@N>&UL4$L! A0#%     @ \4956'5E8.TK P
ME@D  !D              ("!^/4! 'AL+W=O<FMS:&5E=',O<VAE970X.2YX
M;6Q02P$"% ,4    " #Q1E58+H0:$^0"  !$"   &0              @(%:
M^0$ >&PO=V]R:W-H965T<R]S:&5E=#DP+GAM;%!+ 0(4 Q0    ( /%&55C5
M&6UW$ 0  -,1   9              " @77\ 0!X;"]W;W)K<VAE971S+W-H
M965T.3$N>&UL4$L! A0#%     @ \4956)CQ35JI!   K1,  !D
M     ("!O  " 'AL+W=O<FMS:&5E=',O<VAE970Y,BYX;6Q02P$"% ,4
M" #Q1E58;6+7G"T$  #C#@  &0              @(&<!0( >&PO=V]R:W-H
M965T<R]S:&5E=#DS+GAM;%!+ 0(4 Q0    ( /%&55B+P1:&A 4  $$G   9
M              " @0 * @!X;"]W;W)K<VAE971S+W-H965T.30N>&UL4$L!
M A0#%     @ \4956+S,B*%N P  4 H  !D              ("!NP\" 'AL
M+W=O<FMS:&5E=',O<VAE970Y-2YX;6Q02P$"% ,4    " #Q1E58ZY?.G(P"
M  "[!@  &0              @(%@$P( >&PO=V]R:W-H965T<R]S:&5E=#DV
M+GAM;%!+ 0(4 Q0    ( /%&55C<W9&ZI (  /8'   9              "
M@2,6 @!X;"]W;W)K<VAE971S+W-H965T.3<N>&UL4$L! A0#%     @ \495
M6/T08'UY P  *@L  !D              ("!_A@" 'AL+W=O<FMS:&5E=',O
M<VAE970Y."YX;6Q02P$"% ,4    " #Q1E58RMOYY)H#  " %   &0
M        @(&N' ( >&PO=V]R:W-H965T<R]S:&5E=#DY+GAM;%!+ 0(4 Q0
M   ( /%&55A9/\*Z? (  ),&   :              " @7\@ @!X;"]W;W)K
M<VAE971S+W-H965T,3 P+GAM;%!+ 0(4 Q0    ( /%&55A3?R_*Q0,  '\,
M   :              " @3,C @!X;"]W;W)K<VAE971S+W-H965T,3 Q+GAM
M;%!+ 0(4 Q0    ( /%&55BV^!H5N (  ,8'   :              " @3 G
M @!X;"]W;W)K<VAE971S+W-H965T,3 R+GAM;%!+ 0(4 Q0    ( /%&55AC
M@:F--0(  -4$   :              " @2 J @!X;"]W;W)K<VAE971S+W-H
M965T,3 S+GAM;%!+ 0(4 Q0    ( /%&55B)(<)D2@@  % \   :
M      " @8TL @!X;"]W;W)K<VAE971S+W-H965T,3 T+GAM;%!+ 0(4 Q0
M   ( /%&55C#NL!MN08  )<U   :              " @0\U @!X;"]W;W)K
M<VAE971S+W-H965T,3 U+GAM;%!+ 0(4 Q0    ( /%&55BWQ"_SO@,  !T0
M   :              " @0 \ @!X;"]W;W)K<VAE971S+W-H965T,3 V+GAM
M;%!+ 0(4 Q0    ( /%&55CU0S0'40,  (X5   -              "  ?8_
M @!X;"]S='EL97,N>&UL4$L! A0#%     @ \4956)>*NQS     $P(   L
M             ( !<D," %]R96QS+RYR96QS4$L! A0#%     @ \4956$8W
MGJ N!P  844   \              ( !6T0" 'AL+W=O<FMB;V]K+GAM;%!+
M 0(4 Q0    ( /%&55CC#:S'_P(  $4^   :              "  ;9+ @!X
M;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<U!+ 0(4 Q0    ( /%&55BA0-8C
M;0(  /\[   3              "  >U. @!;0V]N=&5N=%]4>7!E<UTN>&UL
64$L%!@    !R '( 7!\  (M1 @    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>124
<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>125
<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>127
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.0.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>318</ContextCount>
  <ElementCount>473</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>83</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>10</UnitCount>
  <MyReports>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>0000001 - Document - Cover Page</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/CoverPage</Role>
      <ShortName>Cover Page</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>0000002 - Document - Audit Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/AuditInformation</Role>
      <ShortName>Audit Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>0000003 - Statement - Consolidated Statements of Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome</Role>
      <ShortName>Consolidated Statements of Income</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>0000004 - Statement - Consolidated Statements of Comprehensive Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/ConsolidatedStatementsofComprehensiveIncome</Role>
      <ShortName>Consolidated Statements of Comprehensive Income</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>0000005 - Statement - Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/ConsolidatedBalanceSheets</Role>
      <ShortName>Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>0000006 - Statement - Consolidated Balance Sheets (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/ConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>Consolidated Balance Sheets (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>0000007 - Statement - Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows</Role>
      <ShortName>Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>0000008 - Statement - Consolidated Statements of Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity</Role>
      <ShortName>Consolidated Statements of Stockholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>0000009 - Statement - Consolidated Statements of Stockholders' Equity (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquityParenthetical</Role>
      <ShortName>Consolidated Statements of Stockholders' Equity (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>0000010 - Disclosure - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/SummaryofSignificantAccountingPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>0000011 - Disclosure - Revenue (Notes)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://www.gibraltar1.com/role/RevenueNotes</Role>
      <ShortName>Revenue (Notes)</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>0000012 - Disclosure - Accounts Receivable</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/AccountsReceivable</Role>
      <ShortName>Accounts Receivable</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>0000013 - Disclosure - Inventories, Net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/InventoriesNet</Role>
      <ShortName>Inventories, Net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>0000014 - Disclosure - Property, Plant, and Equipment, Net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/PropertyPlantandEquipmentNet</Role>
      <ShortName>Property, Plant, and Equipment, Net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>0000015 - Disclosure - Acquisitions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/Acquisitions</Role>
      <ShortName>Acquisitions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>0000016 - Disclosure - Goodwill and Related Intangible Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssets</Role>
      <ShortName>Goodwill and Related Intangible Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>0000017 - Disclosure - Accrued Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/AccruedExpenses</Role>
      <ShortName>Accrued Expenses</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>0000018 - Disclosure - Debt</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/Debt</Role>
      <ShortName>Debt</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>0000019 - Disclosure - Pension and Other Postretirement Benefits</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefits</Role>
      <ShortName>Pension and Other Postretirement Benefits</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>0000020 - Disclosure - Accumulated Other Comprehensive (Loss) Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncome</Role>
      <ShortName>Accumulated Other Comprehensive (Loss) Income</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>0000021 - Disclosure - Equity-Based Compensation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/EquityBasedCompensation</Role>
      <ShortName>Equity-Based Compensation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>0000022 - Disclosure - Fair Value Measurements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/FairValueMeasurements</Role>
      <ShortName>Fair Value Measurements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>0000023 - Disclosure - Discontinued Operations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/DiscontinuedOperations</Role>
      <ShortName>Discontinued Operations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>0000024 - Disclosure - Exit Activity Costs and Asset Impairments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairments</Role>
      <ShortName>Exit Activity Costs and Asset Impairments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>0000025 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/IncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>0000026 - Disclosure - Earnings per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/EarningsperShare</Role>
      <ShortName>Earnings per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>0000027 - Disclosure - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/Leases</Role>
      <ShortName>Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>0000028 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/CommitmentsandContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>0000029 - Disclosure - Segment Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/SegmentInformation</Role>
      <ShortName>Segment Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>29</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>9954471 - Disclosure - Summary of Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/SummaryofSignificantAccountingPolicies</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>9954472 - Disclosure - Summary of Significant Accounting Policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesTables</Role>
      <ShortName>Summary of Significant Accounting Policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/SummaryofSignificantAccountingPolicies</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>9954473 - Disclosure - Revenue (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/RevenueTables</Role>
      <ShortName>Revenue (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/RevenueNotes</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>9954474 - Disclosure - Accounts Receivable (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/AccountsReceivableTables</Role>
      <ShortName>Accounts Receivable (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/AccountsReceivable</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>9954475 - Disclosure - Inventories, Net (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/InventoriesNetTables</Role>
      <ShortName>Inventories, Net (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/InventoriesNet</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>9954476 - Disclosure - Property, Plant, and Equipment, Net (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetTables</Role>
      <ShortName>Property, Plant, and Equipment, Net (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/PropertyPlantandEquipmentNet</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>9954477 - Disclosure - Acquisitions (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/AcquisitionsTables</Role>
      <ShortName>Acquisitions (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/Acquisitions</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>9954478 - Disclosure - Goodwill and Related Intangible Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsTables</Role>
      <ShortName>Goodwill and Related Intangible Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssets</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>9954479 - Disclosure - Accrued Expenses (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/AccruedExpensesTables</Role>
      <ShortName>Accrued Expenses (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/AccruedExpenses</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>9954480 - Disclosure - Debt (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/DebtTables</Role>
      <ShortName>Debt (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/Debt</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>9954481 - Disclosure - Pension and Other Postretirement Benefits (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsTables</Role>
      <ShortName>Pension and Other Postretirement Benefits (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefits</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>9954482 - Disclosure - Accumulated Other Comprehensive (Loss) Income (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeTables</Role>
      <ShortName>Accumulated Other Comprehensive (Loss) Income (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncome</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>9954483 - Disclosure - Equity-Based Compensation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/EquityBasedCompensationTables</Role>
      <ShortName>Equity-Based Compensation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/EquityBasedCompensation</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>9954484 - Disclosure - Exit Activity Costs and Asset Impairments (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsTables</Role>
      <ShortName>Exit Activity Costs and Asset Impairments (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairments</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>9954485 - Disclosure - Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/IncomeTaxesTables</Role>
      <ShortName>Income Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/IncomeTaxes</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>9954486 - Disclosure - Earnings per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/EarningsperShareTables</Role>
      <ShortName>Earnings per Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/EarningsperShare</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>9954487 - Disclosure - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/LeasesTables</Role>
      <ShortName>Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/Leases</ParentRole>
      <Position>46</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>9954488 - Disclosure - Segment Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/SegmentInformationTables</Role>
      <ShortName>Segment Information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/SegmentInformation</ParentRole>
      <Position>47</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>9954489 - Disclosure - Summary of Significant Accounting Policies (Summary of Activity Recorded within the Allowance for Doubtful Accounts) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesSummaryofActivityRecordedwithintheAllowanceforDoubtfulAccountsDetails</Role>
      <ShortName>Summary of Significant Accounting Policies (Summary of Activity Recorded within the Allowance for Doubtful Accounts) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesTables</ParentRole>
      <Position>48</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>9954490 - Disclosure - Summary of Significant Accounting Policies (Narrative) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails</Role>
      <ShortName>Summary of Significant Accounting Policies (Narrative) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesTables</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>9954491 - Disclosure - Summary of Significant Accounting Policies (Summary of Interest Capitalized and Depreciation Expense) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesSummaryofInterestCapitalizedandDepreciationExpenseDetails</Role>
      <ShortName>Summary of Significant Accounting Policies (Summary of Interest Capitalized and Depreciation Expense) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesTables</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>9954492 - Disclosure - Revenue - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/RevenueNarrativeDetails</Role>
      <ShortName>Revenue - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>9954493 - Disclosure - Revenue - Contract Assets and Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/RevenueContractAssetsandLiabilitiesDetails</Role>
      <ShortName>Revenue - Contract Assets and Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>9954494 - Disclosure - Accounts Receivable (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/AccountsReceivableDetails</Role>
      <ShortName>Accounts Receivable (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/AccountsReceivableTables</ParentRole>
      <Position>53</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>9954495 - Disclosure - Inventories, Net (Schedule of Inventories) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/InventoriesNetScheduleofInventoriesDetails</Role>
      <ShortName>Inventories, Net (Schedule of Inventories) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/InventoriesNetTables</ParentRole>
      <Position>54</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>9954496 - Disclosure - Inventories, Net (Summary of Activity within the Reserve for Excess, Obsolete, and Slow Moving Inventory) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/InventoriesNetSummaryofActivitywithintheReserveforExcessObsoleteandSlowMovingInventoryDetails</Role>
      <ShortName>Inventories, Net (Summary of Activity within the Reserve for Excess, Obsolete, and Slow Moving Inventory) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/InventoriesNetTables</ParentRole>
      <Position>55</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>9954497 - Disclosure - Property, Plant, and Equipment, Net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetDetails</Role>
      <ShortName>Property, Plant, and Equipment, Net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetTables</ParentRole>
      <Position>56</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>9954498 - Disclosure - Acquisitions (Narrative) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails</Role>
      <ShortName>Acquisitions (Narrative) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/AcquisitionsTables</ParentRole>
      <Position>57</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>9954499 - Disclosure - Acquisitions (Schedule of Allocation of the Purchase Price Consideration of the Fair Value of Assets Acquired and Liabilities Assumed) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails</Role>
      <ShortName>Acquisitions (Schedule of Allocation of the Purchase Price Consideration of the Fair Value of Assets Acquired and Liabilities Assumed) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/AcquisitionsTables</ParentRole>
      <Position>58</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>9954500 - Disclosure - Acquisitions (Schedule of Acquired Intangible Assets) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/AcquisitionsScheduleofAcquiredIntangibleAssetsDetails</Role>
      <ShortName>Acquisitions (Schedule of Acquired Intangible Assets) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/AcquisitionsTables</ParentRole>
      <Position>59</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>9954501 - Disclosure - Acquisitions (Acquisition Related Costs) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/AcquisitionsAcquisitionRelatedCostsDetails</Role>
      <ShortName>Acquisitions (Acquisition Related Costs) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/AcquisitionsTables</ParentRole>
      <Position>60</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>9954502 - Disclosure - Goodwill and Related Intangible Assets (Schedule of Changes in Carrying Amount of Goodwill) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails</Role>
      <ShortName>Goodwill and Related Intangible Assets (Schedule of Changes in Carrying Amount of Goodwill) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsTables</ParentRole>
      <Position>61</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>9954503 - Disclosure - Goodwill and Related Intangible Assets (Narrative) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsNarrativeDetails</Role>
      <ShortName>Goodwill and Related Intangible Assets (Narrative) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsTables</ParentRole>
      <Position>62</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>9954504 - Disclosure - Goodwill and Related Intangible Assets (Schedule of Acquired Intangible Assets) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails</Role>
      <ShortName>Goodwill and Related Intangible Assets (Schedule of Acquired Intangible Assets) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsTables</ParentRole>
      <Position>63</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>9954505 - Disclosure - Goodwill and Related Intangible Assets (Schedule of Impairment Charges) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofImpairmentChargesDetails</Role>
      <ShortName>Goodwill and Related Intangible Assets (Schedule of Impairment Charges) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsTables</ParentRole>
      <Position>64</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>9954506 - Disclosure - Goodwill and Related Intangible Assets (Schedule of Amortization Expense) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails</Role>
      <ShortName>Goodwill and Related Intangible Assets (Schedule of Amortization Expense) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsTables</ParentRole>
      <Position>65</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>9954507 - Disclosure - Goodwill and Related Intangible Assets (Schedule of Future Amortization Expense) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofFutureAmortizationExpenseDetails</Role>
      <ShortName>Goodwill and Related Intangible Assets (Schedule of Future Amortization Expense) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsTables</ParentRole>
      <Position>66</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>9954508 - Disclosure - Accrued Expenses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/AccruedExpensesDetails</Role>
      <ShortName>Accrued Expenses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/AccruedExpensesTables</ParentRole>
      <Position>67</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>9954509 - Disclosure - Debt (Narrative) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/DebtNarrativeDetails</Role>
      <ShortName>Debt (Narrative) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/DebtTables</ParentRole>
      <Position>68</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>9954510 - Disclosure - Debt (Schedule of Cash Paid for Interest) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/DebtScheduleofCashPaidforInterestDetails</Role>
      <ShortName>Debt (Schedule of Cash Paid for Interest) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/DebtTables</ParentRole>
      <Position>69</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>9954511 - Disclosure - Pension and Other Postretirement Benefits (Schedule of Total Expense for All Retirement Plans) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsScheduleofTotalExpenseforAllRetirementPlansDetails</Role>
      <ShortName>Pension and Other Postretirement Benefits (Schedule of Total Expense for All Retirement Plans) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsTables</ParentRole>
      <Position>70</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>9954512 - Disclosure - Pension and Other Postretirement Benefits (Changes in the Accumulated Postretirement Benefit Obligation) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails</Role>
      <ShortName>Pension and Other Postretirement Benefits (Changes in the Accumulated Postretirement Benefit Obligation) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsTables</ParentRole>
      <Position>71</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>9954513 - Disclosure - Pension and Other Postretirement Benefits (Amounts Recognized in the Consolidated Financial Statements) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsAmountsRecognizedintheConsolidatedFinancialStatementsDetails</Role>
      <ShortName>Pension and Other Postretirement Benefits (Amounts Recognized in the Consolidated Financial Statements) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsTables</ParentRole>
      <Position>72</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>9954514 - Disclosure - Pension and Other Postretirement Benefits (Components of Net Periodic Postretirement Benefit Cost) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails</Role>
      <ShortName>Pension and Other Postretirement Benefits (Components of Net Periodic Postretirement Benefit Cost) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsTables</ParentRole>
      <Position>73</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>9954515 - Disclosure - Pension and Other Postretirement Benefits (Expected Benefit Payments from the Plan) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsExpectedBenefitPaymentsfromthePlanDetails</Role>
      <ShortName>Pension and Other Postretirement Benefits (Expected Benefit Payments from the Plan) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsTables</ParentRole>
      <Position>74</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>9954516 - Disclosure - Accumulated Other Comprehensive (Loss) Income (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeDetails</Role>
      <ShortName>Accumulated Other Comprehensive (Loss) Income (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeTables</ParentRole>
      <Position>75</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>9954517 - Disclosure - Equity-Based Compensation (Narrative) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails</Role>
      <ShortName>Equity-Based Compensation (Narrative) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/EquityBasedCompensationTables</ParentRole>
      <Position>76</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>9954518 - Disclosure - Equity-Based Compensation (Summary of Compensation Expense Connection with Awards) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofCompensationExpenseConnectionwithAwardsDetails</Role>
      <ShortName>Equity-Based Compensation (Summary of Compensation Expense Connection with Awards) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/EquityBasedCompensationTables</ParentRole>
      <Position>77</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>9954519 - Disclosure - Equity-Based Compensation (Schedule of Number of Awards and Weighted Average Grant Date Fair Value) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails</Role>
      <ShortName>Equity-Based Compensation (Schedule of Number of Awards and Weighted Average Grant Date Fair Value) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/EquityBasedCompensationTables</ParentRole>
      <Position>78</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>9954520 - Disclosure - Equity-Based Compensation (Summary of Ranges of Outstanding and Exercisable Options) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofRangesofOutstandingandExercisableOptionsDetails</Role>
      <ShortName>Equity-Based Compensation (Summary of Ranges of Outstanding and Exercisable Options) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/EquityBasedCompensationTables</ParentRole>
      <Position>79</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>9954521 - Disclosure - Equity-Based Compensation (Summary of Stock Option Transactions) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofStockOptionTransactionsDetails</Role>
      <ShortName>Equity-Based Compensation (Summary of Stock Option Transactions) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/EquityBasedCompensationTables</ParentRole>
      <Position>80</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>9954522 - Disclosure - Equity-Based Compensation (Summary of Information about Restricted Stock Units and Weighted Average Grant Date Fair Value) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails</Role>
      <ShortName>Equity-Based Compensation (Summary of Information about Restricted Stock Units and Weighted Average Grant Date Fair Value) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/EquityBasedCompensationTables</ParentRole>
      <Position>81</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>9954523 - Disclosure - Equity-Based Compensation (Aggregate Intrinsic Value of Options Exercised and Aggregate Fair Value of Restricted Stock Units and Restricted Shares that Vested) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/EquityBasedCompensationAggregateIntrinsicValueofOptionsExercisedandAggregateFairValueofRestrictedStockUnitsandRestrictedSharesthatVestedDetails</Role>
      <ShortName>Equity-Based Compensation (Aggregate Intrinsic Value of Options Exercised and Aggregate Fair Value of Restricted Stock Units and Restricted Shares that Vested) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/EquityBasedCompensationTables</ParentRole>
      <Position>82</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>9954524 - Disclosure - Equity-Based Compensation (Cash Paid to Settle Liability Awards) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/EquityBasedCompensationCashPaidtoSettleLiabilityAwardsDetails</Role>
      <ShortName>Equity-Based Compensation (Cash Paid to Settle Liability Awards) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/EquityBasedCompensationTables</ParentRole>
      <Position>83</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>9954525 - Disclosure - Fair Value Measurements (Narrative) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/FairValueMeasurementsNarrativeDetails</Role>
      <ShortName>Fair Value Measurements (Narrative) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/FairValueMeasurements</ParentRole>
      <Position>84</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>9954526 - Disclosure - Discontinued Operations (Narrative) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails</Role>
      <ShortName>Discontinued Operations (Narrative) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/DiscontinuedOperations</ParentRole>
      <Position>85</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>9954527 - Disclosure - Exit Activity Costs and Asset Impairments (Narrative) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsNarrativeDetails</Role>
      <ShortName>Exit Activity Costs and Asset Impairments (Narrative) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsTables</ParentRole>
      <Position>86</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>9954528 - Disclosure - Exit Activity Costs and Asset Impairments (Schedule Of Asset Impairment Charges Related To Restructuring Activities) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsScheduleOfAssetImpairmentChargesRelatedToRestructuringActivitiesDetails</Role>
      <ShortName>Exit Activity Costs and Asset Impairments (Schedule Of Asset Impairment Charges Related To Restructuring Activities) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsTables</ParentRole>
      <Position>87</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R88.htm</HtmlFileName>
      <LongName>9954529 - Disclosure - Exit Activity Costs and Asset Impairments (Summary Of Exit Activity Costs And Asset Impairments Recorded in the Consolidated Statements of Operations) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryOfExitActivityCostsAndAssetImpairmentsRecordedintheConsolidatedStatementsofOperationsDetails</Role>
      <ShortName>Exit Activity Costs and Asset Impairments (Summary Of Exit Activity Costs And Asset Impairments Recorded in the Consolidated Statements of Operations) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsTables</ParentRole>
      <Position>88</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R89.htm</HtmlFileName>
      <LongName>9954530 - Disclosure - Exit Activity Costs and Asset Impairments (Reconciles Of Liability For Exit Activity Costs Relating To Facility Consolidation Efforts) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsReconcilesOfLiabilityForExitActivityCostsRelatingToFacilityConsolidationEffortsDetails</Role>
      <ShortName>Exit Activity Costs and Asset Impairments (Reconciles Of Liability For Exit Activity Costs Relating To Facility Consolidation Efforts) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsTables</ParentRole>
      <Position>89</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R90.htm</HtmlFileName>
      <LongName>9954531 - Disclosure - Income Taxes (Components of Income (Loss) before Taxes from Continuing Operations) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/IncomeTaxesComponentsofIncomeLossbeforeTaxesfromContinuingOperationsDetails</Role>
      <ShortName>Income Taxes (Components of Income (Loss) before Taxes from Continuing Operations) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/IncomeTaxesTables</ParentRole>
      <Position>90</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R91.htm</HtmlFileName>
      <LongName>9954532 - Disclosure - Income Taxes (Benefit of) Provision for Income Taxes) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails</Role>
      <ShortName>Income Taxes (Benefit of) Provision for Income Taxes) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/IncomeTaxesTables</ParentRole>
      <Position>91</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R92.htm</HtmlFileName>
      <LongName>9954533 - Disclosure - Income Taxes (Provision for Income Taxes from Continuing Operations Differs from the Federal Statutory Rate) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails</Role>
      <ShortName>Income Taxes (Provision for Income Taxes from Continuing Operations Differs from the Federal Statutory Rate) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/IncomeTaxesTables</ParentRole>
      <Position>92</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R93.htm</HtmlFileName>
      <LongName>9954534 - Disclosure - Income Taxes (Deferred Tax Liabilities (Assets)) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails</Role>
      <ShortName>Income Taxes (Deferred Tax Liabilities (Assets)) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/IncomeTaxesTables</ParentRole>
      <Position>93</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R94.htm</HtmlFileName>
      <LongName>9954535 - Disclosure - Income Taxes (Narrative) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails</Role>
      <ShortName>Income Taxes (Narrative) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/IncomeTaxesTables</ParentRole>
      <Position>94</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R95.htm</HtmlFileName>
      <LongName>9954536 - Disclosure - Income Taxes (Summary of Valuation Allowance) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/IncomeTaxesSummaryofValuationAllowanceDetails</Role>
      <ShortName>Income Taxes (Summary of Valuation Allowance) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/IncomeTaxesTables</ParentRole>
      <Position>95</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R96.htm</HtmlFileName>
      <LongName>9954537 - Disclosure - Income Taxes (Income Taxes Paid, Net of Tax Refunds) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/IncomeTaxesIncomeTaxesPaidNetofTaxRefundsDetails</Role>
      <ShortName>Income Taxes (Income Taxes Paid, Net of Tax Refunds) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/IncomeTaxesTables</ParentRole>
      <Position>96</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R97.htm</HtmlFileName>
      <LongName>9954538 - Disclosure - Earnings per Share (Narrative) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/EarningsperShareNarrativeDetails</Role>
      <ShortName>Earnings per Share (Narrative) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/EarningsperShareTables</ParentRole>
      <Position>97</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R98.htm</HtmlFileName>
      <LongName>9954539 - Disclosure - Earnings per Share (Schedule of Computation of Basic and Diluted Earnings per Share) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/EarningsperShareScheduleofComputationofBasicandDilutedEarningsperShareDetails</Role>
      <ShortName>Earnings per Share (Schedule of Computation of Basic and Diluted Earnings per Share) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/EarningsperShareTables</ParentRole>
      <Position>98</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R99.htm</HtmlFileName>
      <LongName>9954540 - Disclosure - Leases - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/LeasesNarrativeDetails</Role>
      <ShortName>Leases - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>99</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R100.htm</HtmlFileName>
      <LongName>9954541 - Disclosure - Leases - Assets and Liabilities of Lessee (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/LeasesAssetsandLiabilitiesofLesseeDetails</Role>
      <ShortName>Leases - Assets and Liabilities of Lessee (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>100</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R101.htm</HtmlFileName>
      <LongName>9954542 - Disclosure - Leases - Schedule of Lease Cost and Assumptions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/LeasesScheduleofLeaseCostandAssumptionsDetails</Role>
      <ShortName>Leases - Schedule of Lease Cost and Assumptions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>101</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R102.htm</HtmlFileName>
      <LongName>9954543 - Disclosure - Leases - Maturity of Lease Payments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails</Role>
      <ShortName>Leases - Maturity of Lease Payments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>102</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R103.htm</HtmlFileName>
      <LongName>9954544 - Disclosure - Segment Information (Narrative) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/SegmentInformationNarrativeDetails</Role>
      <ShortName>Segment Information (Narrative) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/SegmentInformationTables</ParentRole>
      <Position>103</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R104.htm</HtmlFileName>
      <LongName>9954545 - Disclosure - Segment Information (Measurements Used by Management to Assess Performance of Segments) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails</Role>
      <ShortName>Segment Information (Measurements Used by Management to Assess Performance of Segments) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/SegmentInformationTables</ParentRole>
      <Position>104</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R105.htm</HtmlFileName>
      <LongName>9954546 - Disclosure - Segment Information (Net Sales by Contract Type) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/SegmentInformationNetSalesbyContractTypeDetails</Role>
      <ShortName>Segment Information (Net Sales by Contract Type) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/SegmentInformationTables</ParentRole>
      <Position>105</Position>
    </Report>
    <Report instance="rock-20231231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R106.htm</HtmlFileName>
      <LongName>9954547 - Disclosure - Segment Information (Net Sales by Region or Origin and Long-Lived Assets by Region of Domicile) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.gibraltar1.com/role/SegmentInformationNetSalesbyRegionorOriginandLongLivedAssetsbyRegionofDomicileDetails</Role>
      <ShortName>Segment Information (Net Sales by Region or Origin and Long-Lived Assets by Region of Domicile) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.gibraltar1.com/role/SegmentInformationTables</ParentRole>
      <Position>106</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-K" isDefinitelyFs="true" isUsgaap="true" original="rock-20231231.htm">rock-20231231.htm</File>
    <File>rock-20231231.xsd</File>
    <File>rock-20231231_cal.xml</File>
    <File>rock-20231231_def.xml</File>
    <File>rock-20231231_lab.xml</File>
    <File>rock-20231231_pre.xml</File>
  </InputFiles>
  <SupplementalFiles>
    <File>rock-20231231_g1.jpg</File>
    <File>rock-20231231_g2.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="1299">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="39">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>130
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "rock-20231231.htm": {
   "nsprefix": "rock",
   "nsuri": "http://www.gibraltar1.com/20231231",
   "dts": {
    "inline": {
     "local": [
      "rock-20231231.htm"
     ]
    },
    "schema": {
     "local": [
      "rock-20231231.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/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/dei/2023/dei-2023.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "rock-20231231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "rock-20231231_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "rock-20231231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "rock-20231231_pre.xml"
     ]
    }
   },
   "keyStandard": 422,
   "keyCustom": 51,
   "axisStandard": 33,
   "axisCustom": 1,
   "memberStandard": 44,
   "memberCustom": 34,
   "hidden": {
    "total": 8,
    "http://fasb.org/us-gaap/2023": 3,
    "http://xbrl.sec.gov/dei/2023": 4,
    "http://www.gibraltar1.com/20231231": 1
   },
   "contextCount": 318,
   "entityCount": 1,
   "segmentCount": 83,
   "elementCount": 725,
   "unitCount": 10,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 1299,
    "http://xbrl.sec.gov/dei/2023": 39
   },
   "report": {
    "R1": {
     "role": "http://www.gibraltar1.com/role/CoverPage",
     "longName": "0000001 - Document - Cover Page",
     "shortName": "Cover Page",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://www.gibraltar1.com/role/AuditInformation",
     "longName": "0000002 - Document - Audit Information",
     "shortName": "Audit Information",
     "isDefault": "false",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "2",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "dei:AuditorName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "dei:AuditorName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome",
     "longName": "0000003 - Statement - Consolidated Statements of Income",
     "shortName": "Consolidated Statements of Income",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:Revenues",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:CostOfRevenue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R4": {
     "role": "http://www.gibraltar1.com/role/ConsolidatedStatementsofComprehensiveIncome",
     "longName": "0000004 - Statement - Consolidated Statements of Comprehensive Income",
     "shortName": "Consolidated Statements of Comprehensive Income",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ComprehensiveIncomeNetOfTax",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets",
     "longName": "0000005 - Statement - Consolidated Balance Sheets",
     "shortName": "Consolidated Balance Sheets",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R6": {
     "role": "http://www.gibraltar1.com/role/ConsolidatedBalanceSheetsParenthetical",
     "longName": "0000006 - Statement - Consolidated Balance Sheets (Parenthetical)",
     "shortName": "Consolidated Balance Sheets (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock",
       "us-gaap:TradeAndOtherAccountsReceivablePolicy",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:PreferredStockParOrStatedValuePerShare",
      "unitRef": "usdPerShare",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "us-gaap:PreferredStockParOrStatedValuePerShare",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R7": {
     "role": "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows",
     "longName": "0000007 - Statement - Consolidated Statements of Cash Flows",
     "shortName": "Consolidated Statements of Cash Flows",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "7",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AmortizationOfFinancingCostsAndDiscounts",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R8": {
     "role": "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity",
     "longName": "0000008 - Statement - Consolidated Statements of Stockholders' Equity",
     "shortName": "Consolidated Statements of Stockholders' Equity",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "8",
     "firstAnchor": {
      "contextRef": "c-11",
      "name": "us-gaap:SharesIssued",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-11",
      "name": "us-gaap:SharesIssued",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquityParenthetical",
     "longName": "0000009 - Statement - Consolidated Statements of Stockholders' Equity (Parenthetical)",
     "shortName": "Consolidated Statements of Stockholders' Equity (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "9",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "rock:OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R10": {
     "role": "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPolicies",
     "longName": "0000010 - Disclosure - Summary of Significant Accounting Policies",
     "shortName": "Summary of Significant Accounting Policies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://www.gibraltar1.com/role/RevenueNotes",
     "longName": "0000011 - Disclosure - Revenue (Notes)",
     "shortName": "Revenue (Notes)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://www.gibraltar1.com/role/AccountsReceivable",
     "longName": "0000012 - Disclosure - Accounts Receivable",
     "shortName": "Accounts Receivable",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://www.gibraltar1.com/role/InventoriesNet",
     "longName": "0000013 - Disclosure - Inventories, Net",
     "shortName": "Inventories, Net",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://www.gibraltar1.com/role/PropertyPlantandEquipmentNet",
     "longName": "0000014 - Disclosure - Property, Plant, and Equipment, Net",
     "shortName": "Property, Plant, and Equipment, Net",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://www.gibraltar1.com/role/Acquisitions",
     "longName": "0000015 - Disclosure - Acquisitions",
     "shortName": "Acquisitions",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssets",
     "longName": "0000016 - Disclosure - Goodwill and Related Intangible Assets",
     "shortName": "Goodwill and Related Intangible Assets",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://www.gibraltar1.com/role/AccruedExpenses",
     "longName": "0000017 - Disclosure - Accrued Expenses",
     "shortName": "Accrued Expenses",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://www.gibraltar1.com/role/Debt",
     "longName": "0000018 - Disclosure - Debt",
     "shortName": "Debt",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:LongTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:LongTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefits",
     "longName": "0000019 - Disclosure - Pension and Other Postretirement Benefits",
     "shortName": "Pension and Other Postretirement Benefits",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:PostemploymentBenefitsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:PostemploymentBenefitsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncome",
     "longName": "0000020 - Disclosure - Accumulated Other Comprehensive (Loss) Income",
     "shortName": "Accumulated Other Comprehensive (Loss) Income",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ComprehensiveIncomeNoteTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ComprehensiveIncomeNoteTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://www.gibraltar1.com/role/EquityBasedCompensation",
     "longName": "0000021 - Disclosure - Equity-Based Compensation",
     "shortName": "Equity-Based Compensation",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://www.gibraltar1.com/role/FairValueMeasurements",
     "longName": "0000022 - Disclosure - Fair Value Measurements",
     "shortName": "Fair Value Measurements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://www.gibraltar1.com/role/DiscontinuedOperations",
     "longName": "0000023 - Disclosure - Discontinued Operations",
     "shortName": "Discontinued Operations",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairments",
     "longName": "0000024 - Disclosure - Exit Activity Costs and Asset Impairments",
     "shortName": "Exit Activity Costs and Asset Impairments",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "24",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://www.gibraltar1.com/role/IncomeTaxes",
     "longName": "0000025 - Disclosure - Income Taxes",
     "shortName": "Income Taxes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "25",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://www.gibraltar1.com/role/EarningsperShare",
     "longName": "0000026 - Disclosure - Earnings per Share",
     "shortName": "Earnings per Share",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "26",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://www.gibraltar1.com/role/Leases",
     "longName": "0000027 - Disclosure - Leases",
     "shortName": "Leases",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "27",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://www.gibraltar1.com/role/CommitmentsandContingencies",
     "longName": "0000028 - Disclosure - Commitments and Contingencies",
     "shortName": "Commitments and Contingencies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "28",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://www.gibraltar1.com/role/SegmentInformation",
     "longName": "0000029 - Disclosure - Segment Information",
     "shortName": "Segment Information",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "29",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesPolicies",
     "longName": "9954471 - Disclosure - Summary of Significant Accounting Policies (Policies)",
     "shortName": "Summary of Significant Accounting Policies (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "30",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ConsolidationPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ConsolidationPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesTables",
     "longName": "9954472 - Disclosure - Summary of Significant Accounting Policies (Tables)",
     "shortName": "Summary of Significant Accounting Policies (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "31",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:TradeAndOtherAccountsReceivablePolicy",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:TradeAndOtherAccountsReceivablePolicy",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://www.gibraltar1.com/role/RevenueTables",
     "longName": "9954473 - Disclosure - Revenue (Tables)",
     "shortName": "Revenue (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "32",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://www.gibraltar1.com/role/AccountsReceivableTables",
     "longName": "9954474 - Disclosure - Accounts Receivable (Tables)",
     "shortName": "Accounts Receivable (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "33",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://www.gibraltar1.com/role/InventoriesNetTables",
     "longName": "9954475 - Disclosure - Inventories, Net (Tables)",
     "shortName": "Inventories, Net (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "34",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetTables",
     "longName": "9954476 - Disclosure - Property, Plant, and Equipment, Net (Tables)",
     "shortName": "Property, Plant, and Equipment, Net (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "35",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R36": {
     "role": "http://www.gibraltar1.com/role/AcquisitionsTables",
     "longName": "9954477 - Disclosure - Acquisitions (Tables)",
     "shortName": "Acquisitions (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "36",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsTables",
     "longName": "9954478 - Disclosure - Goodwill and Related Intangible Assets (Tables)",
     "shortName": "Goodwill and Related Intangible Assets (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "37",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://www.gibraltar1.com/role/AccruedExpensesTables",
     "longName": "9954479 - Disclosure - Accrued Expenses (Tables)",
     "shortName": "Accrued Expenses (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "38",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://www.gibraltar1.com/role/DebtTables",
     "longName": "9954480 - Disclosure - Debt (Tables)",
     "shortName": "Debt (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "39",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "rock:ScheduleOfInterestCashPaymentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "rock:ScheduleOfInterestCashPaymentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsTables",
     "longName": "9954481 - Disclosure - Pension and Other Postretirement Benefits (Tables)",
     "shortName": "Pension and Other Postretirement Benefits (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "40",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfCostsOfRetirementPlansTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfCostsOfRetirementPlansTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeTables",
     "longName": "9954482 - Disclosure - Accumulated Other Comprehensive (Loss) Income (Tables)",
     "shortName": "Accumulated Other Comprehensive (Loss) Income (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "41",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://www.gibraltar1.com/role/EquityBasedCompensationTables",
     "longName": "9954483 - Disclosure - Equity-Based Compensation (Tables)",
     "shortName": "Equity-Based Compensation (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "42",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsTables",
     "longName": "9954484 - Disclosure - Exit Activity Costs and Asset Impairments (Tables)",
     "shortName": "Exit Activity Costs and Asset Impairments (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "43",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://www.gibraltar1.com/role/IncomeTaxesTables",
     "longName": "9954485 - Disclosure - Income Taxes (Tables)",
     "shortName": "Income Taxes (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "44",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://www.gibraltar1.com/role/EarningsperShareTables",
     "longName": "9954486 - Disclosure - Earnings per Share (Tables)",
     "shortName": "Earnings per Share (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "45",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R46": {
     "role": "http://www.gibraltar1.com/role/LeasesTables",
     "longName": "9954487 - Disclosure - Leases (Tables)",
     "shortName": "Leases (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "46",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R47": {
     "role": "http://www.gibraltar1.com/role/SegmentInformationTables",
     "longName": "9954488 - Disclosure - Segment Information (Tables)",
     "shortName": "Segment Information (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "47",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesSummaryofActivityRecordedwithintheAllowanceforDoubtfulAccountsDetails",
     "longName": "9954489 - Disclosure - Summary of Significant Accounting Policies (Summary of Activity Recorded within the Allowance for Doubtful Accounts) (Details)",
     "shortName": "Summary of Significant Accounting Policies (Summary of Activity Recorded within the Allowance for Doubtful Accounts) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "c-8",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock",
       "us-gaap:TradeAndOtherAccountsReceivablePolicy",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ProvisionForDoubtfulAccounts",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock",
       "us-gaap:TradeAndOtherAccountsReceivablePolicy",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R49": {
     "role": "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails",
     "longName": "9954490 - Disclosure - Summary of Significant Accounting Policies (Narrative) (Details)",
     "shortName": "Summary of Significant Accounting Policies (Narrative) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:NumberOfReportableSegments",
      "unitRef": "segment",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AdvertisingExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R50": {
     "role": "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesSummaryofInterestCapitalizedandDepreciationExpenseDetails",
     "longName": "9954491 - Disclosure - Summary of Significant Accounting Policies (Summary of Interest Capitalized and Depreciation Expense) (Details)",
     "shortName": "Summary of Significant Accounting Policies (Summary of Interest Capitalized and Depreciation Expense) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:Depreciation",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:Depreciation",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R51": {
     "role": "http://www.gibraltar1.com/role/RevenueNarrativeDetails",
     "longName": "9954492 - Disclosure - Revenue - Narrative (Details)",
     "shortName": "Revenue - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "c-7",
      "name": "rock:ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "0",
      "ancestors": [
       "rock:ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-7",
      "name": "rock:ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "0",
      "ancestors": [
       "rock:ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R52": {
     "role": "http://www.gibraltar1.com/role/RevenueContractAssetsandLiabilitiesDetails",
     "longName": "9954493 - Disclosure - Revenue - Contract Assets and Liabilities (Details)",
     "shortName": "Revenue - Contract Assets and Liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:ContractWithCustomerAssetNet",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R53": {
     "role": "http://www.gibraltar1.com/role/AccountsReceivableDetails",
     "longName": "9954494 - Disclosure - Accounts Receivable (Details)",
     "shortName": "Accounts Receivable (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R54": {
     "role": "http://www.gibraltar1.com/role/InventoriesNetScheduleofInventoriesDetails",
     "longName": "9954495 - Disclosure - Inventories, Net (Schedule of Inventories) (Details)",
     "shortName": "Inventories, Net (Schedule of Inventories) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "firstAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:InventoryRawMaterials",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:InventoryRawMaterials",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R55": {
     "role": "http://www.gibraltar1.com/role/InventoriesNetSummaryofActivitywithintheReserveforExcessObsoleteandSlowMovingInventoryDetails",
     "longName": "9954496 - Disclosure - Inventories, Net (Summary of Activity within the Reserve for Excess, Obsolete, and Slow Moving Inventory) (Details)",
     "shortName": "Inventories, Net (Summary of Activity within the Reserve for Excess, Obsolete, and Slow Moving Inventory) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "55",
     "firstAnchor": {
      "contextRef": "c-8",
      "name": "us-gaap:InventoryValuationReserves",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "rock:SummaryOfSlowMovingInventoryActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-10",
      "name": "us-gaap:InventoryValuationReserves",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "rock:SummaryOfSlowMovingInventoryActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R56": {
     "role": "http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetDetails",
     "longName": "9954497 - Disclosure - Property, Plant, and Equipment, Net (Details)",
     "shortName": "Property, Plant, and Equipment, Net (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "56",
     "firstAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:LandAndLandImprovements",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:LandAndLandImprovements",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R57": {
     "role": "http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails",
     "longName": "9954498 - Disclosure - Acquisitions (Narrative) (Details)",
     "shortName": "Acquisitions (Narrative) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "57",
     "firstAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:Goodwill",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-64",
      "name": "us-gaap:BusinessCombinationConsiderationTransferred1",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R58": {
     "role": "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails",
     "longName": "9954499 - Disclosure - Acquisitions (Schedule of Allocation of the Purchase Price Consideration of the Fair Value of Assets Acquired and Liabilities Assumed) (Details)",
     "shortName": "Acquisitions (Schedule of Allocation of the Purchase Price Consideration of the Fair Value of Assets Acquired and Liabilities Assumed) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:Goodwill",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-65",
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R59": {
     "role": "http://www.gibraltar1.com/role/AcquisitionsScheduleofAcquiredIntangibleAssetsDetails",
     "longName": "9954500 - Disclosure - Acquisitions (Schedule of Acquired Intangible Assets) (Details)",
     "shortName": "Acquisitions (Schedule of Acquired Intangible Assets) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "c-69",
      "name": "us-gaap:FinitelivedIntangibleAssetsAcquired1",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-69",
      "name": "us-gaap:FinitelivedIntangibleAssetsAcquired1",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R60": {
     "role": "http://www.gibraltar1.com/role/AcquisitionsAcquisitionRelatedCostsDetails",
     "longName": "9954501 - Disclosure - Acquisitions (Acquisition Related Costs) (Details)",
     "shortName": "Acquisitions (Acquisition Related Costs) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:BusinessCombinationAcquisitionRelatedCosts",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "rock:ScheduleofBusinessCombinationCostsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:BusinessCombinationAcquisitionRelatedCosts",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "rock:ScheduleofBusinessCombinationCostsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R61": {
     "role": "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails",
     "longName": "9954502 - Disclosure - Goodwill and Related Intangible Assets (Schedule of Changes in Carrying Amount of Goodwill) (Details)",
     "shortName": "Goodwill and Related Intangible Assets (Schedule of Changes in Carrying Amount of Goodwill) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "61",
     "firstAnchor": {
      "contextRef": "c-8",
      "name": "us-gaap:Goodwill",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:GoodwillAcquiredDuringPeriod",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfGoodwillTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R62": {
     "role": "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsNarrativeDetails",
     "longName": "9954503 - Disclosure - Goodwill and Related Intangible Assets (Narrative) (Details)",
     "shortName": "Goodwill and Related Intangible Assets (Narrative) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "62",
     "firstAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:GoodwillImpairedAccumulatedImpairmentLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:GoodwillImpairedAccumulatedImpairmentLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R63": {
     "role": "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails",
     "longName": "9954504 - Disclosure - Goodwill and Related Intangible Assets (Schedule of Acquired Intangible Assets) (Details)",
     "shortName": "Goodwill and Related Intangible Assets (Schedule of Acquired Intangible Assets) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "63",
     "firstAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R64": {
     "role": "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofImpairmentChargesDetails",
     "longName": "9954505 - Disclosure - Goodwill and Related Intangible Assets (Schedule of Impairment Charges) (Details)",
     "shortName": "Goodwill and Related Intangible Assets (Schedule of Impairment Charges) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "64",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R65": {
     "role": "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails",
     "longName": "9954506 - Disclosure - Goodwill and Related Intangible Assets (Schedule of Amortization Expense) (Details)",
     "shortName": "Goodwill and Related Intangible Assets (Schedule of Amortization Expense) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "65",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R66": {
     "role": "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofFutureAmortizationExpenseDetails",
     "longName": "9954507 - Disclosure - Goodwill and Related Intangible Assets (Schedule of Future Amortization Expense) (Details)",
     "shortName": "Goodwill and Related Intangible Assets (Schedule of Future Amortization Expense) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "66",
     "firstAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R67": {
     "role": "http://www.gibraltar1.com/role/AccruedExpensesDetails",
     "longName": "9954508 - Disclosure - Accrued Expenses (Details)",
     "shortName": "Accrued Expenses (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "67",
     "firstAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R68": {
     "role": "http://www.gibraltar1.com/role/DebtNarrativeDetails",
     "longName": "9954509 - Disclosure - Debt (Narrative) (Details)",
     "shortName": "Debt (Narrative) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "68",
     "firstAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:LongTermDebt",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:DeferredFinanceCostsNet",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R69": {
     "role": "http://www.gibraltar1.com/role/DebtScheduleofCashPaidforInterestDetails",
     "longName": "9954510 - Disclosure - Debt (Schedule of Cash Paid for Interest) (Details)",
     "shortName": "Debt (Schedule of Cash Paid for Interest) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "69",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:InterestIncomeExpenseNet",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "rock:ScheduleOfInterestCashPaymentTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:InterestIncomeOther",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "rock:ScheduleOfInterestCashPaymentTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R70": {
     "role": "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsScheduleofTotalExpenseforAllRetirementPlansDetails",
     "longName": "9954511 - Disclosure - Pension and Other Postretirement Benefits (Schedule of Total Expense for All Retirement Plans) (Details)",
     "shortName": "Pension and Other Postretirement Benefits (Schedule of Total Expense for All Retirement Plans) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "70",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:PostemploymentBenefitsPeriodExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfCostsOfRetirementPlansTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:PostemploymentBenefitsPeriodExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfCostsOfRetirementPlansTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R71": {
     "role": "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails",
     "longName": "9954512 - Disclosure - Pension and Other Postretirement Benefits (Changes in the Accumulated Postretirement Benefit Obligation) (Details)",
     "shortName": "Pension and Other Postretirement Benefits (Changes in the Accumulated Postretirement Benefit Obligation) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "71",
     "firstAnchor": {
      "contextRef": "c-138",
      "name": "us-gaap:DefinedBenefitPlanBenefitObligation",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfNetFundedStatusTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-134",
      "name": "us-gaap:DefinedBenefitPlanActuarialGainLoss",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfNetFundedStatusTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R72": {
     "role": "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsAmountsRecognizedintheConsolidatedFinancialStatementsDetails",
     "longName": "9954513 - Disclosure - Pension and Other Postretirement Benefits (Amounts Recognized in the Consolidated Financial Statements) (Details)",
     "shortName": "Pension and Other Postretirement Benefits (Amounts Recognized in the Consolidated Financial Statements) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "72",
     "firstAnchor": {
      "contextRef": "c-140",
      "name": "us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-140",
      "name": "us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R73": {
     "role": "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails",
     "longName": "9954514 - Disclosure - Pension and Other Postretirement Benefits (Components of Net Periodic Postretirement Benefit Cost) (Details)",
     "shortName": "Pension and Other Postretirement Benefits (Components of Net Periodic Postretirement Benefit Cost) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "73",
     "firstAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:DefinedBenefitPlanUltimateHealthCareCostTrendRate1",
      "unitRef": "number",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "3",
      "ancestors": [
       "span",
       "div",
       "us-gaap:ScheduleOfNetBenefitCostsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:DefinedBenefitPlanUltimateHealthCareCostTrendRate1",
      "unitRef": "number",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "3",
      "ancestors": [
       "span",
       "div",
       "us-gaap:ScheduleOfNetBenefitCostsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R74": {
     "role": "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsExpectedBenefitPaymentsfromthePlanDetails",
     "longName": "9954515 - Disclosure - Pension and Other Postretirement Benefits (Expected Benefit Payments from the Plan) (Details)",
     "shortName": "Pension and Other Postretirement Benefits (Expected Benefit Payments from the Plan) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "74",
     "firstAnchor": {
      "contextRef": "c-140",
      "name": "us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfExpectedBenefitPaymentsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-140",
      "name": "us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfExpectedBenefitPaymentsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R75": {
     "role": "http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeDetails",
     "longName": "9954516 - Disclosure - Accumulated Other Comprehensive (Loss) Income (Details)",
     "shortName": "Accumulated Other Comprehensive (Loss) Income (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "75",
     "firstAnchor": {
      "contextRef": "c-8",
      "name": "us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R76": {
     "role": "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails",
     "longName": "9954517 - Disclosure - Equity-Based Compensation (Narrative) (Details)",
     "shortName": "Equity-Based Compensation (Narrative) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "76",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R77": {
     "role": "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofCompensationExpenseConnectionwithAwardsDetails",
     "longName": "9954518 - Disclosure - Equity-Based Compensation (Summary of Compensation Expense Connection with Awards) (Details)",
     "shortName": "Equity-Based Compensation (Summary of Compensation Expense Connection with Awards) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "77",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ShareBasedCompensation",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R78": {
     "role": "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails",
     "longName": "9954519 - Disclosure - Equity-Based Compensation (Schedule of Number of Awards and Weighted Average Grant Date Fair Value) (Details)",
     "shortName": "Equity-Based Compensation (Schedule of Number of Awards and Weighted Average Grant Date Fair Value) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "78",
     "firstAnchor": {
      "contextRef": "c-182",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-158",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R79": {
     "role": "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofRangesofOutstandingandExercisableOptionsDetails",
     "longName": "9954520 - Disclosure - Equity-Based Compensation (Summary of Ranges of Outstanding and Exercisable Options) (Details)",
     "shortName": "Equity-Based Compensation (Summary of Ranges of Outstanding and Exercisable Options) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "79",
     "firstAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-173",
      "name": "us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit",
      "unitRef": "usdPerShare",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "2",
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R80": {
     "role": "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofStockOptionTransactionsDetails",
     "longName": "9954521 - Disclosure - Equity-Based Compensation (Summary of Stock Option Transactions) (Details)",
     "shortName": "Equity-Based Compensation (Summary of Stock Option Transactions) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "80",
     "firstAnchor": {
      "contextRef": "c-8",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R81": {
     "role": "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails",
     "longName": "9954522 - Disclosure - Equity-Based Compensation (Summary of Information about Restricted Stock Units and Weighted Average Grant Date Fair Value) (Details)",
     "shortName": "Equity-Based Compensation (Summary of Information about Restricted Stock Units and Weighted Average Grant Date Fair Value) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "81",
     "firstAnchor": {
      "contextRef": "c-4",
      "name": "rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "0",
      "ancestors": [
       "span",
       "div",
       "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-4",
      "name": "rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "0",
      "ancestors": [
       "span",
       "div",
       "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R82": {
     "role": "http://www.gibraltar1.com/role/EquityBasedCompensationAggregateIntrinsicValueofOptionsExercisedandAggregateFairValueofRestrictedStockUnitsandRestrictedSharesthatVestedDetails",
     "longName": "9954523 - Disclosure - Equity-Based Compensation (Aggregate Intrinsic Value of Options Exercised and Aggregate Fair Value of Restricted Stock Units and Restricted Shares that Vested) (Details)",
     "shortName": "Equity-Based Compensation (Aggregate Intrinsic Value of Options Exercised and Aggregate Fair Value of Restricted Stock Units and Restricted Shares that Vested) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "82",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "rock:ScheduleOfFairValueOfOptionsExercisedAndOtherAwardsVestedTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "rock:ScheduleOfFairValueOfOptionsExercisedAndOtherAwardsVestedTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R83": {
     "role": "http://www.gibraltar1.com/role/EquityBasedCompensationCashPaidtoSettleLiabilityAwardsDetails",
     "longName": "9954524 - Disclosure - Equity-Based Compensation (Cash Paid to Settle Liability Awards) (Details)",
     "shortName": "Equity-Based Compensation (Cash Paid to Settle Liability Awards) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "83",
     "firstAnchor": {
      "contextRef": "c-205",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "rock:CashPaidToSettleLiabilityAwardsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-205",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "rock:CashPaidToSettleLiabilityAwardsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R84": {
     "role": "http://www.gibraltar1.com/role/FairValueMeasurementsNarrativeDetails",
     "longName": "9954525 - Disclosure - Fair Value Measurements (Narrative) (Details)",
     "shortName": "Fair Value Measurements (Narrative) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "84",
     "firstAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:LongTermDebt",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R85": {
     "role": "http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails",
     "longName": "9954526 - Disclosure - Discontinued Operations (Narrative) (Details)",
     "shortName": "Discontinued Operations (Narrative) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "85",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-5",
      "name": "rock:DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R86": {
     "role": "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsNarrativeDetails",
     "longName": "9954527 - Disclosure - Exit Activity Costs and Asset Impairments (Narrative) (Details)",
     "shortName": "Exit Activity Costs and Asset Impairments (Narrative) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "86",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "rock:RestructuringandRelatedCostNumberofFacilitiestobeClosed",
      "unitRef": "facility",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "rock:RestructuringandRelatedCostNumberofFacilitiestobeClosed",
      "unitRef": "facility",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R87": {
     "role": "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsScheduleOfAssetImpairmentChargesRelatedToRestructuringActivitiesDetails",
     "longName": "9954528 - Disclosure - Exit Activity Costs and Asset Impairments (Schedule Of Asset Impairment Charges Related To Restructuring Activities) (Details)",
     "shortName": "Exit Activity Costs and Asset Impairments (Schedule Of Asset Impairment Charges Related To Restructuring Activities) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "87",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:BusinessExitCosts1",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:RestructuringSettlementAndImpairmentProvisions",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R88": {
     "role": "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryOfExitActivityCostsAndAssetImpairmentsRecordedintheConsolidatedStatementsofOperationsDetails",
     "longName": "9954529 - Disclosure - Exit Activity Costs and Asset Impairments (Summary Of Exit Activity Costs And Asset Impairments Recorded in the Consolidated Statements of Operations) (Details)",
     "shortName": "Exit Activity Costs and Asset Impairments (Summary Of Exit Activity Costs And Asset Impairments Recorded in the Consolidated Statements of Operations) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "88",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:RestructuringCharges",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-232",
      "name": "us-gaap:RestructuringCharges",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R89": {
     "role": "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsReconcilesOfLiabilityForExitActivityCostsRelatingToFacilityConsolidationEffortsDetails",
     "longName": "9954530 - Disclosure - Exit Activity Costs and Asset Impairments (Reconciles Of Liability For Exit Activity Costs Relating To Facility Consolidation Efforts) (Details)",
     "shortName": "Exit Activity Costs and Asset Impairments (Reconciles Of Liability For Exit Activity Costs Relating To Facility Consolidation Efforts) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "89",
     "firstAnchor": {
      "contextRef": "c-8",
      "name": "us-gaap:RestructuringReserve",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:PaymentsForRestructuring",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R90": {
     "role": "http://www.gibraltar1.com/role/IncomeTaxesComponentsofIncomeLossbeforeTaxesfromContinuingOperationsDetails",
     "longName": "9954531 - Disclosure - Income Taxes (Components of Income (Loss) before Taxes from Continuing Operations) (Details)",
     "shortName": "Income Taxes (Components of Income (Loss) before Taxes from Continuing Operations) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "90",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R91": {
     "role": "http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails",
     "longName": "9954532 - Disclosure - Income Taxes (Benefit of) Provision for Income Taxes) (Details)",
     "shortName": "Income Taxes (Benefit of) Provision for Income Taxes) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "91",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:DeferredIncomeTaxExpenseBenefit",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-238",
      "name": "us-gaap:CurrentFederalTaxExpenseBenefit",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R92": {
     "role": "http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails",
     "longName": "9954533 - Disclosure - Income Taxes (Provision for Income Taxes from Continuing Operations Differs from the Federal Statutory Rate) (Details)",
     "shortName": "Income Taxes (Provision for Income Taxes from Continuing Operations Differs from the Federal Statutory Rate) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "92",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R93": {
     "role": "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails",
     "longName": "9954534 - Disclosure - Income Taxes (Deferred Tax Liabilities (Assets)) (Details)",
     "shortName": "Income Taxes (Deferred Tax Liabilities (Assets)) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "93",
     "firstAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R94": {
     "role": "http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails",
     "longName": "9954535 - Disclosure - Income Taxes (Narrative) (Details)",
     "shortName": "Income Taxes (Narrative) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "94",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "number",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:OperatingLossCarryforwards",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-5",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R95": {
     "role": "http://www.gibraltar1.com/role/IncomeTaxesSummaryofValuationAllowanceDetails",
     "longName": "9954536 - Disclosure - Income Taxes (Summary of Valuation Allowance) (Details)",
     "shortName": "Income Taxes (Summary of Valuation Allowance) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "95",
     "firstAnchor": {
      "contextRef": "c-244",
      "name": "us-gaap:ValuationAllowancesAndReservesBalance",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:SummaryOfValuationAllowanceTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-246",
      "name": "us-gaap:ValuationAllowancesAndReservesBalance",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:SummaryOfValuationAllowanceTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R96": {
     "role": "http://www.gibraltar1.com/role/IncomeTaxesIncomeTaxesPaidNetofTaxRefundsDetails",
     "longName": "9954537 - Disclosure - Income Taxes (Income Taxes Paid, Net of Tax Refunds) (Details)",
     "shortName": "Income Taxes (Income Taxes Paid, Net of Tax Refunds) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "96",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:IncomeTaxesPaidNet",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "rock:IncomeTaxesPaidAndNetOfTaxRefundsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:IncomeTaxesPaidNet",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "rock:IncomeTaxesPaidAndNetOfTaxRefundsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R97": {
     "role": "http://www.gibraltar1.com/role/EarningsperShareNarrativeDetails",
     "longName": "9954538 - Disclosure - Earnings per Share (Narrative) (Details)",
     "shortName": "Earnings per Share (Narrative) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "97",
     "firstAnchor": {
      "contextRef": "c-251",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "0",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-251",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "0",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R98": {
     "role": "http://www.gibraltar1.com/role/EarningsperShareScheduleofComputationofBasicandDilutedEarningsperShareDetails",
     "longName": "9954539 - Disclosure - Earnings per Share (Schedule of Computation of Basic and Diluted Earnings per Share) (Details)",
     "shortName": "Earnings per Share (Schedule of Computation of Basic and Diluted Earnings per Share) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "98",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:IncomeLossFromContinuingOperations",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
      "unitRef": "shares",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R99": {
     "role": "http://www.gibraltar1.com/role/LeasesNarrativeDetails",
     "longName": "9954540 - Disclosure - Leases - Narrative (Details)",
     "shortName": "Leases - Narrative (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "99",
     "firstAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-254",
      "name": "us-gaap:LesseeOperatingLeaseRenewalTerm",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R100": {
     "role": "http://www.gibraltar1.com/role/LeasesAssetsandLiabilitiesofLesseeDetails",
     "longName": "9954541 - Disclosure - Leases - Assets and Liabilities of Lessee (Details)",
     "shortName": "Leases - Assets and Liabilities of Lessee (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "100",
     "firstAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R101": {
     "role": "http://www.gibraltar1.com/role/LeasesScheduleofLeaseCostandAssumptionsDetails",
     "longName": "9954542 - Disclosure - Leases - Schedule of Lease Cost and Assumptions (Details)",
     "shortName": "Leases - Schedule of Lease Cost and Assumptions (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "101",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:OperatingLeaseCost",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LeaseCostTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:OperatingLeaseCost",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LeaseCostTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R102": {
     "role": "http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails",
     "longName": "9954543 - Disclosure - Leases - Maturity of Lease Payments (Details)",
     "shortName": "Leases - Maturity of Lease Payments (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "102",
     "firstAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true,
      "unique": true
     }
    },
    "R103": {
     "role": "http://www.gibraltar1.com/role/SegmentInformationNarrativeDetails",
     "longName": "9954544 - Disclosure - Segment Information (Narrative) (Details)",
     "shortName": "Segment Information (Narrative) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "103",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:NumberOfReportableSegments",
      "unitRef": "segment",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "INF",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R104": {
     "role": "http://www.gibraltar1.com/role/SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails",
     "longName": "9954545 - Disclosure - Segment Information (Measurements Used by Management to Assess Performance of Segments) (Details)",
     "shortName": "Segment Information (Measurements Used by Management to Assess Performance of Segments) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "104",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:Revenues",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-9",
      "name": "us-gaap:Assets",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R105": {
     "role": "http://www.gibraltar1.com/role/SegmentInformationNetSalesbyContractTypeDetails",
     "longName": "9954546 - Disclosure - Segment Information (Net Sales by Contract Type) (Details)",
     "shortName": "Segment Information (Net Sales by Contract Type) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "105",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:Revenues",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-277",
      "name": "us-gaap:Revenues",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    },
    "R106": {
     "role": "http://www.gibraltar1.com/role/SegmentInformationNetSalesbyRegionorOriginandLongLivedAssetsbyRegionofDomicileDetails",
     "longName": "9954547 - Disclosure - Segment Information (Net Sales by Region or Origin and Long-Lived Assets by Region of Domicile) (Details)",
     "shortName": "Segment Information (Net Sales by Region or Origin and Long-Lived Assets by Region of Domicile) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "106",
     "firstAnchor": {
      "contextRef": "c-1",
      "name": "us-gaap:Revenues",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c-7",
      "name": "us-gaap:NoncurrentAssets",
      "unitRef": "usd",
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": "-3",
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "rock-20231231.htm",
      "unique": true
     }
    }
   },
   "tag": {
    "rock_A2015PlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "A2015PlanMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofCompensationExpenseConnectionwithAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2015 Plan",
        "label": "2015 Plan [Member]",
        "documentation": "2015 Plan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rock_A2017Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "A2017Member",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2017",
        "label": "2017 [Member]",
        "documentation": "2017 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rock_A2018Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "A2018Member",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2018",
        "label": "2018 [Member]",
        "documentation": "2018 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rock_A2018PlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "A2018PlanMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofCompensationExpenseConnectionwithAwardsDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2018 Plan",
        "label": "2018 Plan [Member]",
        "documentation": "2018 Plan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rock_A2019Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "A2019Member",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2019",
        "label": "2019 [Member]",
        "documentation": "2019 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rock_A2019SeniorCreditAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "A2019SeniorCreditAgreementMember",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2019 Senior Credit Agreement",
        "label": "2019 Senior Credit Agreement [Member]",
        "documentation": "2019 Senior Credit Agreement [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rock_A2022SeniorCreditAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "A2022SeniorCreditAgreementMember",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2022 Senior Credit Agreement",
        "label": "2022 Senior Credit Agreement [Member]",
        "documentation": "2022 Senior Credit Agreement"
       }
      }
     },
     "auth_ref": []
    },
    "rock_A401kPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "A401kPlanMember",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsScheduleofTotalExpenseforAllRetirementPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "401(k) plan",
        "label": "401(k) Plan [Member]",
        "documentation": "401(k) Plan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AOCIAttributableToParentNetOfTaxRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AOCIAttributableToParentNetOfTaxRollForward",
     "presentation": [
      "http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Roll Forward]",
        "label": "AOCI Attributable to Parent, Net of Tax [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounting Policies [Abstract]",
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/AccruedExpenses"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued Expenses",
        "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]",
        "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period."
       }
      }
     },
     "auth_ref": [
      "r43"
     ]
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts payable",
        "label": "Accounts Payable, Current",
        "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": [
      "r42",
      "r868"
     ]
    },
    "us-gaap_AccountsReceivableGrossCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableGrossCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/AccountsReceivableDetails": {
       "parentTag": "rock_ContractsReceivableGrossCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trade accounts receivable",
        "label": "Accounts Receivable, before Allowance for Credit Loss, Current",
        "documentation": "Amount, before 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": [
      "r270",
      "r378",
      "r379",
      "r831"
     ]
    },
    "us-gaap_AccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableMember",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts Receivable",
        "label": "Accounts Receivable [Member]",
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold."
       }
      }
     },
     "auth_ref": [
      "r814"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.gibraltar1.com/role/AccountsReceivableDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AccountsReceivableDetails",
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts receivable, net of allowance of $5,572 and $3,746, respectively",
        "totalLabel": "Accounts receivable",
        "label": "Accounts Receivable, after Allowance for Credit Loss, Current",
        "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": [
      "r378",
      "r379"
     ]
    },
    "rock_AccruedCustomerRebatesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "AccruedCustomerRebatesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/AccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrentAndNoncurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Customer rebates",
        "label": "Accrued Customer Rebates, Current",
        "documentation": "Accrued customer rebates, current"
       }
      }
     },
     "auth_ref": []
    },
    "rock_AccruedEquityBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "AccruedEquityBasedCompensation",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued equity based compensation",
        "label": "Accrued Equity Based Compensation",
        "documentation": "Accrued Equity Based Compensation"
       }
      }
     },
     "auth_ref": []
    },
    "rock_AccruedExpensesCurrentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "AccruedExpensesCurrentMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued Expenses, Current",
        "label": "Accrued Expenses, Current [Member]",
        "documentation": "Accrued Expenses, Current [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccruedIncomeTaxesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedIncomeTaxesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/AccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrentAndNoncurrent",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest and taxes",
        "label": "Accrued Income Taxes, Current",
        "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": [
      "r166",
      "r228"
     ]
    },
    "us-gaap_AccruedInsuranceCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedInsuranceCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/AccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrentAndNoncurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Insurance",
        "label": "Accrued Insurance, Current",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable to insurance entities to mitigate potential loss from various risks or to satisfy a promise to provide certain coverage's to employees. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r45"
     ]
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued expenses",
        "label": "Accrued Liabilities, Current",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r45"
     ]
    },
    "us-gaap_AccruedLiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesCurrentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued Liabilities, Current [Abstract]",
        "label": "Accrued Liabilities, Current [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccruedLiabilitiesCurrentAndNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesCurrentAndNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/AccruedExpensesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Accrued Liabilities, Total",
        "label": "Accrued Liabilities",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities."
       }
      }
     },
     "auth_ref": [
      "r144"
     ]
    },
    "us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedDefinedBenefitPlansAdjustmentMember",
     "presentation": [
      "http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Postretirement Benefit Plan Adjustments",
        "label": "Accumulated Defined Benefit Plans Adjustment Attributable to Parent [Member]",
        "documentation": "Accumulated other comprehensive (income) loss related to defined benefit plans attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r29",
      "r54",
      "r902",
      "r903",
      "r904"
     ]
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: accumulated depreciation",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services."
       }
      }
     },
     "auth_ref": [
      "r91",
      "r264",
      "r711"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossBeforeTax1",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance at beginning of period",
        "periodEndLabel": "Balance at end of period",
        "label": "AOCI Including Portion Attributable to Noncontrolling Interest, before Tax",
        "documentation": "Amount before tax of increase (decrease) in accumulated equity from transactions and other events and circumstances from non-owner sources, including portion attributable to noncontrolling interest. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners (distributions to owners)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Line Items]",
        "label": "Accumulated Other Comprehensive Income (Loss) [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": [
      "r284",
      "r285",
      "r664",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeDetails",
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated other comprehensive loss",
        "periodStartLabel": "Balance at beginning of period",
        "periodEndLabel": "Balance at end of period",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source."
       }
      }
     },
     "auth_ref": [
      "r53",
      "r54",
      "r181",
      "r271",
      "r707",
      "r736",
      "r737"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated Other Comprehensive Income (Loss), Net of Tax [Abstract]",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossTable",
     "presentation": [
      "http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Table]",
        "label": "Accumulated Other Comprehensive Income (Loss) [Table]",
        "documentation": "Disclosure of information about components of accumulated other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r284",
      "r285",
      "r664",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670"
     ]
    },
    "rock_AccumulatedOtherComprehensiveIncomeLossTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "AccumulatedOtherComprehensiveIncomeLossTax",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance at beginning of period",
        "periodEndLabel": "Balance at end of period",
        "label": "Accumulated Other Comprehensive Income (Loss), Tax",
        "documentation": "Accumulated Other Comprehensive Income (Loss), Tax"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated Other Comprehensive (Loss) Income",
        "label": "AOCI Attributable to Parent [Member]",
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r29",
      "r54",
      "r651",
      "r654",
      "r689",
      "r732",
      "r733",
      "r902",
      "r903",
      "r904",
      "r917",
      "r918",
      "r919"
     ]
    },
    "us-gaap_AccumulatedTranslationAdjustmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedTranslationAdjustmentMember",
     "presentation": [
      "http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign Currency Translation Adjustment",
        "label": "Accumulated Foreign Currency Adjustment Attributable to Parent [Member]",
        "documentation": "Accumulated other comprehensive income (loss) resulting from foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r29",
      "r54",
      "r285",
      "r286",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r902"
     ]
    },
    "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted-Average Amortization Period",
        "label": "Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life",
        "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r200"
     ]
    },
    "rock_AcquiredIntangibleAssetsTotal": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "AcquiredIntangibleAssetsTotal",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total acquired intangible assets, Gross Carrying Amount",
        "label": "Acquired Intangible Assets, Total",
        "documentation": "Acquired Intangible Assets, Total."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdditionalPaidInCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapital",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Additional paid-in capital",
        "label": "Additional Paid in Capital",
        "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock."
       }
      }
     },
     "auth_ref": [
      "r172",
      "r868",
      "r1008"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Additional Paid-In Capital",
        "label": "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": [
      "r603",
      "r604",
      "r605",
      "r745",
      "r917",
      "r918",
      "r919",
      "r983",
      "r1009"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock compensation expense",
        "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r114",
      "r115",
      "r565"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:",
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdvertisingCostsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdvertisingCostsPolicyTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Advertising",
        "label": "Advertising Cost [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for advertising cost."
       }
      }
     },
     "auth_ref": [
      "r243"
     ]
    },
    "us-gaap_AdvertisingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdvertisingExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Advertising costs",
        "label": "Advertising Expense",
        "documentation": "Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line."
       }
      }
     },
     "auth_ref": [
      "r610"
     ]
    },
    "rock_AgtechMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "AgtechMember",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsScheduleOfAssetImpairmentChargesRelatedToRestructuringActivitiesDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails",
      "http://www.gibraltar1.com/role/SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails",
      "http://www.gibraltar1.com/role/SegmentInformationNetSalesbyContractTypeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Agtech",
        "label": "Agtech [Member]",
        "documentation": "Agtech"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/AccountsReceivableDetails": {
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AccountsReceivableDetails",
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesSummaryofActivityRecordedwithintheAllowanceforDoubtfulAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Allowance for credit loss",
        "periodStartLabel": "Beginning balance",
        "periodEndLabel": "Ending balance",
        "negatedTerseLabel": "Less allowance for doubtful accounts",
        "label": "Accounts Receivable, Allowance for Credit Loss, Current",
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r272",
      "r382",
      "r387"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivableRollforward",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesSummaryofActivityRecordedwithintheAllowanceforDoubtfulAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts Receivable, Allowance for Credit Loss [Roll Forward]",
        "label": "Accounts Receivable, Allowance for Credit Loss [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "rock_Amended2018PlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "Amended2018PlanMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amended 2018 Plan",
        "label": "Amended 2018 Plan [Member]",
        "documentation": "Amended 2018 Plan"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amendment Flag",
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmortizationOfFinancingCostsAndDiscounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AmortizationOfFinancingCostsAndDiscounts",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exit activity costs, non-cash",
        "label": "Amortization of Debt Issuance Costs and Discounts",
        "documentation": "Amount of amortization expense attributable to debt discount (premium) and debt issuance costs."
       }
      }
     },
     "auth_ref": [
      "r465",
      "r671",
      "r843",
      "r844",
      "r907"
     ]
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortization of Intangible Assets",
        "label": "Amortization of Intangible Assets",
        "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": [
      "r18",
      "r84",
      "r89"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "presentation": [
      "http://www.gibraltar1.com/role/EarningsperShareNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Anti-dilutive number of shares",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "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": [
      "r333"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/EarningsperShareNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Antidilutive Securities [Axis]",
        "label": "Antidilutive Securities [Axis]",
        "documentation": "Information by type of antidilutive security."
       }
      }
     },
     "auth_ref": [
      "r68"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/EarningsperShareNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]",
        "label": "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.gibraltar1.com/role/EarningsperShareNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Antidilutive Securities, Name [Domain]",
        "label": "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": [
      "r68"
     ]
    },
    "rock_ApplicableRatePeriod1Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "ApplicableRatePeriod1Member",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Applicable rate through March 31, 2023",
        "label": "Applicable Rate Period 1 [Member]",
        "documentation": "Applicable Rate Period 1"
       }
      }
     },
     "auth_ref": []
    },
    "rock_ApplicableRatePeriod2Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "ApplicableRatePeriod2Member",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Applicable rate after April 1, 2023",
        "label": "Applicable Rate Period 2 [Member]",
        "documentation": "Applicable Rate Period 2"
       }
      }
     },
     "auth_ref": []
    },
    "srt_AsiaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "AsiaMember",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationNetSalesbyRegionorOriginandLongLivedAssetsbyRegionofDomicileDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Asia",
        "label": "Asia [Member]"
       }
      }
     },
     "auth_ref": [
      "r1011",
      "r1012",
      "r1013",
      "r1014"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets",
      "http://www.gibraltar1.com/role/SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total assets",
        "terseLabel": "Total assets",
        "label": "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": [
      "r226",
      "r268",
      "r298",
      "r342",
      "r363",
      "r369",
      "r384",
      "r437",
      "r438",
      "r440",
      "r441",
      "r442",
      "r444",
      "r446",
      "r448",
      "r449",
      "r645",
      "r648",
      "r661",
      "r703",
      "r770",
      "r868",
      "r880",
      "r945",
      "r946",
      "r991"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Assets",
        "label": "Assets [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current assets",
        "label": "Assets, Current",
        "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": [
      "r259",
      "r276",
      "r298",
      "r384",
      "r437",
      "r438",
      "r440",
      "r441",
      "r442",
      "r444",
      "r446",
      "r448",
      "r449",
      "r645",
      "r648",
      "r661",
      "r868",
      "r945",
      "r946",
      "r991"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current assets:",
        "label": "Assets, Current [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rock_AuditInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "AuditInformationAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Audit Information [Abstract]",
        "documentation": "Audit Information [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditorFirmId": {
     "xbrltype": "nonemptySequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorFirmId",
     "presentation": [
      "http://www.gibraltar1.com/role/AuditInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Auditor Firm ID",
        "label": "Auditor Firm ID",
        "documentation": "PCAOB issued Audit Firm Identifier"
       }
      }
     },
     "auth_ref": [
      "r885",
      "r886",
      "r887"
     ]
    },
    "dei_AuditorLocation": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorLocation",
     "presentation": [
      "http://www.gibraltar1.com/role/AuditInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Auditor Location",
        "label": "Auditor Location"
       }
      }
     },
     "auth_ref": [
      "r885",
      "r886",
      "r887"
     ]
    },
    "dei_AuditorName": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorName",
     "presentation": [
      "http://www.gibraltar1.com/role/AuditInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Auditor Name",
        "label": "Auditor Name"
       }
      }
     },
     "auth_ref": [
      "r885",
      "r886",
      "r887"
     ]
    },
    "us-gaap_AwardDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AwardDateAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Date [Axis]",
        "label": "Award Date [Axis]",
        "documentation": "Information by date or year award under share-based payment arrangement is granted."
       }
      }
     },
     "auth_ref": [
      "r951",
      "r952",
      "r953",
      "r954",
      "r955",
      "r956",
      "r957",
      "r958",
      "r959",
      "r960",
      "r961",
      "r962",
      "r963",
      "r964",
      "r965",
      "r966",
      "r967",
      "r968",
      "r969",
      "r970",
      "r971",
      "r972",
      "r973",
      "r974",
      "r975",
      "r976"
     ]
    },
    "us-gaap_AwardDateDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AwardDateDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Date [Domain]",
        "label": "Award Date [Domain]",
        "documentation": "Date or year award under share-based payment arrangement is granted."
       }
      }
     },
     "auth_ref": [
      "r951",
      "r952",
      "r953",
      "r954",
      "r955",
      "r956",
      "r957",
      "r958",
      "r959",
      "r960",
      "r961",
      "r962",
      "r963",
      "r964",
      "r965",
      "r966",
      "r967",
      "r968",
      "r969",
      "r970",
      "r971",
      "r972",
      "r973",
      "r974",
      "r975",
      "r976"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationAggregateIntrinsicValueofOptionsExercisedandAggregateFairValueofRestrictedStockUnitsandRestrictedSharesthatVestedDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationCashPaidtoSettleLiabilityAwardsDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Type [Axis]",
        "label": "Award Type [Axis]",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r569",
      "r570",
      "r571",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597"
     ]
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BalanceSheetLocationAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails",
      "http://www.gibraltar1.com/role/RevenueContractAssetsandLiabilitiesDetails",
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Balance Sheet Location [Axis]",
        "label": "Balance Sheet Location [Axis]",
        "documentation": "Information by location on balance sheet (statement of financial position)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BalanceSheetLocationDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails",
      "http://www.gibraltar1.com/role/RevenueContractAssetsandLiabilitiesDetails",
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Balance Sheet Location [Domain]",
        "label": "Balance Sheet Location [Domain]",
        "documentation": "Location in the balance sheet (statement of financial position)."
       }
      }
     },
     "auth_ref": [
      "r136",
      "r137"
     ]
    },
    "us-gaap_BaseRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BaseRateMember",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Base Rate",
        "label": "Base Rate [Member]",
        "documentation": "Minimum rate investor will accept."
       }
      }
     },
     "auth_ref": []
    },
    "rock_BillingsinExcessofCostMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "BillingsinExcessofCostMember",
     "presentation": [
      "http://www.gibraltar1.com/role/RevenueContractAssetsandLiabilitiesDetails",
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Billings in excess of costs",
        "label": "Billings in Excess of Cost [Member]",
        "documentation": "Billings in Excess of Cost [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BuildingsAndImprovementsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BuildingsAndImprovementsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Building and improvements",
        "label": "Buildings and Improvements, Gross",
        "documentation": "Amount before accumulated depreciation of building structures held for productive use including addition, improvement, or renovation to the structure, including, but not limited to, interior masonry, interior flooring, electrical, and plumbing."
       }
      }
     },
     "auth_ref": [
      "r205"
     ]
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionAcquireeDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails",
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Business Acquisition, Acquiree [Domain]",
        "label": "Business Acquisition, Acquiree [Domain]",
        "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree."
       }
      }
     },
     "auth_ref": [
      "r643",
      "r858",
      "r861"
     ]
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails",
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Business Acquisition [Axis]",
        "label": "Business Acquisition [Axis]",
        "documentation": "Information by business combination or series of individually immaterial business combinations."
       }
      }
     },
     "auth_ref": [
      "r124",
      "r125",
      "r643",
      "r858",
      "r861"
     ]
    },
    "us-gaap_BusinessAcquisitionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessAcquisitionLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsAcquisitionRelatedCostsDetails",
      "http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails",
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Business Acquisition [Line Items]",
        "label": "Business Acquisition [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": [
      "r643"
     ]
    },
    "us-gaap_BusinessCombinationAcquisitionRelatedCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationAcquisitionRelatedCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsAcquisitionRelatedCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total acquisition related costs",
        "label": "Business Combination, Acquisition Related Costs",
        "documentation": "This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities."
       }
      }
     },
     "auth_ref": [
      "r123"
     ]
    },
    "us-gaap_BusinessCombinationConsiderationTransferred1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationConsiderationTransferred1",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Acquisition purchase price",
        "label": "Business Combination, Consideration Transferred",
        "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r5",
      "r25"
     ]
    },
    "us-gaap_BusinessCombinationDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationDisclosureTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/Acquisitions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Acquisitions",
        "label": "Business Combination Disclosure [Text Block]",
        "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable)."
       }
      }
     },
     "auth_ref": [
      "r223",
      "r644"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. 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."
       }
      }
     },
     "auth_ref": [
      "r127"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other assets",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Other",
        "documentation": "Amount of other assets expected to be realized or consumed before one year or the normal operating cycle, if longer, acquired at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r127"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Acquired intangible assets",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill",
        "documentation": "Amount of intangible assets, excluding goodwill, acquired at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r127"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Fair value of purchase consideration",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Net",
        "documentation": "Amount recognized as of the acquisition date for the identifiable assets acquired in excess of (less than) the aggregate liabilities assumed."
       }
      }
     },
     "auth_ref": [
      "r126",
      "r127"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Other liabilities",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Noncurrent Liabilities, Other",
        "documentation": "Amount of other liabilities due after one year or the normal operating cycle, if longer, assumed at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r127"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, plant, and equipment",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment",
        "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r126",
      "r127"
     ]
    },
    "rock_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Working capital",
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Working Capital",
        "documentation": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Working Capital"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Business Combinations [Abstract]",
        "label": "Business Combinations [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationsPolicy",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Acquisition related assets and liabilities",
        "label": "Business Combinations Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy."
       }
      }
     },
     "auth_ref": [
      "r122"
     ]
    },
    "us-gaap_BusinessExitCosts1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessExitCosts1",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsReconcilesOfLiabilityForExitActivityCostsRelatingToFacilityConsolidationEffortsDetails",
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsScheduleOfAssetImpairmentChargesRelatedToRestructuringActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Exit Activity",
        "terseLabel": "Exit activity costs recognized",
        "label": "Business Exit Costs",
        "documentation": "Amount of expenses associated with exit or disposal activities pursuant to an authorized plan. Includes, but is not limited to, one-time termination benefits, termination of an operating lease or other contract, consolidating or closing facilities, and relocating employees, and termination benefits associated with an ongoing benefit arrangement. Excludes expenses associated with special or contractual termination benefits, a discontinued operation or an asset retirement obligation."
       }
      }
     },
     "auth_ref": [
      "r18"
     ]
    },
    "rock_CapitalLossCarryforward": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "CapitalLossCarryforward",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Capital loss carryforward",
        "label": "Capital Loss Carryforward",
        "documentation": "Capital Loss Carryforward"
       }
      }
     },
     "auth_ref": []
    },
    "rock_CapitalLossCarryforwardAmendedReturns": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "CapitalLossCarryforwardAmendedReturns",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amended returns",
        "label": "Capital Loss Carryforward, Amended Returns",
        "documentation": "Capital Loss Carryforward, Amended Returns"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CapitalizedContractCostLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalizedContractCostLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/RevenueContractAssetsandLiabilitiesDetails",
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue, Initial Application Period Cumulative Effect Transition [Line Items]",
        "label": "Capitalized Contract Cost [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": [
      "r394"
     ]
    },
    "us-gaap_CapitalizedContractCostTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalizedContractCostTable",
     "presentation": [
      "http://www.gibraltar1.com/role/RevenueContractAssetsandLiabilitiesDetails",
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue, Initial Application Period Cumulative Effect Transition [Table]",
        "label": "Capitalized Contract Cost [Table]",
        "documentation": "Disclosure of information about cost capitalized in obtaining or fulfilling contract with customer."
       }
      }
     },
     "auth_ref": [
      "r394"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash and cash equivalents",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "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": [
      "r62",
      "r262",
      "r829"
     ]
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash and cash equivalents",
        "label": "Cash and Cash Equivalents, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value."
       }
      }
     },
     "auth_ref": [
      "r63"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Cash and cash equivalents at beginning of year",
        "periodEndLabel": "Cash and cash equivalents at end of year",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents",
        "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": [
      "r62",
      "r194",
      "r296"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net increase (decrease) in cash and cash equivalents",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "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": [
      "r6",
      "r194"
     ]
    },
    "rock_CashPaidToSettleLiabilityAwardsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "CashPaidToSettleLiabilityAwardsTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash Paid to Settle Liability Awards",
        "label": "Cash Paid To Settle Liability Awards [Table Text Block]",
        "documentation": "Cash Paid To Settle Liability Awards [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net cash used in investing activities of discontinued operations",
        "label": "Cash Provided by (Used in) Investing Activities, Discontinued Operations",
        "documentation": "Amount of cash inflow (outflow) of investing activities of 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": [
      "r160",
      "r194"
     ]
    },
    "us-gaap_CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net cash used in operating activities of discontinued operations",
        "label": "Cash Provided by (Used in) Operating Activities, Discontinued Operations",
        "documentation": "Amount of cash inflow (outflow) of operating activities of discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r160",
      "r194"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "City Area Code",
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Commitments and Contingencies Disclosure [Abstract]",
        "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.gibraltar1.com/role/CommitmentsandContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Commitments and Contingencies",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r208",
      "r431",
      "r432",
      "r815",
      "r941"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockMember",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity",
      "http://www.gibraltar1.com/role/EarningsperShareNarrativeDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common Stock",
        "label": "Common Stock [Member]",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r870",
      "r871",
      "r872",
      "r874",
      "r875",
      "r876",
      "r877",
      "r917",
      "r918",
      "r983",
      "r1007",
      "r1009"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, par value (in dollars per share)",
        "label": "Common Stock, Par or Stated Value Per Share",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r171"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, shares authorized (in shares)",
        "label": "Common Stock, Shares Authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r171",
      "r758"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, shares issued (in shares)",
        "label": "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": [
      "r171"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, shares outstanding (in shares)",
        "label": "Common Stock, Shares, Outstanding",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r30",
      "r171",
      "r758",
      "r776",
      "r1009",
      "r1010"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Common stock, $0.01 par value; authorized 100,000 shares; 34,219 and 34,060 shares issued and outstanding in 2023 and 2022",
        "label": "Common Stock, Value, Issued",
        "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": [
      "r171",
      "r706",
      "r868"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofComprehensiveIncome": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total comprehensive income",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "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": [
      "r55",
      "r280",
      "r282",
      "r289",
      "r699",
      "r716"
     ]
    },
    "us-gaap_ComprehensiveIncomeNoteTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNoteTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accumulated Other Comprehensive Income (Loss)",
        "label": "Comprehensive Income (Loss) Note [Text Block]",
        "documentation": "The entire disclosure for comprehensive income, which includes, but is not limited to, 1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive income."
       }
      }
     },
     "auth_ref": [
      "r180",
      "r288",
      "r698",
      "r715"
     ]
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentration Risk Benchmark [Domain]",
        "label": "Concentration Risk Benchmark [Domain]",
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r72",
      "r138",
      "r139",
      "r377",
      "r814"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentration Risk Benchmark [Axis]",
        "label": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r72",
      "r138",
      "r139",
      "r377",
      "r738",
      "r814"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentration Risk Type [Axis]",
        "label": "Concentration Risk Type [Axis]",
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r72",
      "r138",
      "r139",
      "r377",
      "r814",
      "r894"
     ]
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskPercentage1",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentrations of credit risk",
        "label": "Concentration Risk, Percentage",
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r72",
      "r138",
      "r139",
      "r377"
     ]
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentration Risk Type [Domain]",
        "label": "Concentration Risk Type [Domain]",
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r72",
      "r138",
      "r139",
      "r377",
      "r814"
     ]
    },
    "srt_ConsolidationItemsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ConsolidationItemsAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsScheduleOfAssetImpairmentChargesRelatedToRestructuringActivitiesDetails",
      "http://www.gibraltar1.com/role/SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Consolidation Items [Axis]",
        "label": "Consolidation Items [Axis]"
       }
      }
     },
     "auth_ref": [
      "r301",
      "r344",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r367",
      "r371",
      "r437",
      "r438",
      "r439",
      "r440",
      "r442",
      "r443",
      "r445",
      "r447",
      "r448",
      "r945",
      "r946"
     ]
    },
    "srt_ConsolidationItemsDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ConsolidationItemsDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsScheduleOfAssetImpairmentChargesRelatedToRestructuringActivitiesDetails",
      "http://www.gibraltar1.com/role/SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Consolidation Items [Domain]",
        "label": "Consolidation Items [Domain]"
       }
      }
     },
     "auth_ref": [
      "r301",
      "r344",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r367",
      "r371",
      "r437",
      "r438",
      "r439",
      "r440",
      "r442",
      "r443",
      "r445",
      "r447",
      "r448",
      "r945",
      "r946"
     ]
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConsolidationPolicyTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Principles of consolidation",
        "label": "Consolidation, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary."
       }
      }
     },
     "auth_ref": [
      "r135",
      "r832"
     ]
    },
    "us-gaap_ConstructionInProgressGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConstructionInProgressGross",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Construction in progress",
        "label": "Construction in Progress, Gross",
        "documentation": "Amount of structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service."
       }
      }
     },
     "auth_ref": [
      "r205"
     ]
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/RevenueTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contract with Customer, Asset and Liability",
        "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]",
        "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability."
       }
      }
     },
     "auth_ref": [
      "r949"
     ]
    },
    "us-gaap_ContractWithCustomerAssetNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerAssetNet",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/RevenueContractAssetsandLiabilitiesDetails",
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Costs in excess of billings",
        "label": "Contract with Customer, Asset, after Allowance for Credit Loss",
        "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time."
       }
      }
     },
     "auth_ref": [
      "r471",
      "r473",
      "r491"
     ]
    },
    "rock_ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Asset recognized related to incremental costs of obtaining a contract",
        "label": "Contract with Customer, Asset, Obtained through Incremental Cost of Obtaining Contract",
        "documentation": "Contract with Customer, Asset, Obtained through Incremental Cost of Obtaining Contract"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerAssetReclassifiedToReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerAssetReclassifiedToReceivable",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue recognized which was in contract liabilities",
        "label": "Contract with Customer, Asset, Reclassified to Receivable",
        "documentation": "Amount of decrease in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time from transfer to receivable due to right to consideration becoming unconditional."
       }
      }
     },
     "auth_ref": [
      "r846"
     ]
    },
    "rock_ContractWithCustomerContractPaymentTerms": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "ContractWithCustomerContractPaymentTerms",
     "presentation": [
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contract payment terms",
        "label": "Contract With Customer, Contract Payment Terms",
        "documentation": "Contract With Customer, Contract Payment Terms"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiability",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/RevenueContractAssetsandLiabilitiesDetails",
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unearned revenue",
        "negatedTerseLabel": "Contract with customer liability",
        "label": "Contract with Customer, Liability",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r471",
      "r472",
      "r491"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Billings in excess of costs",
        "label": "Contract with Customer, Liability, Current",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r471",
      "r472",
      "r491"
     ]
    },
    "rock_ContractsReceivableGrossCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "ContractsReceivableGrossCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/AccountsReceivableDetails": {
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total contract receivables",
        "label": "Contracts Receivable, Gross, Current",
        "documentation": "Contracts Receivable, Gross, Current"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CorporateNonSegmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CorporateNonSegmentMember",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsScheduleOfAssetImpairmentChargesRelatedToRestructuringActivitiesDetails",
      "http://www.gibraltar1.com/role/SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Corporate",
        "verboseLabel": "Unallocated Corporate Expenses",
        "label": "Corporate, Non-Segment [Member]",
        "documentation": "Corporate headquarters or functional department that may not earn revenues or may earn revenues that are only incidental to the activities of the entity and is not considered an operating segment."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r362",
      "r363",
      "r364",
      "r365",
      "r371",
      "r922"
     ]
    },
    "us-gaap_CostOfRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfRevenue",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cost of sales",
        "label": "Cost of Revenue",
        "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r190",
      "r298",
      "r384",
      "r437",
      "r438",
      "r440",
      "r441",
      "r442",
      "r444",
      "r446",
      "r448",
      "r449",
      "r661",
      "r945"
     ]
    },
    "us-gaap_CostOfSalesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfSalesMember",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsAcquisitionRelatedCostsDetails",
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryOfExitActivityCostsAndAssetImpairmentsRecordedintheConsolidatedStatementsofOperationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Cost of sales",
        "terseLabel": "Cost of sales",
        "label": "Cost of Sales [Member]",
        "documentation": "Primary financial statement caption encompassing cost of sales."
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cover [Abstract]",
        "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.gibraltar1.com/role/DebtNarrativeDetails",
      "http://www.gibraltar1.com/role/FairValueMeasurementsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Credit Facility [Axis]",
        "label": "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.gibraltar1.com/role/DebtNarrativeDetails",
      "http://www.gibraltar1.com/role/FairValueMeasurementsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Credit Facility [Domain]",
        "label": "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": []
    },
    "us-gaap_CurrentFederalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentFederalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails": {
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "U.S. Federal",
        "label": "Current Federal Tax Expense (Benefit)",
        "documentation": "Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r896",
      "r910",
      "r981"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current Fiscal Year End Date",
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentForeignTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentForeignTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails": {
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign",
        "label": "Current Foreign Tax Expense (Benefit)",
        "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r896",
      "r910"
     ]
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current",
        "label": "Current Income Tax Expense (Benefit)",
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r222",
      "r628",
      "r634",
      "r910"
     ]
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current:",
        "label": "Current Income Tax Expense (Benefit), Continuing Operations [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails": {
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State",
        "label": "Current State and Local Tax Expense (Benefit)",
        "documentation": "Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r896",
      "r910",
      "r981"
     ]
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CustomerConcentrationRiskMember",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer Concentration Risk",
        "label": "Customer Concentration Risk [Member]",
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer."
       }
      }
     },
     "auth_ref": [
      "r71",
      "r377"
     ]
    },
    "us-gaap_CustomerRelationshipsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CustomerRelationshipsMember",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer relationships",
        "label": "Customer Relationships [Member]",
        "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships."
       }
      }
     },
     "auth_ref": [
      "r130"
     ]
    },
    "rock_DebtInstrumentApplicableRatePeriodAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "DebtInstrumentApplicableRatePeriodAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Instrument, Applicable Rate Period [Axis]",
        "label": "Debt Instrument, Applicable Rate Period [Axis]",
        "documentation": "Debt Instrument, Applicable Rate Period"
       }
      }
     },
     "auth_ref": []
    },
    "rock_DebtInstrumentApplicableRatePeriodDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "DebtInstrumentApplicableRatePeriodDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Instrument, Applicable Rate Period [Domain]",
        "label": "Debt Instrument, Applicable Rate Period [Domain]",
        "documentation": "Debt Instrument, Applicable Rate Period [Domain]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails",
      "http://www.gibraltar1.com/role/FairValueMeasurementsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Instrument [Axis]",
        "label": "Debt Instrument [Axis]",
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r39",
      "r165",
      "r166",
      "r227",
      "r230",
      "r301",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r672",
      "r840",
      "r841",
      "r842",
      "r843",
      "r844",
      "r908"
     ]
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "LIBOR floor, plus",
        "label": "Debt Instrument, Basis Spread on Variable Rate",
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentCarryingAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentCarryingAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long term debt gross",
        "label": "Long-Term Debt, Gross",
        "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt."
       }
      }
     },
     "auth_ref": [
      "r39",
      "r230",
      "r467"
     ]
    },
    "us-gaap_DebtInstrumentFaceAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentFaceAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Term loan (up to)",
        "label": "Debt Instrument, Face Amount",
        "documentation": "Face (par) amount of debt instrument at time of issuance."
       }
      }
     },
     "auth_ref": [
      "r141",
      "r143",
      "r450",
      "r672",
      "r841",
      "r842"
     ]
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Initial applicable margin",
        "label": "Debt Instrument, Interest Rate, Stated Percentage",
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r451"
     ]
    },
    "us-gaap_DebtInstrumentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Instrument [Line Items]",
        "label": "Debt Instrument [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": [
      "r301",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r466",
      "r672",
      "r840",
      "r841",
      "r842",
      "r843",
      "r844",
      "r908"
     ]
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentNameDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails",
      "http://www.gibraltar1.com/role/FairValueMeasurementsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Instrument, Name [Domain]",
        "label": "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": [
      "r48",
      "r301",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r672",
      "r840",
      "r841",
      "r842",
      "r843",
      "r844",
      "r908"
     ]
    },
    "rock_DebtInstrumentNumberOfDebtCovenants": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "DebtInstrumentNumberOfDebtCovenants",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of debt covenants",
        "label": "Debt Instrument, Number of Debt Covenants",
        "documentation": "Debt Instrument, Number of Debt Covenants"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentTable",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Long-term Debt Instruments [Table]",
        "label": "Schedule of Long-Term Debt Instruments [Table]",
        "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer."
       }
      }
     },
     "auth_ref": [
      "r48",
      "r99",
      "r100",
      "r140",
      "r141",
      "r143",
      "r145",
      "r210",
      "r211",
      "r301",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r466",
      "r672",
      "r840",
      "r841",
      "r842",
      "r843",
      "r844",
      "r908"
     ]
    },
    "us-gaap_DeferredChargesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredChargesPolicyTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred charges",
        "label": "Deferred Charges, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for deferral and amortization of significant deferred charges."
       }
      }
     },
     "auth_ref": [
      "r267"
     ]
    },
    "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredFederalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "U.S. Federal",
        "label": "Deferred Federal Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r910",
      "r980",
      "r981"
     ]
    },
    "us-gaap_DeferredFinanceCostsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredFinanceCostsNet",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Issuance Costs, Net",
        "label": "Debt Issuance Costs, Net",
        "documentation": "Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs."
       }
      }
     },
     "auth_ref": [
      "r142",
      "r948"
     ]
    },
    "us-gaap_DeferredForeignIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredForeignIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign",
        "label": "Deferred Foreign Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r222",
      "r910",
      "r980"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Provision for deferred income taxes",
        "totalLabel": "Total deferred",
        "label": "Deferred Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r222",
      "r252",
      "r633",
      "r634",
      "r910"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred:",
        "label": "Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredIncomeTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails": {
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross deferred tax liabilities",
        "label": "Deferred Tax Liabilities, Gross",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences."
       }
      }
     },
     "auth_ref": [
      "r168",
      "r169",
      "r229",
      "r622"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Deferred income taxes",
        "label": "Deferred Income Tax Liabilities, Net",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r614",
      "r615",
      "r704"
     ]
    },
    "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State",
        "label": "Deferred State and Local Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r910",
      "r980",
      "r981"
     ]
    },
    "rock_DeferredStockUnitsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "DeferredStockUnitsMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationAggregateIntrinsicValueofOptionsExercisedandAggregateFairValueofRestrictedStockUnitsandRestrictedSharesthatVestedDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred Stock Units",
        "label": "Deferred Stock Units [Member]",
        "documentation": "Deferred Stock Units [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rock_DeferredTaxAssetOperatingLeases": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "DeferredTaxAssetOperatingLeases",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Operating leases",
        "label": "Deferred Tax Asset, Operating Leases",
        "documentation": "Deferred Tax Asset, Operating Leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsCapitalLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsCapitalLossCarryforwards",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails",
      "http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Capital loss carryforward",
        "terseLabel": "Deferred tax assets, capital loss carryforwards",
        "label": "Deferred Tax Assets, Capital Loss Carryforwards",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible capital loss carryforwards."
       }
      }
     },
     "auth_ref": [
      "r120",
      "r979"
     ]
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTotalLabel": "Gross deferred tax assets",
        "label": "Deferred Tax Assets, Gross",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r623"
     ]
    },
    "us-gaap_DeferredTaxAssetsInProcessResearchAndDevelopment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsInProcessResearchAndDevelopment",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Capitalized research and development costs",
        "label": "Deferred Tax Assets, in Process Research and Development",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from in-process research and development costs expensed in connection with a business combination."
       }
      }
     },
     "auth_ref": [
      "r120",
      "r979"
     ]
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails": {
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTotalLabel": "Deferred tax assets, net of valuation allowances",
        "label": "Deferred Tax Assets, Net of Valuation Allowance",
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r978"
     ]
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOperatingLossCarryforwards",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax assets, net of operating losses",
        "label": "Deferred Tax Assets, Operating Loss Carryforwards",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards."
       }
      }
     },
     "auth_ref": [
      "r120",
      "r979"
     ]
    },
    "us-gaap_DeferredTaxAssetsOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOther",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Other",
        "label": "Deferred Tax Assets, Other",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other."
       }
      }
     },
     "auth_ref": [
      "r120",
      "r979"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Equity compensation",
        "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-Based Compensation Cost",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation."
       }
      }
     },
     "auth_ref": [
      "r120",
      "r979"
     ]
    },
    "rock_DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Assets held for sale",
        "label": "Deferred Tax Assets, Temporary Difference, Future Sale Of Business",
        "documentation": "Deferred Tax Assets, Temporary Difference, Future Sale Of Business"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsValuationAllowance",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Valuation allowances",
        "label": "Deferred Tax Assets, 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": [
      "r624"
     ]
    },
    "us-gaap_DeferredTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net deferred tax liabilities",
        "label": "Deferred Tax Liabilities, Net",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r116",
      "r978"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill",
        "label": "Deferred Tax Liabilities, Goodwill",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from goodwill."
       }
      }
     },
     "auth_ref": [
      "r120",
      "r132",
      "r133",
      "r979"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Intangible assets",
        "label": "Deferred Tax Liabilities, Intangible Assets",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill."
       }
      }
     },
     "auth_ref": [
      "r120",
      "r979"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesLeasingArrangements": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesLeasingArrangements",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating leases",
        "label": "Deferred Tax Liabilities, Leasing Arrangements",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from leasing arrangements."
       }
      }
     },
     "auth_ref": [
      "r120",
      "r979"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesOther",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other",
        "label": "Deferred Tax Liabilities, Other",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences classified as other."
       }
      }
     },
     "auth_ref": [
      "r120",
      "r979"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesDeferredTaxLiabilitiesAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Depreciation",
        "label": "Deferred Tax Liabilities, Property, Plant and Equipment",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment."
       }
      }
     },
     "auth_ref": [
      "r120",
      "r979"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesUndistributedForeignEarnings": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesUndistributedForeignEarnings",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Undistributed earnings of foreign subsidiaries",
        "label": "Deferred Tax Liabilities, Undistributed Foreign Earnings",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from undistributed earnings of subsidiary and other recognized entity not within country of domicile. Includes, but is not limited to, other basis differences."
       }
      }
     },
     "auth_ref": [
      "r979"
     ]
    },
    "us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails": {
       "parentTag": "us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Unrecognized actuarial gain",
        "label": "Defined Benefit Plan, Accumulated Other Comprehensive Income (Loss), Gain (Loss), before Tax",
        "documentation": "Amount, before tax, of accumulated other comprehensive income (loss) for gain (loss) of defined benefit plan, that has not been recognized in net periodic benefit (cost) credit."
       }
      }
     },
     "auth_ref": [
      "r54",
      "r539"
     ]
    },
    "us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails": {
       "parentTag": "us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unamortized prior service cost",
        "label": "Defined Benefit Plan, Accumulated Other Comprehensive (Income) Loss, Prior Service Cost (Credit), before Tax",
        "documentation": "Amount, before tax, of accumulated other comprehensive (income) loss for cost (credit) of benefit change attributable to participants' prior service from plan amendment or plan initiation of defined benefit plan, that has not been recognized in net periodic benefit cost (credit)."
       }
      }
     },
     "auth_ref": [
      "r54",
      "r539"
     ]
    },
    "us-gaap_DefinedBenefitPlanActuarialGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanActuarialGainLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedNetLabel": "Actuarial losses (gains)",
        "label": "Defined Benefit Plan, Benefit Obligation, Actuarial Gain (Loss)",
        "documentation": "Amount of gain (loss) from change in actuarial assumptions which (increases) decreases benefit obligation of defined benefit plan. Assumptions include, but are not limited to, interest, mortality, employee turnover, salary, and temporary deviation from substantive plan."
       }
      }
     },
     "auth_ref": [
      "r503"
     ]
    },
    "us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanAmortizationOfGainsLosses",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails": {
       "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Loss amortization (2)",
        "label": "Defined Benefit Plan, Amortization of Gain (Loss)",
        "documentation": "Amount of gain (loss) recognized in net periodic benefit (cost) credit of defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r497",
      "r534",
      "r551",
      "r856",
      "r857"
     ]
    },
    "us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanAmortizationOfPriorServiceCostCredit",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails": {
       "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortization of unrecognized prior service cost",
        "label": "Defined Benefit Plan, Amortization of Prior Service Cost (Credit)",
        "documentation": "Amount of prior service cost (credit) recognized in net periodic benefit cost (credit) of defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r497",
      "r535",
      "r552",
      "r856",
      "r857"
     ]
    },
    "us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanAmountsRecognizedInBalanceSheet",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsAmountsRecognizedintheConsolidatedFinancialStatementsDetails",
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net amount recognized",
        "negatedTotalLabel": "Net amount recognized",
        "label": "Defined Benefit Plan, Amounts for Asset (Liability) Recognized in Statement of Financial Position",
        "documentation": "Amount of asset (liability), recognized in statement of financial position, for defined benefit pension and other postretirement plans."
       }
      }
     },
     "auth_ref": [
      "r103",
      "r104"
     ]
    },
    "us-gaap_DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsAmountsRecognizedintheConsolidatedFinancialStatementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Pre-tax accumulated other comprehensive loss \u2013 unamortized post-retirement healthcare costs",
        "label": "Other Comprehensive Income (Loss), Defined Benefit Plan, Gain (Loss), after Reclassification Adjustment, before Tax",
        "documentation": "Amount, before tax, after reclassification adjustment, of increase (decrease) in accumulated other comprehensive income from gain (loss) of defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r181",
      "r213"
     ]
    },
    "us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Discount rate",
        "label": "Defined Benefit Plan, Assumptions Used Calculating Benefit Obligation, Discount Rate",
        "documentation": "Weighted average rate for present value of future retirement benefits cash flows, used to determine benefit obligation of defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r540"
     ]
    },
    "us-gaap_DefinedBenefitPlanBenefitObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanBenefitObligation",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails": {
       "parentTag": "us-gaap_DefinedBenefitPlanFundedStatusOfPlan",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Projected benefit obligation at",
        "periodEndLabel": "Projected benefit obligation at",
        "label": "Defined Benefit Plan, Benefit Obligation",
        "documentation": "Amount of actuarial present value of benefits attributed to service rendered by employee for defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r498"
     ]
    },
    "us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanBenefitObligationBenefitsPaid",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Benefits paid",
        "label": "Defined Benefit Plan, Benefit Obligation, Benefits Paid",
        "documentation": "Amount of payment to participant of defined benefit plan which decreases benefit obligation. For pension plan, payment includes, but is not limited to, pension benefits and death benefits. For other postretirement plan, payment includes, but is not limited to, prescription drug benefits, health care benefits, life insurance benefits, and legal, educational and advisory services."
       }
      }
     },
     "auth_ref": [
      "r505",
      "r557"
     ]
    },
    "us-gaap_DefinedBenefitPlanChangeInBenefitObligationRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanChangeInBenefitObligationRollForward",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Defined Benefit Plan, Change in Benefit Obligation [Roll Forward]",
        "label": "Defined Benefit Plan, Change in Benefit Obligation [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DefinedBenefitPlanDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanDisclosureLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsScheduleofTotalExpenseforAllRetirementPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Defined Benefit Plan Disclosure [Line Items]",
        "label": "Defined Benefit Plan Disclosure [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_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsExpectedBenefitPaymentsfromthePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Years 2029 - 2033",
        "label": "Defined Benefit Plan, Expected Future Benefit Payment, after Year Five for Next Five Years",
        "documentation": "Amount of benefit for defined benefit plan expected to be paid in five fiscal years after fifth fiscal year following current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r528"
     ]
    },
    "us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsExpectedBenefitPaymentsfromthePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2024",
        "label": "Defined Benefit Plan, Expected Future Benefit Payment, Year One",
        "documentation": "Amount of benefit for defined benefit plan expected to be paid in next fiscal year following current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r528"
     ]
    },
    "us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsExpectedBenefitPaymentsfromthePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2028",
        "label": "Defined Benefit Plan, Expected Future Benefit Payment, Year Five",
        "documentation": "Amount of benefit for defined benefit plan expected to be paid in fifth fiscal year following current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r528"
     ]
    },
    "us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsExpectedBenefitPaymentsfromthePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2027",
        "label": "Defined Benefit Plan, Expected Future Benefit Payment, Year Four",
        "documentation": "Amount of benefit for defined benefit plan expected to be paid in fourth fiscal year following current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r528"
     ]
    },
    "us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsExpectedBenefitPaymentsfromthePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2026",
        "label": "Defined Benefit Plan, Expected Future Benefit Payment, Year Three",
        "documentation": "Amount of benefit for defined benefit plan expected to be paid in third fiscal year following current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r528"
     ]
    },
    "us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsExpectedBenefitPaymentsfromthePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2025",
        "label": "Defined Benefit Plan, Expected Future Benefit Payment, Year Two",
        "documentation": "Amount of benefit for defined benefit plan expected to be paid in second fiscal year following current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r528"
     ]
    },
    "us-gaap_DefinedBenefitPlanFairValueOfPlanAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanFairValueOfPlanAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails": {
       "parentTag": "us-gaap_DefinedBenefitPlanFundedStatusOfPlan",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair value of plan assets",
        "label": "Defined Benefit Plan, Plan Assets, Amount",
        "documentation": "Amount of asset segregated and restricted to provide benefit under defined benefit plan. Asset includes, but is not limited to, stock, bond, other investment, earning from investment, and contribution by employer and employee."
       }
      }
     },
     "auth_ref": [
      "r509",
      "r520",
      "r521",
      "r522",
      "r854",
      "r855",
      "r856"
     ]
    },
    "us-gaap_DefinedBenefitPlanFundedStatusOfPlan": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanFundedStatusOfPlan",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails": {
       "parentTag": "us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Under funded status",
        "label": "Defined Benefit Plan, Funded (Unfunded) Status of Plan",
        "documentation": "Amount of funded (unfunded) status of defined benefit plan, measured as difference between fair value of plan assets and benefit obligation. Includes, but is not limited to, overfunded (underfunded) status."
       }
      }
     },
     "auth_ref": [
      "r495",
      "r518",
      "r856"
     ]
    },
    "rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Annual rate of increase in the per capita cost of: Medical costs after age 65",
        "label": "Defined Benefit Plan, Health Care Cost Trend Rate Assumed for Next Fiscal Year, Medical Costs After Age 65",
        "documentation": "Defined Benefit Plan, Health Care Cost Trend Rate Assumed for Next Fiscal Year, Medical Costs After Age 65"
       }
      }
     },
     "auth_ref": []
    },
    "rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Annual rate of increase in the per capita cost of: Medical costs before age 65",
        "label": "Defined Benefit Plan, Health Care Cost Trend Rate Assumed for Next Fiscal Year, Medical Costs Before Age 65",
        "documentation": "Defined Benefit Plan, Health Care Cost Trend Rate Assumed for Next Fiscal Year, Medical Costs Before Age 65"
       }
      }
     },
     "auth_ref": []
    },
    "rock_DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Annual rate of increase in the per capita cost of: Prescription drug costs",
        "label": "Defined Benefit Plan, Health Care Cost Trend Rate Assumed for Next Fiscal Year, Prescription Drug Costs",
        "documentation": "Defined Benefit Plan, Health Care Cost Trend Rate Assumed for Next Fiscal Year, Prescription Drug Costs"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DefinedBenefitPlanInterestCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanInterestCost",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails": {
       "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails",
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest cost",
        "label": "Defined Benefit Plan, Interest Cost",
        "documentation": "Amount of cost recognized for passage of time related to defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r497",
      "r501",
      "r532",
      "r549",
      "r856",
      "r857"
     ]
    },
    "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanNetPeriodicBenefitCost",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net periodic pension cost",
        "label": "Defined Benefit Plan, Net Periodic Benefit Cost (Credit)",
        "documentation": "Amount of net periodic benefit cost (credit) for defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r530",
      "r547",
      "r856",
      "r857"
     ]
    },
    "us-gaap_DefinedBenefitPlanUltimateHealthCareCostTrendRate1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanUltimateHealthCareCostTrendRate1",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Ultimate healthcare trend rates",
        "label": "Defined Benefit Plan, Ultimate Health Care Cost Trend Rate",
        "documentation": "Ultimate trend rate for health care cost for defined benefit postretirement plan."
       }
      }
     },
     "auth_ref": [
      "r543"
     ]
    },
    "us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsAmountsRecognizedintheConsolidatedFinancialStatementsDetails",
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails",
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsExpectedBenefitPaymentsfromthePlanDetails",
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Defined Benefit Plans and Other Postretirement Benefit Plans Disclosures [Table]",
        "label": "Defined Benefit Plans and Other Postretirement Benefit Plans Disclosures [Table]",
        "documentation": "Disclosures and provisions pertaining to defined benefit pension plans or other postretirement defined benefit plans. The arrangements are generally based on terms and conditions stipulated by the entity, and which contain a promise by the employer to pay certain amounts or awards at designated future dates, including a period after retirement, upon compliance with stipulated requirements. Excludes disclosures pertaining to defined contribution plans."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r105",
      "r106",
      "r107",
      "r108"
     ]
    },
    "us-gaap_DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlansAndOtherPostretirementBenefitPlansTableTextBlockLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsAmountsRecognizedintheConsolidatedFinancialStatementsDetails",
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails",
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails",
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsExpectedBenefitPaymentsfromthePlanDetails",
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Defined Benefit Plans and Other Postretirement Benefit Plans Table Text Block [Line Items]",
        "label": "Defined Benefit Plans and Other Postretirement Benefit Plans Table Text Block [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_DefinedBenefitPostretirementHealthCoverageMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPostretirementHealthCoverageMember",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsAmountsRecognizedintheConsolidatedFinancialStatementsDetails",
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails",
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails",
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsExpectedBenefitPaymentsfromthePlanDetails",
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsScheduleofTotalExpenseforAllRetirementPlansDetails",
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Other Postretirement Benefits",
        "terseLabel": "Unamortized Post-Retirement Health Care Costs",
        "label": "Postretirement Health Coverage [Member]",
        "documentation": "Plan designed to provide postretirement health benefits to retiree or beneficiary. Includes, but is not limited to, defined benefit and defined contribution plans."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Depreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Depreciation",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesSummaryofInterestCapitalizedandDepreciationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Depreciation expense",
        "label": "Depreciation",
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r90"
     ]
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DepreciationDepletionAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.gibraltar1.com/role/SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Depreciation and amortization",
        "label": "Depreciation, Depletion 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": [
      "r18",
      "r347"
     ]
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationNetSalesbyContractTypeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Disaggregation of Revenue [Line Items]",
        "label": "Disaggregation of Revenue [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": [
      "r490",
      "r847",
      "r848",
      "r849",
      "r850",
      "r851",
      "r852",
      "r853"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueTable",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationNetSalesbyContractTypeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Disaggregation of Revenue [Table]",
        "label": "Disaggregation of Revenue [Table]",
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r490",
      "r847",
      "r848",
      "r849",
      "r850",
      "r851",
      "r852",
      "r853"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Disaggregation of Revenue",
        "label": "Disaggregation of Revenue [Table Text Block]",
        "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r950"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Equity-Based Compensation",
        "label": "Share-Based Payment Arrangement [Text Block]",
        "documentation": "The entire disclosure for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r563",
      "r568",
      "r599",
      "r600",
      "r602",
      "r865"
     ]
    },
    "us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Compensation Expense Connection with Awards",
        "label": "Disclosure of Share-Based Compensation Arrangements by Share-Based Payment Award [Table Text Block]",
        "documentation": "Tabular disclosure of share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r21",
      "r109"
     ]
    },
    "us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Estimated pre-tax loss",
        "label": "Discontinued Operation, Gain (Loss) from Disposal of Discontinued Operation, before Income Tax",
        "documentation": "Amount before tax of gain (loss) not previously recognized resulting from the disposal of a discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r148",
      "r150",
      "r152"
     ]
    },
    "us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Adjustment to loss on disposal",
        "label": "Discontinued Operation, Gain (Loss) on Disposal of Discontinued Operation, Net of Tax",
        "documentation": "Amount after tax of gain (loss) not previously recognized resulting from the disposal of a discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r148",
      "r150",
      "r152",
      "r162"
     ]
    },
    "rock_DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag",
     "presentation": [
      "http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Discontinued Operation Gain Loss On Disposal Statement Of Income Or Comprehensive Income Extensible Enumeration Not Disclosed Flag",
        "label": "Discontinued Operation Gain Loss On Disposal Statement Of Income Or Comprehensive Income Extensible Enumeration Not Disclosed Flag",
        "documentation": "Discontinued Operation Gain Loss On Disposal Statement Of Income Or Comprehensive Income Extensible Enumeration Not Disclosed Flag"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome",
      "http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Income before taxes",
        "terseLabel": "Income from discontinued operations before taxes",
        "label": "Discontinued Operation, Income (Loss) from Discontinued Operation, before Income Tax",
        "documentation": "Amount before tax of income (loss) from a discontinued operation. Includes, but is not limited to, the income (loss) from operations during the phase-out period, gain (loss) on disposal, gain (loss) for reversal of write-down (write-down) to fair value, less cost to sell, and adjustments to a prior period gain (loss) on disposal."
       }
      }
     },
     "auth_ref": [
      "r148",
      "r149",
      "r150",
      "r151",
      "r152",
      "r158",
      "r185",
      "r1001"
     ]
    },
    "us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DiscontinuedOperationTaxEffectOfDiscontinuedOperation",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Provision for income taxes",
        "label": "Discontinued Operation, Tax Effect of Discontinued Operation",
        "documentation": "Amount of tax expense (benefit) related to a discontinued operation. Includes, but is not limited to, tax expense (benefit) related to income (loss) from operations during the phase-out period, tax expense (benefit) related to gain (loss) on disposal, tax expense (benefit) related to gain (loss) for reversal of write-down (write-down) to fair value, less cost to sell, and tax expense (benefit) related to adjustments of a prior period gain (loss) on disposal."
       }
      }
     },
     "auth_ref": [
      "r149",
      "r150",
      "r151",
      "r152",
      "r158",
      "r162",
      "r616",
      "r632",
      "r639"
     ]
    },
    "us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DiscontinuedOperationsAndDisposalGroupsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Discontinued Operations and Disposal Groups [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DiscontinuedOperationsDisposedOfBySaleMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DiscontinuedOperationsDisposedOfBySaleMember",
     "presentation": [
      "http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Discontinued Operations, Disposed of by Sale",
        "label": "Discontinued Operations, Disposed of by Sale [Member]",
        "documentation": "Component or group of components disposed of by sale and representing a strategic shift that has or will have a major effect on operations and financial results."
       }
      }
     },
     "auth_ref": [
      "r16"
     ]
    },
    "us-gaap_DisposalGroupClassificationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisposalGroupClassificationAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Disposal Group Classification [Axis]",
        "label": "Disposal Group Classification [Axis]",
        "documentation": "Information by disposal group classification."
       }
      }
     },
     "auth_ref": [
      "r257"
     ]
    },
    "us-gaap_DisposalGroupClassificationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisposalGroupClassificationDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Disposal Group Classification [Domain]",
        "label": "Disposal Group Classification [Domain]",
        "documentation": "Component or group of components disposed of, including but not limited to, disposal group held-for-sale or disposed of by sale, disposed of by means other than sale, and discontinued operations."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisposalGroupDisposedOfBySaleNotDiscontinuedOperationsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisposalGroupDisposedOfBySaleNotDiscontinuedOperationsMember",
     "presentation": [
      "http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Disposal Group, Disposed of by Sale, Not Discontinued Operations",
        "label": "Disposal Group, Disposed of by Sale, Not Discontinued Operations [Member]",
        "documentation": "Disposal group that has been sold. Excludes disposals classified as discontinued operations."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r36"
     ]
    },
    "us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisposalGroupIncludingDiscontinuedOperationConsideration",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net proceeds of sale of business",
        "label": "Disposal Group, Including Discontinued Operation, Consideration",
        "documentation": "Amount of consideration received or receivable for the disposal of assets and liabilities, including discontinued operation."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisposalGroupIncludingDiscontinuedOperationOperatingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisposalGroupIncludingDiscontinuedOperationOperatingExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating expenses",
        "label": "Disposal Group, Including Discontinued Operation, Operating Expense",
        "documentation": "Amount of operating expense attributable to disposal group, including, but not limited to, discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r159"
     ]
    },
    "us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisposalGroupIncludingDiscontinuedOperationRevenue",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net sales",
        "label": "Disposal Group, Including Discontinued Operation, Revenue",
        "documentation": "Amount of revenue attributable to disposal group, including, but not limited to, discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r159",
      "r258"
     ]
    },
    "us-gaap_DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/DiscontinuedOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "DISCONTINUED OPERATIONS",
        "label": "Disposal Groups, Including Discontinued Operations, Disclosure [Text Block]",
        "documentation": "The entire disclosure related to a disposal group. Includes, but is not limited to, a discontinued operation, disposal classified as held-for-sale or disposed of by means other than sale or disposal of an individually significant component."
       }
      }
     },
     "auth_ref": [
      "r146",
      "r204"
     ]
    },
    "us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisposalGroupsIncludingDiscontinuedOperationsNameDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Disposal Group Name [Domain]",
        "label": "Disposal Group Name [Domain]",
        "documentation": "Name of disposal group."
       }
      }
     },
     "auth_ref": [
      "r858",
      "r861"
     ]
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Annual Report",
        "label": "Document Annual Report",
        "documentation": "Boolean flag that is true only for a form used as an annual report."
       }
      }
     },
     "auth_ref": [
      "r885",
      "r886",
      "r887"
     ]
    },
    "dei_DocumentFinStmtErrorCorrectionFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFinStmtErrorCorrectionFlag",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Financial Statement Error Correction [Flag]",
        "label": "Document Financial Statement Error Correction [Flag]",
        "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction."
       }
      }
     },
     "auth_ref": [
      "r885",
      "r886",
      "r887",
      "r889"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Fiscal Period Focus",
        "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.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Fiscal Year Focus",
        "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.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Period End Date",
        "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_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Transition Report",
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r888"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Type",
        "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": []
    },
    "dei_DocumentsIncorporatedByReferenceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentsIncorporatedByReferenceTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Documents Incorporated by Reference",
        "label": "Documents Incorporated by Reference [Text Block]",
        "documentation": "Documents incorporated by reference."
       }
      }
     },
     "auth_ref": [
      "r883"
     ]
    },
    "us-gaap_DomesticCountryMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DomesticCountryMember",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Federal",
        "label": "Domestic Tax Authority [Member]",
        "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareAbstract",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net earnings per share \u2013 Basic:",
        "label": "Earnings Per Share [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasic",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net income (in dollars per share)",
        "label": "Earnings Per Share, Basic",
        "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": [
      "r290",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r322",
      "r324",
      "r330",
      "r331",
      "r332",
      "r336",
      "r657",
      "r658",
      "r700",
      "r717",
      "r834"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareDiluted",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net income (in dollars per share)",
        "label": "Earnings Per Share, Diluted",
        "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": [
      "r290",
      "r313",
      "r314",
      "r315",
      "r316",
      "r317",
      "r324",
      "r330",
      "r331",
      "r332",
      "r336",
      "r657",
      "r658",
      "r700",
      "r717",
      "r834"
     ]
    },
    "us-gaap_EarningsPerShareDilutedAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareDilutedAbstract",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net earnings per share \u2013 Diluted:",
        "label": "Earnings Per Share, Diluted [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerSharePolicyTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Earnings per share",
        "label": "Earnings Per Share, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements."
       }
      }
     },
     "auth_ref": [
      "r68",
      "r69"
     ]
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/EarningsperShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Earnings per Share",
        "label": "Earnings Per Share [Text Block]",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r321",
      "r333",
      "r334",
      "r335"
     ]
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Effect of exchange rate changes on cash",
        "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations",
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts 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": [
      "r663"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Effective income tax rate, percentage",
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r617"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Effective Income Tax Rate Reconciliation, Percent [Abstract]",
        "label": "Effective Income Tax Rate Reconciliation, Percent [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails",
      "http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statutory rate",
        "netLabel": "Statutory tax rate, percentage",
        "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent",
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)."
       }
      }
     },
     "auth_ref": [
      "r300",
      "r617",
      "r636"
     ]
    },
    "rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Executive compensation",
        "label": "Effective Income Tax Rate Reconciliation, Executive Compensation, Amount",
        "documentation": "Effective Income Tax Rate Reconciliation, Executive Compensation, Amount"
       }
      }
     },
     "auth_ref": []
    },
    "rock_EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Executive compensation",
        "label": "Effective Income Tax Rate Reconciliation, Executive Compensation, Percent",
        "documentation": "Effective Income Tax Rate Reconciliation, Executive Compensation, Percent"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other",
        "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Percent",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments."
       }
      }
     },
     "auth_ref": [
      "r977",
      "r982"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Excess tax benefit on stock based compensation",
        "label": "Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-Based Payment Arrangement, Amount",
        "documentation": "Amount of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r892",
      "r977"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Excess tax benefit on stock based compensation",
        "label": "Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-Based Payment Arrangement, Percent",
        "documentation": "Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r892",
      "r977"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State taxes, less federal effect",
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit)."
       }
      }
     },
     "auth_ref": [
      "r977",
      "r982"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationTaxCredits",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Federal tax credits",
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Percent",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits."
       }
      }
     },
     "auth_ref": [
      "r977",
      "r982"
     ]
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/AccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrentAndNoncurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Compensation",
        "label": "Employee-related Liabilities, Current",
        "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": [
      "r45"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unrecognized compensation cost",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount",
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r601"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average cost recognition period, in years",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition",
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for 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": [
      "r601"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofCompensationExpenseConnectionwithAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Tax benefits recognized related to stock compensation expense",
        "label": "Share-Based Payment Arrangement, Expense, Tax Benefit",
        "documentation": "Amount of tax benefit for recognition of expense of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r598"
     ]
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, Address Line One",
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine2": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine2",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, Address Line Two",
        "label": "Entity Address, Address Line Two",
        "documentation": "Address Line 2 such as Street or Suite number"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, City or Town",
        "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.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, Postal Zip Code",
        "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.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, State or Province",
        "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.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Central Index Key",
        "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": [
      "r882"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Common Stock, Shares Outstanding",
        "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.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Current Reporting Status",
        "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.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Emerging Growth Company",
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r882"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity File Number",
        "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.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Filer Category",
        "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": [
      "r882"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Incorporation, State or Country Code",
        "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.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Interactive Data Current",
        "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": [
      "r890"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Public Float",
        "label": "Entity Public Float",
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Registrant Name",
        "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": [
      "r882"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Shell Company",
        "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": [
      "r882"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Small Business",
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r882"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Tax Identification Number",
        "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": [
      "r882"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Voluntary Filers",
        "label": "Entity Voluntary Filers",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityWellKnownSeasonedIssuer",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Well-known Seasoned Issuer",
        "label": "Entity Well-known Seasoned Issuer",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A."
       }
      }
     },
     "auth_ref": [
      "r891"
     ]
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeDetails",
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity",
      "http://www.gibraltar1.com/role/EquityBasedCompensationCashPaidtoSettleLiabilityAwardsDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails",
      "http://www.gibraltar1.com/role/LeasesNarrativeDetails",
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Equity Component [Domain]",
        "label": "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": [
      "r30",
      "r255",
      "r284",
      "r285",
      "r286",
      "r308",
      "r309",
      "r310",
      "r312",
      "r318",
      "r320",
      "r337",
      "r385",
      "r386",
      "r470",
      "r603",
      "r604",
      "r605",
      "r629",
      "r630",
      "r650",
      "r651",
      "r652",
      "r653",
      "r654",
      "r655",
      "r656",
      "r664",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r689",
      "r732",
      "r733",
      "r734",
      "r745",
      "r797"
     ]
    },
    "rock_ExercisePriceRangeOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "ExercisePriceRangeOneMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofRangesofOutstandingandExercisableOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "$39.55",
        "label": "Exercise Price Range One [Member]",
        "documentation": "Exercise Price Range One [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ExtinguishmentOfDebtLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ExtinguishmentOfDebtLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/FairValueMeasurementsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Extinguishment of Debt [Line Items]",
        "label": "Extinguishment of Debt [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_FairValueDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueDisclosuresAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value Disclosures [Abstract]",
        "label": "Fair Value Disclosures [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueDisclosuresTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/FairValueMeasurements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value Measurements",
        "label": "Fair Value Disclosures [Text Block]",
        "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information."
       }
      }
     },
     "auth_ref": [
      "r659"
     ]
    },
    "rock_FairValueMeasurementPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "FairValueMeasurementPeriod",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value, Measurement Period",
        "label": "Fair Value, Measurement Period",
        "documentation": "Fair Value, Measurement Period"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinancingReceivableAllowanceForCreditLossesWriteOffs",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesSummaryofActivityRecordedwithintheAllowanceforDoubtfulAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accounts written off against allowance and other adjustments",
        "label": "Financing Receivable, Allowance for Credit Loss, Writeoff",
        "documentation": "Amount of writeoff of financing receivable, charged against allowance for credit loss."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r389",
      "r390",
      "r838"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accumulated Amortization, Finite-lived intangible assets",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r266",
      "r412"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2024",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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": [
      "r202"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Intangible Assets Amortization Expense",
        "label": "Finite-Lived Intangible Assets Amortization Expense [Table Text Block]",
        "documentation": "Tabular disclosure of amortization expense of assets, excluding financial assets, that lack physical substance, having a limited useful life."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2028",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Five",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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": [
      "r202"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2027",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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": [
      "r202"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2026",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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": [
      "r202"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2025",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized 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": [
      "r202"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "documentation": "Information by major type or class of finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r408",
      "r411",
      "r412",
      "r414",
      "r695",
      "r696"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofFutureAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]",
        "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsGross",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Gross Carrying Amount, Finite-lived intangible assets",
        "label": "Finite-Lived Intangible Assets, Gross",
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r201",
      "r696"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofImpairmentChargesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finite-Lived Intangible Assets [Line Items]",
        "label": "Finite-Lived Intangible Assets [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": [
      "r695"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "label": "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": [
      "r85",
      "r88"
     ]
    },
    "us-gaap_FinitelivedIntangibleAssetsAcquired1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinitelivedIntangibleAssetsAcquired1",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finite-lived intangible assets acquired",
        "label": "Finite-Lived Intangible Assets Acquired",
        "documentation": "Amount of increase in assets, excluding financial assets, lacking physical substance with a definite life, from an acquisition."
       }
      }
     },
     "auth_ref": [
      "r409"
     ]
    },
    "us-gaap_ForeignCountryMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignCountryMember",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign Tax Authority",
        "label": "Foreign Tax Authority [Member]",
        "documentation": "Designated tax departments of governments entitled to levy and collect income taxes from the entity outside the entity's country of domicile."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign currency transactions and translation",
        "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy."
       }
      }
     },
     "auth_ref": [
      "r662"
     ]
    },
    "us-gaap_GainLossOnSaleOfBusiness": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainLossOnSaleOfBusiness",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails",
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Held for sale valuation allowance",
        "terseLabel": "Held for sale valuation allowance",
        "label": "Gain (Loss) on Disposition of Business",
        "documentation": "Amount of gain (loss) from sale and disposal of integrated set of activities and assets capable of being conducted and managed for purpose of providing return in form of dividend, lower cost, or other economic benefit to investor, owner, member and participant."
       }
      }
     },
     "auth_ref": [
      "r647",
      "r907"
     ]
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Goodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 6.0
      },
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails",
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails",
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill",
        "periodStartLabel": "Balance at",
        "periodEndLabel": "Balance at",
        "label": "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": [
      "r265",
      "r395",
      "r697",
      "r839",
      "r868",
      "r928",
      "r935"
     ]
    },
    "us-gaap_GoodwillAcquiredDuringPeriod": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAcquiredDuringPeriod",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Acquired goodwill",
        "label": "Goodwill, Acquired During Period",
        "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination."
       }
      }
     },
     "auth_ref": [
      "r399",
      "r839"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetImpairment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetImpairment",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 3.0
      },
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Intangible asset impairment",
        "label": "Goodwill and Intangible Asset Impairment",
        "documentation": "Total loss recognized during the period from the impairment of goodwill plus the loss recognized in the period resulting from the impairment of the carrying amount of intangible assets, other than goodwill."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill and Intangible Assets Disclosure [Abstract]",
        "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.gibraltar1.com/role/GoodwillandRelatedIntangibleAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill and Related Intangible Assets",
        "label": "Goodwill and Intangible Assets Disclosure [Text Block]",
        "documentation": "The entire disclosure for goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r199"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill and other intangible assets",
        "label": "Goodwill and Intangible Assets, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r82"
     ]
    },
    "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillForeignCurrencyTranslationGainLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Foreign currency translation",
        "label": "Goodwill, Foreign Currency Translation Gain (Loss)",
        "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r403"
     ]
    },
    "us-gaap_GoodwillImpairedAccumulatedImpairmentLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillImpairedAccumulatedImpairmentLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accumulated impairment losses",
        "label": "Goodwill, Impaired, Accumulated Impairment Loss",
        "documentation": "Amount of accumulated impairment loss for 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": [
      "r398",
      "r405",
      "r839"
     ]
    },
    "us-gaap_GoodwillImpairmentLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillImpairmentLoss",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill impairment",
        "label": "Goodwill, Impairment Loss",
        "documentation": "Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r396",
      "r402",
      "r407",
      "r839"
     ]
    },
    "us-gaap_GoodwillLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsNarrativeDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill [Line Items]",
        "label": "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": [
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r839"
     ]
    },
    "us-gaap_GoodwillPurchaseAccountingAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillPurchaseAccountingAdjustments",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Adjustment to prior year acquisition",
        "label": "Goodwill, Purchase Accounting Adjustments",
        "documentation": "Amount of increase (decrease) from adjustments after acquisition date under purchase accounting of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r934"
     ]
    },
    "us-gaap_GoodwillRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillRollForward",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill [Roll Forward]",
        "label": "Goodwill [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GoodwillWrittenOffRelatedToSaleOfBusinessUnit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillWrittenOffRelatedToSaleOfBusinessUnit",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Sale of business",
        "label": "Goodwill, Written off Related to Sale of Business Unit",
        "documentation": "Amount of divestiture 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": [
      "r401",
      "r839"
     ]
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross profit",
        "label": "Gross Profit",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r188",
      "r298",
      "r342",
      "r362",
      "r368",
      "r371",
      "r384",
      "r437",
      "r438",
      "r440",
      "r441",
      "r442",
      "r444",
      "r446",
      "r448",
      "r449",
      "r661",
      "r835",
      "r945"
     ]
    },
    "rock_HomeImprovementRetailCompanyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "HomeImprovementRetailCompanyMember",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Home Improvement Retail Company",
        "label": "Home Improvement Retail Company [Member]",
        "documentation": "Home Improvement Retail Company [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_IcfrAuditorAttestationFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "IcfrAuditorAttestationFlag",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "ICFR Auditor Attestation Flag",
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "auth_ref": [
      "r885",
      "r886",
      "r887"
     ]
    },
    "us-gaap_ImpairmentOfIntangibleAssetIndefiniteLivedExcludingGoodwillStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ImpairmentOfIntangibleAssetIndefiniteLivedExcludingGoodwillStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Impairment, Intangible Asset, Indefinite-Lived (Excluding Goodwill), Statement of Income or Comprehensive Income [Extensible Enumeration]",
        "label": "Impairment, Intangible Asset, Indefinite-Lived (Excluding Goodwill), Statement of Income or Comprehensive Income [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of income or comprehensive income that includes impairment of indefinite-lived intangible asset excluding goodwill."
       }
      }
     },
     "auth_ref": [
      "r415"
     ]
    },
    "us-gaap_ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsNarrativeDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofImpairmentChargesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Impairment of indefinite-lived intangibles",
        "label": "Impairment of Intangible Assets, Indefinite-Lived (Excluding Goodwill)",
        "documentation": "Amount of impairment loss resulting from write-down of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit to fair value."
       }
      }
     },
     "auth_ref": [
      "r907",
      "r938"
     ]
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Impairment of long-lived assets",
        "label": "Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r207"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperations",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome",
      "http://www.gibraltar1.com/role/EarningsperShareScheduleofComputationofBasicandDilutedEarningsperShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income from continuing operations",
        "terseLabel": "Income from continuing operations",
        "verboseLabel": "Income from continuing operations",
        "label": "Income (Loss) from Continuing Operations, Net of Tax, Attributable to Parent",
        "documentation": "Amount after tax of income (loss) from continuing operations attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r134",
      "r189",
      "r196",
      "r313",
      "r314",
      "r315",
      "r316",
      "r329",
      "r332"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesComponentsofIncomeLossbeforeTaxesfromContinuingOperationsDetails": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesComponentsofIncomeLossbeforeTaxesfromContinuingOperationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Domestic",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Domestic",
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations."
       }
      }
     },
     "auth_ref": [
      "r299",
      "r635"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperations",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.gibraltar1.com/role/IncomeTaxesComponentsofIncomeLossbeforeTaxesfromContinuingOperationsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome",
      "http://www.gibraltar1.com/role/IncomeTaxesComponentsofIncomeLossbeforeTaxesfromContinuingOperationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income before taxes",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "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": [
      "r2",
      "r184",
      "r233",
      "r342",
      "r362",
      "r368",
      "r371",
      "r701",
      "r713",
      "r835"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesComponentsofIncomeLossbeforeTaxesfromContinuingOperationsDetails": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesComponentsofIncomeLossbeforeTaxesfromContinuingOperationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Foreign",
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile."
       }
      }
     },
     "auth_ref": [
      "r299",
      "r635"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsPerBasicShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsPerBasicShare",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_EarningsPerShareBasic",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income from continuing operations (in dollars per share)",
        "label": "Income (Loss) from Continuing Operations, Per Basic Share",
        "documentation": "The amount of net income (loss) from continuing operations per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r182",
      "r232",
      "r234",
      "r290",
      "r311",
      "r313",
      "r314",
      "r315",
      "r316",
      "r324",
      "r330",
      "r331",
      "r658",
      "r700",
      "r1002"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsPerDilutedShare",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_EarningsPerShareDiluted",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income from continuing operations (in dollars per share)",
        "label": "Income (Loss) from Continuing Operations, Per Diluted Share",
        "documentation": "The amount of net income (loss) derived from continuing operations during 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": [
      "r182",
      "r290",
      "r311",
      "r313",
      "r314",
      "r315",
      "r316",
      "r324",
      "r330",
      "r331",
      "r332",
      "r658",
      "r700",
      "r1002"
     ]
    },
    "us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome",
      "http://www.gibraltar1.com/role/EarningsperShareScheduleofComputationofBasicandDilutedEarningsperShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income from discontinued operations",
        "netLabel": "Income from discontinued operations",
        "label": "Income (Loss) from Discontinued Operations, Net of Tax, Attributable to Parent",
        "documentation": "Amount after tax of income (loss) from a discontinued operation attributable to the parent. Includes, but is not limited to, the income (loss) from operations during the phase-out period, gain (loss) on disposal, gain (loss) for reversal of write-down (write-down) to fair value, less cost to sell, and adjustments to a prior period gain (loss) on disposal."
       }
      }
     },
     "auth_ref": [
      "r148",
      "r149",
      "r150",
      "r151",
      "r152",
      "r158",
      "r162",
      "r224"
     ]
    },
    "us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_EarningsPerShareBasic",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Income from discontinued operations (in dollars per share)",
        "label": "Income (Loss) from Discontinued Operations and Disposal of Discontinued Operations, Net of Tax, Per Basic Share",
        "documentation": "Per basic share amount, after tax, of income (loss) from the day-to-day business activities of the discontinued operation and gain (loss) from the disposal of the discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r185",
      "r290",
      "r328",
      "r330",
      "r331",
      "r999",
      "r1002"
     ]
    },
    "us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_EarningsPerShareDiluted",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Income from discontinued operations (in dollars per share)",
        "label": "Income (Loss) from Discontinued Operations and Disposal of Discontinued Operations, Net of Tax, Per Diluted Share",
        "documentation": "Per diluted share amount, after tax, of income (loss) from the day-to-day business activities of the discontinued operation and gain (loss) from the disposal of the discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r225",
      "r328",
      "r330",
      "r331"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Statement [Abstract]",
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Disposal Group Name [Axis]",
        "label": "Disposal Group Name [Axis]",
        "documentation": "Information by name of disposal group."
       }
      }
     },
     "auth_ref": [
      "r858",
      "r861"
     ]
    },
    "us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [Line Items]",
        "label": "Income Statement, Balance Sheet and Additional Disclosures by Disposal Groups, Including Discontinued Operations [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_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsTable",
     "presentation": [
      "http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Disposal Groups, Including Discontinued Operations [Table]",
        "label": "Disposal Groups, Including Discontinued Operations [Table]",
        "documentation": "Disclosure of information about a disposal group. Includes, but is not limited to, a discontinued operation, disposal classified as held-for-sale or disposed of by means other than sale or disposal of an individually significant component."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r36",
      "r40",
      "r147",
      "r153",
      "r154",
      "r155",
      "r156",
      "r157",
      "r161",
      "r163",
      "r164",
      "r206"
     ]
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementLocationAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsAcquisitionRelatedCostsDetails",
      "http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Statement Location [Axis]",
        "label": "Income Statement Location [Axis]",
        "documentation": "Information by location in the income statement."
       }
      }
     },
     "auth_ref": [
      "r416",
      "r422",
      "r782"
     ]
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementLocationDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsAcquisitionRelatedCostsDetails",
      "http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Statement Location [Domain]",
        "label": "Income Statement Location [Domain]",
        "documentation": "Location in the income statement."
       }
      }
     },
     "auth_ref": [
      "r422",
      "r782"
     ]
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxAuthorityAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Tax Authority [Axis]",
        "label": "Income Tax Authority [Axis]",
        "documentation": "Information by tax jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r27"
     ]
    },
    "us-gaap_IncomeTaxAuthorityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxAuthorityDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Tax Authority [Domain]",
        "label": "Income Tax Authority [Domain]",
        "documentation": "Agency, division or body classification 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.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Tax Contingency [Line Items]",
        "label": "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.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Tax Contingency [Table]",
        "label": "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": [
      "r28",
      "r121",
      "r220",
      "r221"
     ]
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Tax Disclosure [Abstract]",
        "label": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Taxes",
        "label": "Income Tax Disclosure [Text Block]",
        "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": [
      "r300",
      "r611",
      "r618",
      "r620",
      "r626",
      "r631",
      "r637",
      "r641",
      "r642",
      "r744"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperations",
       "weight": -1.0,
       "order": 2.0
      },
      "http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome",
      "http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails",
      "http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Provision for income taxes",
        "totalLabel": "Provision for income taxes",
        "label": "Income Tax Expense (Benefit)",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r241",
      "r253",
      "r319",
      "r320",
      "r350",
      "r616",
      "r632",
      "r719"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Effective Income Tax Rate Reconciliation, Amount [Abstract]",
        "label": "Income Tax Expense (Benefit), Effective Income Tax Rate Reconciliation, Amount [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income taxes",
        "label": "Income Tax, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements."
       }
      }
     },
     "auth_ref": [
      "r283",
      "r612",
      "r613",
      "r620",
      "r621",
      "r625",
      "r627",
      "r740"
     ]
    },
    "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statutory rate",
        "label": "Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount",
        "documentation": "The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r617"
     ]
    },
    "us-gaap_IncomeTaxReconciliationOtherAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationOtherAdjustments",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other",
        "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Amount",
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments."
       }
      }
     },
     "auth_ref": [
      "r977"
     ]
    },
    "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State taxes, less federal effect",
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount",
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit)."
       }
      }
     },
     "auth_ref": [
      "r977"
     ]
    },
    "us-gaap_IncomeTaxReconciliationTaxCredits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxReconciliationTaxCredits",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesProvisionforIncomeTaxesfromContinuingOperationsDiffersfromtheFederalStatutoryRateDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Federal tax credits",
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Amount",
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits."
       }
      }
     },
     "auth_ref": [
      "r977"
     ]
    },
    "rock_IncomeTaxStatueOfLimitationsExpirationPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "IncomeTaxStatueOfLimitationsExpirationPeriod",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statute of limitations expiration period, in years",
        "label": "Income Tax Statue Of Limitations Expiration Period",
        "documentation": "Income Tax Statue Of Limitations Expiration Period"
       }
      }
     },
     "auth_ref": []
    },
    "rock_IncomeTaxesPaidAndNetOfTaxRefundsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "IncomeTaxesPaidAndNetOfTaxRefundsTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Taxes Paid, Net of Tax Refunds",
        "label": "Income Taxes Paid And Net Of Tax Refunds [Table Text Block]",
        "documentation": "Income taxes paid and net of tax refunds [Table Text Block]."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxesPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesIncomeTaxesPaidNetofTaxRefundsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Payments made for income taxes, net",
        "label": "Income Taxes Paid, 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": [
      "r64"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsPayable",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts payable",
        "label": "Increase (Decrease) in 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": [
      "r17"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accounts receivable",
        "label": "Increase (Decrease) in 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": [
      "r17"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": -1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Inventories",
        "label": "Increase (Decrease) in 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": [
      "r17"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Changes in operating assets and liabilities net of effects from acquisitions:",
        "label": "Increase (Decrease) in Operating Capital [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOtherAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued expenses and other non-current liabilities",
        "label": "Increase (Decrease) in Other Accrued Liabilities",
        "documentation": "The increase (decrease) during the reporting period in other expenses incurred but not yet paid."
       }
      }
     },
     "auth_ref": [
      "r17"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Other current assets and other assets",
        "label": "Increase (Decrease) in Other Operating Assets",
        "documentation": "Amount of increase (decrease) in operating assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r17"
     ]
    },
    "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]",
        "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "calculation": {
      "http://www.gibraltar1.com/role/EarningsperShareScheduleofComputationofBasicandDilutedEarningsperShareDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/EarningsperShareScheduleofComputationofBasicandDilutedEarningsperShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock options and restricted stock (in shares)",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements",
        "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": [
      "r325",
      "r326",
      "r327",
      "r332",
      "r567"
     ]
    },
    "rock_IndefiniteLivedAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "IndefiniteLivedAccumulatedAmortization",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated Amortization, Indefinite-lived intangible assets",
        "label": "Indefinite Lived Accumulated Amortization",
        "documentation": "Indefinite-lived accumulated amortization."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IndefiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsNarrativeDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofImpairmentChargesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Indefinite-lived Intangible Assets [Axis]",
        "label": "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": [
      "r410",
      "r413"
     ]
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IndefiniteLivedIntangibleAssetsExcludingGoodwill",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Gross Carrying Amount, Indefinite-lived intangible assets",
        "label": "Indefinite-Lived Intangible Assets (Excluding Goodwill)",
        "documentation": "Amount of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit."
       }
      }
     },
     "auth_ref": [
      "r203"
     ]
    },
    "us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IndefiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsNarrativeDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofImpairmentChargesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Indefinite-lived Intangible Assets, Major Class Name [Domain]",
        "label": "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": [
      "r86",
      "r203"
     ]
    },
    "us-gaap_IndefinitelivedIntangibleAssetsAcquired": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IndefinitelivedIntangibleAssetsAcquired",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Indefinite-lived intangible assets acquired",
        "label": "Indefinite-Lived Intangible Assets Acquired",
        "documentation": "Amount of increase in assets, excluding financial assets and goodwill, lacking physical substance with an indefinite life, from an acquisition."
       }
      }
     },
     "auth_ref": []
    },
    "rock_IndustrialBusinessSegmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "IndustrialBusinessSegmentMember",
     "presentation": [
      "http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Industrial Business Segment",
        "label": "Industrial Business Segment [Member]",
        "documentation": "Industrial Business Segment"
       }
      }
     },
     "auth_ref": []
    },
    "rock_InfrastructureMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "InfrastructureMember",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsScheduleOfAssetImpairmentChargesRelatedToRestructuringActivitiesDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofImpairmentChargesDetails",
      "http://www.gibraltar1.com/role/SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails",
      "http://www.gibraltar1.com/role/SegmentInformationNetSalesbyContractTypeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Infrastructure",
        "label": "Infrastructure [Member]",
        "documentation": "Infrastructure"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Acquired intangibles",
        "label": "Intangible Assets, Net (Excluding Goodwill)",
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges."
       }
      }
     },
     "auth_ref": [
      "r83",
      "r87"
     ]
    },
    "rock_InterestAdjustment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "InterestAdjustment",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtScheduleofCashPaidforInterestDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other adjustments",
        "label": "Interest Adjustment",
        "documentation": "Interest Adjustment"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestIncomeExpenseNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestIncomeExpenseNet",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome",
      "http://www.gibraltar1.com/role/DebtScheduleofCashPaidforInterestDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Interest expense, net",
        "terseLabel": "Interest expense, net",
        "label": "Interest Income (Expense), Net",
        "documentation": "The net amount of operating interest income (expense)."
       }
      }
     },
     "auth_ref": [
      "r236"
     ]
    },
    "us-gaap_InterestIncomeOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestIncomeOther",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtScheduleofCashPaidforInterestDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest income",
        "label": "Interest Income, Other",
        "documentation": "Amount of interest income earned from interest bearing assets classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtScheduleofCashPaidforInterestDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash paid for interest",
        "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities",
        "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": [
      "r292",
      "r294",
      "r295"
     ]
    },
    "us-gaap_InventoryAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryAdjustments",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/InventoriesNetScheduleofInventoriesDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/InventoriesNetScheduleofInventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Less reserves",
        "label": "Inventory Adjustments",
        "documentation": "Amount of inventory reserves for last-in first-out (LIFO) and other inventory valuation methods."
       }
      }
     },
     "auth_ref": [
      "r80",
      "r901"
     ]
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventory Disclosure [Abstract]",
        "label": "Inventory Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryDisclosureTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/InventoriesNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventories",
        "label": "Inventory Disclosure [Text Block]",
        "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": [
      "r391"
     ]
    },
    "us-gaap_InventoryFinishedGoods": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryFinishedGoods",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/InventoriesNetScheduleofInventoriesDetails": {
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/InventoriesNetScheduleofInventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Finished goods",
        "label": "Inventory, Finished Goods, Gross",
        "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": [
      "r898"
     ]
    },
    "us-gaap_InventoryGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryGross",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/InventoriesNetScheduleofInventoriesDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/InventoriesNetScheduleofInventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross inventory",
        "label": "Inventory, Gross",
        "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": [
      "r901"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      },
      "http://www.gibraltar1.com/role/InventoriesNetScheduleofInventoriesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets",
      "http://www.gibraltar1.com/role/InventoriesNetScheduleofInventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventories, net",
        "totalLabel": "Total inventories",
        "label": "Inventory, Net",
        "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": [
      "r274",
      "r830",
      "r868"
     ]
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryPolicyTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventories",
        "label": "Inventory, Policy [Policy Text Block]",
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost."
       }
      }
     },
     "auth_ref": [
      "r242",
      "r261",
      "r273",
      "r391",
      "r392",
      "r393",
      "r693",
      "r833"
     ]
    },
    "us-gaap_InventoryRawMaterials": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryRawMaterials",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/InventoriesNetScheduleofInventoriesDetails": {
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/InventoriesNetScheduleofInventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Raw material",
        "label": "Inventory, Raw Materials, Gross",
        "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": [
      "r900"
     ]
    },
    "rock_InventoryRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "InventoryRollForward",
     "presentation": [
      "http://www.gibraltar1.com/role/InventoriesNetSummaryofActivitywithintheReserveforExcessObsoleteandSlowMovingInventoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventory [Roll Forward]",
        "label": "Inventory [Roll Forward]",
        "documentation": "Inventory [Roll Forward]"
       }
      }
     },
     "auth_ref": []
    },
    "rock_InventoryValuationExcessObsoleteAndSlowMovingInventory": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "InventoryValuationExcessObsoleteAndSlowMovingInventory",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/InventoriesNetSummaryofActivitywithintheReserveforExcessObsoleteandSlowMovingInventoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Excess, obsolete and slow moving inventory expense",
        "label": "Inventory Valuation, Excess Obsolete And Slow Moving Inventory",
        "documentation": "Inventory valuation excess, obsolete, and slow-moving inventory"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryValuationReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryValuationReserves",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/InventoriesNetSummaryofActivitywithintheReserveforExcessObsoleteandSlowMovingInventoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Beginning balance",
        "periodEndLabel": "Ending balance",
        "label": "Inventory Valuation Reserves",
        "documentation": "Amount of valuation reserve for inventory."
       }
      }
     },
     "auth_ref": [
      "r81",
      "r901"
     ]
    },
    "rock_InventoryValuationScrappedInventoryAndOtherAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "InventoryValuationScrappedInventoryAndOtherAdjustments",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/InventoriesNetSummaryofActivitywithintheReserveforExcessObsoleteandSlowMovingInventoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Scrapped inventory and other adjustments",
        "label": "Inventory Valuation Scrapped Inventory And Other Adjustments",
        "documentation": "Inventory valuation scrapped inventory and other adjustments."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryWorkInProcess": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryWorkInProcess",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/InventoriesNetScheduleofInventoriesDetails": {
       "parentTag": "us-gaap_InventoryGross",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/InventoriesNetScheduleofInventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Work-in-process",
        "label": "Inventory, Work in Process, Gross",
        "documentation": "Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r899"
     ]
    },
    "rock_JapanBasedSolarRackingBusinessMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "JapanBasedSolarRackingBusinessMember",
     "presentation": [
      "http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Japan-Based Solar Racking Business",
        "label": "Japan-Based Solar Racking Business [Member]",
        "documentation": "Japan-Based Solar Racking Business"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LandAndLandImprovements": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LandAndLandImprovements",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Land and land improvements",
        "label": "Land and Land Improvements",
        "documentation": "Amount before accumulated depreciation and depletion of real estate held for productive use and additions or improvements to real estate held for productive use, examples include, but are not limited to, walkways, driveways, fences, and parking lots. Excludes land held for sale."
       }
      }
     },
     "auth_ref": [
      "r897"
     ]
    },
    "us-gaap_LandBuildingsAndImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LandBuildingsAndImprovementsMember",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Land, Buildings and Improvements",
        "label": "Land, Buildings and Improvements [Member]",
        "documentation": "Real estate held and additions or improvements to real estate held and structures used in the conduct of business."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseCost",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/LeasesScheduleofLeaseCostandAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total lease cost",
        "label": "Lease, Cost",
        "documentation": "Amount of lease cost recognized by lessee for lease contract."
       }
      }
     },
     "auth_ref": [
      "r680",
      "r867"
     ]
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseCostTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lease, Cost",
        "label": "Lease, Cost [Table Text Block]",
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income."
       }
      }
     },
     "auth_ref": [
      "r988"
     ]
    },
    "us-gaap_LeasesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeasesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Leases [Abstract]",
        "label": "Leases [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeLeaseDescriptionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeLeaseDescriptionLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/LeasesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lessee, Lease, Description [Line Items]",
        "label": "Lessee, Lease, Description [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": [
      "r679"
     ]
    },
    "us-gaap_LesseeLeaseDescriptionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeLeaseDescriptionTable",
     "presentation": [
      "http://www.gibraltar1.com/role/LeasesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lessee, Lease, Description [Table]",
        "label": "Lessee, Lease, Description [Table]",
        "documentation": "Disclosure of information about lessee's leases."
       }
      }
     },
     "auth_ref": [
      "r679"
     ]
    },
    "us-gaap_LesseeLeasesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeLeasesPolicyTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Leases",
        "label": "Lessee, Leases [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee."
       }
      }
     },
     "auth_ref": [
      "r678"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lessee, Operating Lease, Liability, Maturity",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]",
        "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": [
      "r989"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails_1": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total lease payments",
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease."
       }
      }
     },
     "auth_ref": [
      "r687"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "After 2028",
        "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Five",
        "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": [
      "r687"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2024",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "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": [
      "r687"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2028",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five",
        "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": [
      "r687"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2027",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four",
        "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": [
      "r687"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2026",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three",
        "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": [
      "r687"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2025",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two",
        "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": [
      "r687"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails_1": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Less: present value discount",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r687"
     ]
    },
    "us-gaap_LesseeOperatingLeaseRenewalTerm": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseRenewalTerm",
     "presentation": [
      "http://www.gibraltar1.com/role/LeasesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lease renewal term",
        "label": "Lessee, Operating Lease, Renewal Term",
        "documentation": "Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r987"
     ]
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeasesTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/Leases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Leases",
        "label": "Lessee, Operating Leases [Text Block]",
        "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": [
      "r673"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total liabilities and shareholders' equity",
        "label": "Liabilities and Equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r176",
      "r231",
      "r709",
      "r868",
      "r909",
      "r925",
      "r984"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Liabilities and Stockholders\u2019 Equity",
        "label": "Liabilities and Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current liabilities",
        "label": "Liabilities, Current",
        "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": [
      "r46",
      "r260",
      "r298",
      "r384",
      "r437",
      "r438",
      "r440",
      "r441",
      "r442",
      "r444",
      "r446",
      "r448",
      "r449",
      "r646",
      "r648",
      "r649",
      "r661",
      "r868",
      "r945",
      "r991",
      "r992"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current liabilities:",
        "label": "Liabilities, Current [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityCommitmentFeePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityCommitmentFeePercentage",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Annual commitment fee",
        "label": "Line of Credit Facility, Commitment Fee Percentage",
        "documentation": "The fee, expressed as a percentage of the line of credit facility, for the line of credit facility regardless of whether the facility has been used."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityCurrentBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current borrowing capacity",
        "label": "Line of Credit Facility, Current Borrowing Capacity",
        "documentation": "Amount of current borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r44"
     ]
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maximum borrowing capacity under the revolving credit facility",
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "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": [
      "r44"
     ]
    },
    "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityRemainingBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Availability amount",
        "label": "Line of Credit Facility, Remaining Borrowing Capacity",
        "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding)."
       }
      }
     },
     "auth_ref": [
      "r44"
     ]
    },
    "us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Annual commitment fee (as a percentage)",
        "label": "Line of Credit Facility, Unused Capacity, Commitment Fee Percentage",
        "documentation": "The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditMember",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revolving Credit Facility",
        "label": "Line of Credit [Member]",
        "documentation": "A contractual arrangement with a lender under which borrowings can be made up to a specific amount at any point in time, and under which borrowings outstanding may be either short-term or long-term, depending upon the particulars."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/AccountsReceivable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts Receivable",
        "label": "Loans, Notes, Trade and Other Receivables Disclosure [Text Block]",
        "documentation": "The entire disclosure for claims held for amounts due a entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses."
       }
      }
     },
     "auth_ref": [
      "r923"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Local Phone Number",
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "rock_LondonInterbankOfferedRateLIBOR1Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "LondonInterbankOfferedRateLIBOR1Member",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "LIBOR",
        "label": "London Interbank Offered Rate (LIBOR) 1 [Member]",
        "documentation": "London Interbank Offered Rate (LIBOR) 1"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebt",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails",
      "http://www.gibraltar1.com/role/FairValueMeasurementsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Carrying value of outstanding debt",
        "label": "Long-Term Debt",
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation."
       }
      }
     },
     "auth_ref": [
      "r39",
      "r230",
      "r457",
      "r468",
      "r841",
      "r842",
      "r1000"
     ]
    },
    "us-gaap_LongTermDebtAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebtAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long-term Debt, Unclassified [Abstract]",
        "label": "Long-Term Debt, Unclassified [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermDebtNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebtNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long-term debt",
        "label": "Long-Term Debt, Excluding Current Maturities",
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation."
       }
      }
     },
     "auth_ref": [
      "r269"
     ]
    },
    "us-gaap_LongTermDebtTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebtTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/Debt"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Debt",
        "label": "Long-Term Debt [Text Block]",
        "documentation": "The entire disclosure for long-term debt."
       }
      }
     },
     "auth_ref": [
      "r209"
     ]
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongtermDebtTypeAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long-term Debt, Type [Axis]",
        "label": "Long-Term Debt, Type [Axis]",
        "documentation": "Information by type of long-term debt."
       }
      }
     },
     "auth_ref": [
      "r48"
     ]
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongtermDebtTypeDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long-term Debt, Type [Domain]",
        "label": "Long-Term Debt, Type [Domain]",
        "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer."
       }
      }
     },
     "auth_ref": [
      "r48",
      "r97"
     ]
    },
    "us-gaap_MachineryAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MachineryAndEquipmentGross",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Machinery and equipment",
        "label": "Machinery and Equipment, Gross",
        "documentation": "Amount before accumulated depreciation of tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment."
       }
      }
     },
     "auth_ref": [
      "r205"
     ]
    },
    "us-gaap_MachineryAndEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MachineryAndEquipmentMember",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Machinery and Equipment",
        "label": "Machinery and Equipment [Member]",
        "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MajorCustomersAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MajorCustomersAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer [Axis]",
        "label": "Customer [Axis]"
       }
      }
     },
     "auth_ref": [
      "r377",
      "r849",
      "r950",
      "r1003",
      "r1004"
     ]
    },
    "srt_ManagementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ManagementMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationCashPaidtoSettleLiabilityAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Management",
        "label": "Management [Member]"
       }
      }
     },
     "auth_ref": [
      "r924",
      "r990"
     ]
    },
    "rock_ManagementStockPurchasePlanCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "ManagementStockPurchasePlanCompensationExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationCashPaidtoSettleLiabilityAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "MSPP expense (recovery) (in thousands)",
        "label": "Management Stock Purchase Plan, Compensation Expense",
        "documentation": "Management Stock Purchase Plan, Compensation Expense"
       }
      }
     },
     "auth_ref": []
    },
    "rock_ManagementStockPurchasePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "ManagementStockPurchasePlanMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationCashPaidtoSettleLiabilityAwardsDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Management Stock Purchase Plan",
        "verboseLabel": "MSPP",
        "label": "Management Stock Purchase Plan [Member]",
        "documentation": "Management stock purchase plan [Member]."
       }
      }
     },
     "auth_ref": []
    },
    "rock_MarketPriceOfCommonStockPerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "MarketPriceOfCommonStockPerShare",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Market price of common stock, per share",
        "label": "Market Price Of Common Stock Per Share",
        "documentation": "Market price of common stock per share."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MaximumMember",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails",
      "http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails",
      "http://www.gibraltar1.com/role/LeasesNarrativeDetails",
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails",
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maximum",
        "label": "Maximum [Member]"
       }
      }
     },
     "auth_ref": [
      "r433",
      "r434",
      "r435",
      "r436",
      "r561",
      "r691",
      "r731",
      "r750",
      "r751",
      "r800",
      "r802",
      "r804",
      "r805",
      "r807",
      "r825",
      "r826",
      "r837",
      "r845",
      "r864",
      "r869",
      "r947",
      "r993",
      "r994",
      "r995",
      "r996",
      "r997",
      "r998"
     ]
    },
    "us-gaap_MeasurementInputTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MeasurementInputTypeAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Measurement Input Type [Axis]",
        "label": "Measurement Input Type [Axis]",
        "documentation": "Information by type of measurement input used to determine value of asset and liability."
       }
      }
     },
     "auth_ref": [
      "r660"
     ]
    },
    "us-gaap_MeasurementInputTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MeasurementInputTypeDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Measurement Input Type [Domain]",
        "label": "Measurement Input Type [Domain]",
        "documentation": "Measurement input used to determine value of asset and liability."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MediumTermNotesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MediumTermNotesMember",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Term Loan",
        "label": "Medium-term Notes [Member]",
        "documentation": "Debt instruments with maturities ranging from five to ten years."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MinimumMember",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails",
      "http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails",
      "http://www.gibraltar1.com/role/LeasesNarrativeDetails",
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails",
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Minimum",
        "label": "Minimum [Member]"
       }
      }
     },
     "auth_ref": [
      "r433",
      "r434",
      "r435",
      "r436",
      "r561",
      "r691",
      "r731",
      "r750",
      "r751",
      "r800",
      "r802",
      "r804",
      "r805",
      "r807",
      "r825",
      "r826",
      "r837",
      "r845",
      "r864",
      "r869",
      "r947",
      "r993",
      "r994",
      "r995",
      "r996",
      "r997",
      "r998"
     ]
    },
    "us-gaap_MovementInValuationAllowancesAndReservesRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MovementInValuationAllowancesAndReservesRollForward",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesSummaryofValuationAllowanceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]",
        "label": "SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "srt_NameOfMajorCustomerDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "NameOfMajorCustomerDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer [Domain]",
        "label": "Customer [Domain]"
       }
      }
     },
     "auth_ref": [
      "r377",
      "r849",
      "r950",
      "r1003",
      "r1004"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash used in financing activities",
        "label": "Net Cash Provided by (Used in) 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": [
      "r293"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash Flows from Financing Activities",
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash (used in) provided by investing activities",
        "label": "Net Cash Provided by (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": [
      "r293"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash Flows from Investing Activities",
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesContinuingOperations",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash (used in) provided by investing activities of continuing operations",
        "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations",
        "documentation": "Amount of cash inflow (outflow) of investing activities, excluding 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": [
      "r906"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash provided by operating activities",
        "label": "Net Cash Provided by (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": [
      "r194",
      "r195",
      "r196"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash Flows from Operating Activities",
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash provided by operating activities of continuing operations",
        "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations",
        "documentation": "Amount of cash inflow (outflow) from operating activities, excluding discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r194",
      "r195",
      "r196"
     ]
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofComprehensiveIncome",
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome",
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity",
      "http://www.gibraltar1.com/role/EarningsperShareScheduleofComputationofBasicandDilutedEarningsperShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net income",
        "verboseLabel": "Net income",
        "terseLabel": "Net income",
        "label": "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": [
      "r186",
      "r196",
      "r235",
      "r258",
      "r278",
      "r281",
      "r286",
      "r298",
      "r311",
      "r313",
      "r314",
      "r315",
      "r316",
      "r319",
      "r320",
      "r329",
      "r342",
      "r362",
      "r368",
      "r371",
      "r384",
      "r437",
      "r438",
      "r440",
      "r441",
      "r442",
      "r444",
      "r446",
      "r448",
      "r449",
      "r658",
      "r661",
      "r714",
      "r778",
      "r795",
      "r796",
      "r835",
      "r878",
      "r945"
     ]
    },
    "us-gaap_NetIncomeLossAttributableToReportingEntityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLossAttributableToReportingEntityAbstract",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Discontinued operations:",
        "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rock_NetPeriodicPostRetirementCostTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "NetPeriodicPostRetirementCostTable",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net Periodic Post Retirement Cost [Table]",
        "label": "Net Periodic Post Retirement Cost [Table]",
        "documentation": "Net Periodic Post Retirement Cost [Table]."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Recent accounting pronouncements",
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact."
       }
      }
     },
     "auth_ref": []
    },
    "rock_NonCurrentLiabilitiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "NonCurrentLiabilitiesMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non Current Liabilities",
        "label": "Non Current Liabilities [Member]",
        "documentation": "Non Current Liabilities [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "rock_NonEmployeeDirectorsPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "NonEmployeeDirectorsPlanMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-Employee Directors Plan",
        "label": "Non-Employee Directors Plan [Member]",
        "documentation": "Non-Employee Directors Plan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Seller note principal amount",
        "label": "Noncash or Part Noncash Divestiture, Amount of Consideration Received",
        "documentation": "Amount of noncash consideration received for selling an asset or business through a noncash (or part noncash) transaction."
       }
      }
     },
     "auth_ref": [
      "r65",
      "r66",
      "r67"
     ]
    },
    "us-gaap_NoncompeteAgreementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NoncompeteAgreementsMember",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-compete agreements",
        "label": "Noncompete Agreements [Member]",
        "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party."
       }
      }
     },
     "auth_ref": [
      "r129"
     ]
    },
    "us-gaap_NoncurrentAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NoncurrentAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationNetSalesbyRegionorOriginandLongLivedAssetsbyRegionofDomicileDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long-lived assets",
        "label": "Long-Lived Assets",
        "documentation": "Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r376"
     ]
    },
    "srt_NorthAmericaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "NorthAmericaMember",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationNetSalesbyRegionorOriginandLongLivedAssetsbyRegionofDomicileDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "North America",
        "label": "North America [Member]"
       }
      }
     },
     "auth_ref": [
      "r1011",
      "r1012",
      "r1013",
      "r1014"
     ]
    },
    "us-gaap_NumberOfReportableSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NumberOfReportableSegments",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationNarrativeDetails",
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of reportable segments",
        "label": "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": [
      "r921"
     ]
    },
    "us-gaap_NumberOfReportingUnits": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NumberOfReportingUnits",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of reporting units",
        "label": "Number of Reporting Units",
        "documentation": "Number of reporting units tested for impairment of goodwill. A reporting unit is an operating segment or one level below an operating segment."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome",
      "http://www.gibraltar1.com/role/SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income from operations",
        "terseLabel": "Income from operations:",
        "label": "Operating Income (Loss)",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r342",
      "r362",
      "r368",
      "r371",
      "r835"
     ]
    },
    "us-gaap_OperatingLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseCost",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/LeasesScheduleofLeaseCostandAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease cost",
        "label": "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": [
      "r681",
      "r867"
     ]
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails_1": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/LeasesAssetsandLiabilitiesofLesseeDetails",
      "http://www.gibraltar1.com/role/LeasesMaturityofLeasePaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Present value of lease liabilities",
        "label": "Operating Lease, Liability",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r675"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/AccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrentAndNoncurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AccruedExpensesDetails",
      "http://www.gibraltar1.com/role/LeasesAssetsandLiabilitiesofLesseeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current operating lease liability",
        "label": "Operating Lease, Liability, Current",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r675"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://www.gibraltar1.com/role/AccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]",
        "label": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of financial position that includes current operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r676"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-current operating lease liabilities",
        "label": "Operating Lease, Liability, Noncurrent",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r675"
     ]
    },
    "us-gaap_OperatingLeasePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeasePayments",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/LeasesScheduleofLeaseCostandAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash paid for amounts included in the measurement of operating liabilities",
        "label": "Operating Lease, Payments",
        "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": [
      "r677",
      "r683"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets",
      "http://www.gibraltar1.com/role/LeasesAssetsandLiabilitiesofLesseeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease assets",
        "label": "Operating Lease, Right-of-Use Asset",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r674"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://www.gibraltar1.com/role/LeasesScheduleofLeaseCostandAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted-average discount rate - operating leases",
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "documentation": "Weighted average discount rate for operating lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r686",
      "r867"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://www.gibraltar1.com/role/LeasesScheduleofLeaseCostandAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted-average remaining lease term - operating leases",
        "label": "Operating Lease, 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": [
      "r685",
      "r867"
     ]
    },
    "us-gaap_OperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLossCarryforwards",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax assets, net of operating losses",
        "label": "Operating Loss Carryforwards",
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws."
       }
      }
     },
     "auth_ref": [
      "r119"
     ]
    },
    "us-gaap_OperatingLossCarryforwardsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLossCarryforwardsLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating Loss Carryforwards [Line Items]",
        "label": "Operating Loss Carryforwards [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_OperatingLossCarryforwardsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLossCarryforwardsTable",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating Loss Carryforwards [Table]",
        "label": "Operating Loss Carryforwards [Table]",
        "documentation": "Schedule reflecting pertinent information, such as tax authority, amounts, and expiration dates, of net operating loss carryforwards, including an assessment of the likelihood of utilization."
       }
      }
     },
     "auth_ref": [
      "r118"
     ]
    },
    "us-gaap_OperatingSegmentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingSegmentsMember",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsScheduleOfAssetImpairmentChargesRelatedToRestructuringActivitiesDetails",
      "http://www.gibraltar1.com/role/SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating Segments",
        "label": "Operating Segments [Member]",
        "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity."
       }
      }
     },
     "auth_ref": [
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r371"
     ]
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/AccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrentAndNoncurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Other",
        "label": "Other Accrued Liabilities, Current",
        "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": [
      "r45"
     ]
    },
    "us-gaap_OtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Prepaid expenses and other current assets",
        "label": "Other Assets, Current",
        "documentation": "Amount of current assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r275",
      "r868"
     ]
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Other assets",
        "label": "Other Assets, Noncurrent",
        "documentation": "Amount of noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r267"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossBeforeTax",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other Comprehensive Income (Loss), before Tax",
        "label": "Other Comprehensive Income (Loss), before Tax",
        "documentation": "Amount before tax, after reclassification adjustments of other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r288",
      "r664",
      "r665",
      "r670",
      "r698",
      "r715",
      "r902",
      "r903"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofComprehensiveIncome": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofComprehensiveIncome",
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign currency translation adjustment",
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax",
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeDetails",
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Other comprehensive income (loss)",
        "terseLabel": "Foreign currency translation adjustment",
        "label": "Other Comprehensive Income (Loss), Net of Tax",
        "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r30",
      "r38",
      "r279",
      "r282",
      "r288",
      "r664",
      "r665",
      "r670",
      "r698",
      "r715",
      "r902",
      "r903"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other comprehensive income:",
        "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other comprehensive income (loss):",
        "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofComprehensiveIncome": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofComprehensiveIncome",
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Adjustment to postretirement benefit liability, net of tax",
        "negatedTerseLabel": "Adjustment to post-retirement healthcare benefit liability, net of taxes",
        "label": "Other Comprehensive (Income) Loss, Defined Benefit Plan, after Reclassification Adjustment, after Tax",
        "documentation": "Amount, after tax and reclassification adjustment, of (increase) decrease in accumulated other comprehensive income for defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r181"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Postretirement benefit plan adjustments",
        "label": "Other Comprehensive (Income) Loss, Defined Benefit Plan, Reclassification Adjustment from AOCI, after Tax",
        "documentation": "Amount, after tax, of reclassification adjustment from accumulated other comprehensive (income) loss for net periodic benefit cost (credit) of defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r181",
      "r213",
      "r277"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossTax",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Tax Benefit (Expense)",
        "label": "Other Comprehensive Income (Loss), Tax",
        "documentation": "Amount of tax expense (benefit) allocated to other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r284",
      "r288",
      "r616",
      "r638",
      "r640",
      "r664",
      "r668",
      "r670",
      "r698",
      "r715"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossTaxAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossTaxAbstract",
     "presentation": [
      "http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Tax Benefit (Expense)",
        "label": "Other Comprehensive Income (Loss), Tax [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rock_OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity",
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquityParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Minimum pension and post retirement benefit plan adjustments, net of taxes",
        "label": "Other Comprehensive Income Minimum Pension Liability Net Adjustment Tax 1",
        "documentation": "Other Comprehensive Income Minimum Pension Liability Net Adjustment Tax 1"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherIncome",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Other (income) expense",
        "label": "Other Income",
        "documentation": "Amount of revenue and income classified as other."
       }
      }
     },
     "auth_ref": [
      "r718",
      "r779",
      "r808",
      "r809",
      "r810"
     ]
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherLiabilitiesNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Other non-current liabilities",
        "label": "Other Liabilities, Noncurrent",
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r49"
     ]
    },
    "us-gaap_OtherNoncashIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNoncashIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": -1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Other, net",
        "label": "Other Noncash Income (Expense)",
        "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other."
       }
      }
     },
     "auth_ref": [
      "r196"
     ]
    },
    "rock_OtherPostretirementBenefitsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "OtherPostretirementBenefitsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other Postretirement Benefits [Abstract]",
        "label": "Other Postretirement Benefits [Abstract]",
        "documentation": "Other Postretirement Benefits [Abstract]."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchase of common stock at market prices",
        "label": "Payments for Repurchase of Common Stock",
        "documentation": "The cash outflow to reacquire common stock during the period."
       }
      }
     },
     "auth_ref": [
      "r60"
     ]
    },
    "us-gaap_PaymentsForRestructuring": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsForRestructuring",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsReconcilesOfLiabilityForExitActivityCostsRelatingToFacilityConsolidationEffortsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Cash payments",
        "label": "Payments for Restructuring",
        "documentation": "Amount of cash payments made as the result of exit or disposal activities. Excludes payments associated with a discontinued operation or an asset retirement obligation."
       }
      }
     },
     "auth_ref": [
      "r421",
      "r905"
     ]
    },
    "us-gaap_PaymentsOfFinancingCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsOfFinancingCosts",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Payment of debt issuance costs",
        "label": "Payments of Financing Costs",
        "documentation": "The cash outflow for loan and debt issuance costs."
       }
      }
     },
     "auth_ref": [
      "r59"
     ]
    },
    "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperations",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Acquisitions, net of cash acquired",
        "label": "Payments to Acquire Businesses, Net of Cash Acquired",
        "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase."
       }
      }
     },
     "auth_ref": [
      "r57"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Capital expenditures",
        "label": "Payments to Acquire 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": [
      "r193"
     ]
    },
    "rock_PaymentsToAcquirePropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipmentNet",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperations",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchases of property, plant, and equipment, net",
        "label": "Payments to Acquire Property, Plant, and Equipment, Net",
        "documentation": "Payments to Acquire Property, Plant, and Equipment, Net"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsAmountsRecognizedintheConsolidatedFinancialStatementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued post retirement liability: Current portion",
        "label": "Liability, Defined Benefit Plan, Current",
        "documentation": "Amount of liability, recognized in statement of financial position, for defined benefit pension and other postretirement plans, classified as current."
       }
      }
     },
     "auth_ref": [
      "r166",
      "r495",
      "r496",
      "r518",
      "r856"
     ]
    },
    "us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsAmountsRecognizedintheConsolidatedFinancialStatementsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued post retirement liability: Long term portion",
        "label": "Liability, Defined Benefit Plan, Noncurrent",
        "documentation": "Amount of liability, recognized in statement of financial position, for defined benefit pension and other postretirement plans, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r167",
      "r495",
      "r496",
      "r518",
      "r856"
     ]
    },
    "us-gaap_PensionPlansDefinedBenefitMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PensionPlansDefinedBenefitMember",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsScheduleofTotalExpenseforAllRetirementPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Multiemployer and other defined benefit and pension plans",
        "label": "Pension Plan [Member]",
        "documentation": "Plan designed to provide participant with pension benefits. Includes, but is not limited to, defined benefit and defined contribution plans. Excludes other postretirement benefits."
       }
      }
     },
     "auth_ref": [
      "r495",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r558",
      "r559",
      "r562",
      "r856",
      "r857",
      "r861",
      "r862",
      "r863"
     ]
    },
    "us-gaap_PerformanceSharesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PerformanceSharesMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Performance stock units (1)",
        "label": "Performance Shares [Member]",
        "documentation": "Share-based payment arrangement awarded for meeting performance target."
       }
      }
     },
     "auth_ref": []
    },
    "rock_PerformanceStockUnitsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "PerformanceStockUnitsMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationAggregateIntrinsicValueofOptionsExercisedandAggregateFairValueofRestrictedStockUnitsandRestrictedSharesthatVestedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Performance Stock Units",
        "label": "Performance Stock Units [Member]",
        "documentation": "Performance stock units [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofCompensationExpenseConnectionwithAwardsDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Plan Name [Axis]",
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r951",
      "r952",
      "r953",
      "r954",
      "r955",
      "r956",
      "r957",
      "r958",
      "r959",
      "r960",
      "r961",
      "r962",
      "r963",
      "r964",
      "r965",
      "r966",
      "r967",
      "r968",
      "r969",
      "r970",
      "r971",
      "r972",
      "r973",
      "r974",
      "r975",
      "r976"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofCompensationExpenseConnectionwithAwardsDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Plan Name [Domain]",
        "label": "Plan Name [Domain]",
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r951",
      "r952",
      "r953",
      "r954",
      "r955",
      "r956",
      "r957",
      "r958",
      "r959",
      "r960",
      "r961",
      "r962",
      "r963",
      "r964",
      "r965",
      "r966",
      "r967",
      "r968",
      "r969",
      "r970",
      "r971",
      "r972",
      "r973",
      "r974",
      "r975",
      "r976"
     ]
    },
    "us-gaap_PostemploymentBenefitsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PostemploymentBenefitsDisclosureTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefits"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Pension and Other Postretirement Benefits",
        "label": "Postemployment Benefits Disclosure [Text Block]",
        "documentation": "The entire disclosure for postemployment benefits, which may include supplemental unemployment benefits, obligations recognized for all types of benefits provided to former or inactive employees, their beneficiaries, and covered dependents after employment but before retirement. Disclosure may also include discussion that an obligation for postemployment benefits is not accrued in accordance with regulation only because the amount cannot be reasonably estimated."
       }
      }
     },
     "auth_ref": [
      "r493",
      "r494"
     ]
    },
    "us-gaap_PostemploymentBenefitsPeriodExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PostemploymentBenefitsPeriodExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsScheduleofTotalExpenseforAllRetirementPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total retirement plan expense",
        "label": "Postemployment Benefits, Period Expense",
        "documentation": "Period expense related to postemployment benefits."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Preferred stock, par value (in dollars per share)",
        "label": "Preferred Stock, Par or Stated Value Per Share",
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer."
       }
      }
     },
     "auth_ref": [
      "r170",
      "r469"
     ]
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesAuthorized",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Preferred stock, shares authorized (in shares)",
        "label": "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": [
      "r170",
      "r758"
     ]
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesOutstanding",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Preferred stock, shares outstanding (in shares)",
        "label": "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": [
      "r170",
      "r758",
      "r776",
      "r1009",
      "r1010"
     ]
    },
    "us-gaap_PreferredStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Preferred stock, $0.01 par value; authorized 10,000 shares; none outstanding",
        "label": "Preferred Stock, Value, Issued",
        "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": [
      "r170",
      "r705",
      "r868"
     ]
    },
    "rock_PrivatelyHeldUtahBasedCompanyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "PrivatelyHeldUtahBasedCompanyMember",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails",
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Privately Held Utah-Based Company",
        "label": "Privately Held Utah-Based Company [Member]",
        "documentation": "Privately Held Utah-Based Company"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromDivestitureOfBusinessesNetOfCashDivested": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromDivestitureOfBusinessesNetOfCashDivested",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperations",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net proceeds from sale of business",
        "label": "Proceeds from Divestiture of Businesses, Net of Cash Divested",
        "documentation": "This element represents the cash inflow during the period from the sale of a component of the entity."
       }
      }
     },
     "auth_ref": [
      "r56"
     ]
    },
    "us-gaap_ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/DiscontinuedOperationsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from divestiture",
        "label": "Proceeds from Divestiture of Interest in Consolidated Subsidiaries",
        "documentation": "The cash inflow associated with the deconsolidation of a previously consolidated subsidiary or the sale of investment in consolidated subsidiaries (generally greater than 50 percent)."
       }
      }
     },
     "auth_ref": [
      "r56"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Net proceeds from issuance of common stock",
        "label": "Proceeds from Issuance of Common Stock",
        "documentation": "The cash inflow from the additional capital contribution to the entity."
       }
      }
     },
     "auth_ref": [
      "r14"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOfLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromIssuanceOfLongTermDebt",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from long-term debt",
        "label": "Proceeds from Issuance of Long-Term Debt",
        "documentation": "The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r741"
     ]
    },
    "us-gaap_ProductWarrantyAccrualClassifiedCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantyAccrualClassifiedCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/AccruedExpensesDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrentAndNoncurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Product warranties",
        "label": "Product Warranty Accrual, Current",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r943",
      "r944"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, Plant and Equipment [Abstract]",
        "label": "Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, Plant and Equipment, Type [Axis]",
        "label": "Long-Lived Tangible Asset [Axis]",
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r20"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/PropertyPlantandEquipmentNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Property, Plant, and Equipment",
        "label": "Property, Plant and Equipment Disclosure [Text Block]",
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r204",
      "r246",
      "r250",
      "r251"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentGross",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Property, plant, and equipment, gross",
        "label": "Property, Plant and Equipment, Gross",
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business 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": [
      "r205",
      "r263",
      "r712"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets",
      "http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, plant, and equipment, net",
        "totalLabel": "Property, plant, and equipment, net",
        "label": "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": [
      "r20",
      "r702",
      "r712",
      "r868"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, plant, and equipment",
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r246",
      "r250",
      "r710"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/PropertyPlantandEquipmentNetTables",
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, Plant and Equipment",
        "verboseLabel": "Components of Property, Plant, and Equipment",
        "label": "Property, Plant and Equipment [Table Text Block]",
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r20"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property, Plant and Equipment, Type [Domain]",
        "label": "Long-Lived Tangible Asset [Domain]",
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software."
       }
      }
     },
     "auth_ref": [
      "r205"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Estimated useful lives",
        "label": "Property, Plant and Equipment, Useful Life",
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProvisionForDoubtfulAccounts",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesSummaryofActivityRecordedwithintheAllowanceforDoubtfulAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Bad debt expense, net of recoveries",
        "label": "Accounts Receivable, Credit Loss Expense (Reversal)",
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r291",
      "r388"
     ]
    },
    "rock_QualityAluminumProductsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "QualityAluminumProductsMember",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails",
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Quality Aluminum Products",
        "label": "Quality Aluminum Products [Member]",
        "documentation": "Quality Aluminum Products"
       }
      }
     },
     "auth_ref": []
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails",
      "http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails",
      "http://www.gibraltar1.com/role/LeasesNarrativeDetails",
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails",
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statistical Measurement [Axis]",
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r433",
      "r434",
      "r435",
      "r436",
      "r519",
      "r561",
      "r594",
      "r595",
      "r596",
      "r690",
      "r691",
      "r731",
      "r750",
      "r751",
      "r800",
      "r802",
      "r804",
      "r805",
      "r807",
      "r825",
      "r826",
      "r837",
      "r845",
      "r864",
      "r869",
      "r872",
      "r939",
      "r947",
      "r994",
      "r995",
      "r996",
      "r997",
      "r998"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeMember",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails",
      "http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails",
      "http://www.gibraltar1.com/role/LeasesNarrativeDetails",
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails",
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statistical Measurement [Domain]",
        "label": "Statistical Measurement [Domain]"
       }
      }
     },
     "auth_ref": [
      "r433",
      "r434",
      "r435",
      "r436",
      "r519",
      "r561",
      "r594",
      "r595",
      "r596",
      "r690",
      "r691",
      "r731",
      "r750",
      "r751",
      "r800",
      "r802",
      "r804",
      "r805",
      "r807",
      "r825",
      "r826",
      "r837",
      "r845",
      "r864",
      "r869",
      "r872",
      "r939",
      "r947",
      "r994",
      "r995",
      "r996",
      "r997",
      "r998"
     ]
    },
    "us-gaap_ReceivablesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReceivablesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Receivables [Abstract]",
        "label": "Receivables [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTable",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Reconciliation of Other Significant Reconciling Items from Segments to Consolidated [Table]",
        "label": "Segment, Reconciliation of Other Items from Segments to Consolidated [Table]",
        "documentation": "Disclosure of information about reconciliation of other items from reportable segments to their consolidated amount. Excludes reconciliation of revenue, profit (loss), and assets."
       }
      }
     },
     "auth_ref": [
      "r76",
      "r77"
     ]
    },
    "us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Measurements Used by Management to Assess Performance of Segments",
        "label": "Segment, Reconciliation of Other Items from Segments to Consolidated [Table Text Block]",
        "documentation": "Tabular disclosure of reconciliation of other items from reportable segments to their consolidated amount. Excludes reconciliation of revenue, profit (loss), and assets."
       }
      }
     },
     "auth_ref": [
      "r76",
      "r77"
     ]
    },
    "rock_RenewablesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "RenewablesMember",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsScheduleOfAssetImpairmentChargesRelatedToRestructuringActivitiesDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofImpairmentChargesDetails",
      "http://www.gibraltar1.com/role/SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails",
      "http://www.gibraltar1.com/role/SegmentInformationNetSalesbyContractTypeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Renewables",
        "label": "Renewables [Member]",
        "documentation": "Renewables"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RepaymentsOfLongTermDebt",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Long-term debt payments",
        "label": "Repayments of Long-Term Debt",
        "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r61",
      "r742"
     ]
    },
    "rock_ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Carrying amount in excess of fair value, number of reporting units",
        "label": "Reporting Unit, Carrying Amount in Excess of Fair Value, Number of Reporting Units",
        "documentation": "Reporting Unit, Carrying Amount in Excess of Fair Value, Number of Reporting Units"
       }
      }
     },
     "auth_ref": []
    },
    "rock_ResidentialMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "ResidentialMember",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsScheduleOfAssetImpairmentChargesRelatedToRestructuringActivitiesDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofImpairmentChargesDetails",
      "http://www.gibraltar1.com/role/SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails",
      "http://www.gibraltar1.com/role/SegmentInformationNetSalesbyContractTypeDetails",
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Residential",
        "label": "Residential [Member]",
        "documentation": "Residential"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestrictedStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedStockMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationAggregateIntrinsicValueofOptionsExercisedandAggregateFairValueofRestrictedStockUnitsandRestrictedSharesthatVestedDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock",
        "label": "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": [
      "r68"
     ]
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedStockUnitsRSUMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationAggregateIntrinsicValueofOptionsExercisedandAggregateFairValueofRestrictedStockUnitsandRestrictedSharesthatVestedDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationCashPaidtoSettleLiabilityAwardsDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted stock units",
        "label": "Restricted Stock Units (RSUs) [Member]",
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestructuringAndRelatedActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestructuringAndRelatedActivitiesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restructuring and Related Activities [Abstract]",
        "label": "Restructuring and Related Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestructuringAndRelatedActivitiesDisclosureTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exit Activity Costs and Asset Impairments",
        "label": "Restructuring and Related Activities Disclosure [Text Block]",
        "documentation": "The entire disclosure for restructuring and related activities. Description of restructuring activities such as exit and disposal activities, include facts and circumstances leading to the plan, the expected plan completion date, the major types of costs associated with the plan activities, total expected costs, the accrual balance at the end of the period, and the periods over which the remaining accrual will be settled."
       }
      }
     },
     "auth_ref": [
      "r418",
      "r419",
      "r421",
      "r424",
      "r430"
     ]
    },
    "rock_RestructuringAndRelatedCostNumberOfFacilitiesRelocated": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "RestructuringAndRelatedCostNumberOfFacilitiesRelocated",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of facilities relocated",
        "label": "Restructuring And Related Cost, Number Of Facilities Relocated",
        "documentation": "Restructuring And Related Cost, Number Of Facilities Relocated"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestructuringCharges": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestructuringCharges",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsScheduleOfAssetImpairmentChargesRelatedToRestructuringActivitiesDetails",
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryOfExitActivityCostsAndAssetImpairmentsRecordedintheConsolidatedStatementsofOperationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Restructuring charges",
        "label": "Restructuring Charges",
        "documentation": "Amount of expenses associated with exit or disposal activities pursuant to an authorized plan. Excludes expenses related to a discontinued operation or an asset retirement obligation."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r425",
      "r427",
      "r940"
     ]
    },
    "us-gaap_RestructuringCostAndReserveAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestructuringCostAndReserveAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryOfExitActivityCostsAndAssetImpairmentsRecordedintheConsolidatedStatementsofOperationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restructuring Type [Axis]",
        "label": "Restructuring Type [Axis]",
        "documentation": "Information by type of restructuring cost."
       }
      }
     },
     "auth_ref": [
      "r420",
      "r421",
      "r427",
      "r428"
     ]
    },
    "us-gaap_RestructuringCostAndReserveLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestructuringCostAndReserveLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsScheduleOfAssetImpairmentChargesRelatedToRestructuringActivitiesDetails",
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryOfExitActivityCostsAndAssetImpairmentsRecordedintheConsolidatedStatementsofOperationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restructuring Cost and Reserve [Line Items]",
        "label": "Restructuring Cost and Reserve [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": [
      "r420",
      "r421",
      "r422",
      "r423",
      "r427",
      "r428",
      "r429"
     ]
    },
    "us-gaap_RestructuringReserve": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestructuringReserve",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsReconcilesOfLiabilityForExitActivityCostsRelatingToFacilityConsolidationEffortsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance as of",
        "periodEndLabel": "Balance as of",
        "label": "Restructuring Reserve",
        "documentation": "Carrying amount (including both current and noncurrent portions of the accrual) as of the balance sheet date pertaining to a specified type of cost associated with exit from or disposal of business activities or restructuring pursuant to a duly authorized plan."
       }
      }
     },
     "auth_ref": [
      "r421",
      "r426"
     ]
    },
    "us-gaap_RestructuringReserveRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestructuringReserveRollForward",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsReconcilesOfLiabilityForExitActivityCostsRelatingToFacilityConsolidationEffortsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restructuring Reserve [Roll Forward]",
        "label": "Restructuring Reserve [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestructuringSettlementAndImpairmentProvisions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestructuringSettlementAndImpairmentProvisions",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsScheduleOfAssetImpairmentChargesRelatedToRestructuringActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Asset Impairment",
        "label": "Restructuring, Settlement and Impairment Provisions",
        "documentation": "Amount of restructuring charges, remediation cost, and asset impairment loss."
       }
      }
     },
     "auth_ref": [
      "r191"
     ]
    },
    "rock_RestructuringandRelatedCostNumberofFacilitiestobeClosed": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "RestructuringandRelatedCostNumberofFacilitiestobeClosed",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of consolidated facilities to be closed",
        "label": "Restructuring and Related Cost, Number of Facilities to be Closed",
        "documentation": "Restructuring and Related Cost, Number of Facilities to be Closed"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retained earnings",
        "label": "Retained Earnings (Accumulated Deficit)",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r173",
      "r212",
      "r708",
      "r735",
      "r737",
      "r743",
      "r759",
      "r868"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity",
      "http://www.gibraltar1.com/role/LeasesNarrativeDetails",
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retained Earnings",
        "label": "Retained Earnings [Member]",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r255",
      "r308",
      "r309",
      "r310",
      "r312",
      "r318",
      "r320",
      "r385",
      "r386",
      "r603",
      "r604",
      "r605",
      "r629",
      "r630",
      "r650",
      "r652",
      "r653",
      "r655",
      "r656",
      "r732",
      "r734",
      "r745",
      "r1009"
     ]
    },
    "rock_RetirementPlanNumberOfPlans": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "RetirementPlanNumberOfPlans",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsScheduleofTotalExpenseforAllRetirementPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of plans",
        "label": "Retirement Plan, Number Of Plans",
        "documentation": "Retirement Plan, Number Of Plans"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RetirementPlanTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetirementPlanTypeAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsAmountsRecognizedintheConsolidatedFinancialStatementsDetails",
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails",
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails",
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsExpectedBenefitPaymentsfromthePlanDetails",
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsScheduleofTotalExpenseforAllRetirementPlansDetails",
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retirement Plan Type [Axis]",
        "label": "Retirement Plan Type [Axis]",
        "documentation": "Information by type of retirement benefit plan. Includes, but is not limited to, retirement benefit arrangement for defined benefit pension and other postretirement plans, retirement benefit arrangement for defined contribution pension and other postretirement plans, and special and contractual termination benefits payable upon retirement."
       }
      }
     },
     "auth_ref": [
      "r495",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r558",
      "r559",
      "r560",
      "r562",
      "r856",
      "r857",
      "r858",
      "r859",
      "r860",
      "r861",
      "r862",
      "r863"
     ]
    },
    "us-gaap_RetirementPlanTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetirementPlanTypeDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsAmountsRecognizedintheConsolidatedFinancialStatementsDetails",
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsChangesintheAccumulatedPostretirementBenefitObligationDetails",
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsComponentsofNetPeriodicPostretirementBenefitCostDetails",
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsExpectedBenefitPaymentsfromthePlanDetails",
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsScheduleofTotalExpenseforAllRetirementPlansDetails",
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retirement Plan Type [Domain]",
        "label": "Retirement Plan Type [Domain]",
        "documentation": "Type of plan designed to provide participants with retirement benefits. Includes, but is not limited to, retirement benefit arrangement for defined benefit pension and other postretirement plans, retirement benefit arrangement for defined contribution pension and other postretirement plans, and special and contractual termination benefits payable upon retirement."
       }
      }
     },
     "auth_ref": [
      "r495",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r558",
      "r559",
      "r560",
      "r562",
      "r856",
      "r857",
      "r858",
      "r859",
      "r860",
      "r861",
      "r862",
      "r863"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue from Contract with Customer [Abstract]",
        "label": "Revenue from Contract with Customer [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue recognition",
        "label": "Revenue from Contract with Customer [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for revenue from contract with customer."
       }
      }
     },
     "auth_ref": [
      "r254",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r827"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/RevenueNotes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue",
        "label": "Revenue from Contract with Customer [Text Block]",
        "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": [
      "r254",
      "r474",
      "r475",
      "r476",
      "r477",
      "r478",
      "r479",
      "r480",
      "r481",
      "r492"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1",
     "presentation": [
      "http://www.gibraltar1.com/role/RevenueNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Remaining performance obligation expected timing of satisfaction",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period",
        "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r249"
     ]
    },
    "us-gaap_Revenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Revenues",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome",
      "http://www.gibraltar1.com/role/SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails",
      "http://www.gibraltar1.com/role/SegmentInformationNetSalesbyContractTypeDetails",
      "http://www.gibraltar1.com/role/SegmentInformationNetSalesbyRegionorOriginandLongLivedAssetsbyRegionofDomicileDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net sales:",
        "label": "Revenues",
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss)."
       }
      }
     },
     "auth_ref": [
      "r287",
      "r298",
      "r343",
      "r344",
      "r361",
      "r366",
      "r367",
      "r373",
      "r375",
      "r377",
      "r384",
      "r437",
      "r438",
      "r440",
      "r441",
      "r442",
      "r444",
      "r446",
      "r448",
      "r449",
      "r661",
      "r701",
      "r945"
     ]
    },
    "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationNetSalesbyRegionorOriginandLongLivedAssetsbyRegionofDomicileDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenues from External Customers and Long-Lived Assets [Line Items]",
        "label": "Revenues from External Customers and Long-Lived Assets [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_RevolvingCreditFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevolvingCreditFacilityMember",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails",
      "http://www.gibraltar1.com/role/FairValueMeasurementsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revolving Credit Facility",
        "label": "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.gibraltar1.com/role/LeasesScheduleofLeaseCostandAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Right-of-use assets obtained in exchange for new lease liabilities",
        "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability",
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r684",
      "r867"
     ]
    },
    "us-gaap_SaleLeasebackTransactionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SaleLeasebackTransactionLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Sale Leaseback Transaction [Line Items]",
        "label": "Sale Leaseback Transaction [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": [
      "r240",
      "r688"
     ]
    },
    "us-gaap_SaleLeasebackTransactionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SaleLeasebackTransactionTable",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Sale Leaseback Transaction [Table]",
        "label": "Sale Leaseback Transaction [Table]",
        "documentation": "A summary of the elements of a transaction involving the entity's sale of property to another party and the lease of the property back to the entity."
       }
      }
     },
     "auth_ref": [
      "r240",
      "r688"
     ]
    },
    "us-gaap_SalesRevenueNetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SalesRevenueNetMember",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net sales",
        "label": "Revenue Benchmark [Member]",
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation."
       }
      }
     },
     "auth_ref": [
      "r377",
      "r893"
     ]
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/AccountsReceivableTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Accounts Receivable",
        "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]",
        "documentation": "Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables."
       }
      }
     },
     "auth_ref": [
      "r52"
     ]
    },
    "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/AccruedExpensesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accrued Expenses",
        "label": "Schedule of Accrued Liabilities [Table Text Block]",
        "documentation": "Tabular disclosure of the components of accrued liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Components of Accumulated Other Comprehensive Income (Loss)",
        "label": "Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]",
        "documentation": "Tabular disclosure of the components of accumulated other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r54",
      "r985",
      "r986"
     ]
    },
    "us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Schedule of Acquired Intangible Assets",
        "label": "Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]",
        "documentation": "Tabular disclosure of the characteristics, including initial carrying value, residual amount, weighted average useful life, of finite-lived intangible assets acquired during the period by major class. A major class is composed of intangible assets that can be grouped together because they are similar, either by nature or by their use in the operations of the company."
       }
      }
     },
     "auth_ref": [
      "r85"
     ]
    },
    "us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amounts Recognized in the Consolidated Financial Statements",
        "label": "Schedule of Amounts Recognized in Balance Sheet [Table Text Block]",
        "documentation": "Tabular disclosure of the amounts that are recognized in the balance sheet (or statement of financial position) for pension plans and/or other employee benefit plans, showing separately the assets and current and noncurrent liabilities (if applicable) recognized."
       }
      }
     },
     "auth_ref": [
      "r104"
     ]
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable",
     "presentation": [
      "http://www.gibraltar1.com/role/EarningsperShareNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]",
        "label": "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": [
      "r68"
     ]
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/EarningsperShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share",
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]",
        "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": [
      "r68"
     ]
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsAcquisitionRelatedCostsDetails",
      "http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails",
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAllocationofthePurchasePriceConsiderationoftheFairValueofAssetsAcquiredandLiabilitiesAssumedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Business Acquisitions, by Acquisition [Table]",
        "label": "Schedule of Business Acquisitions, by Acquisition [Table]",
        "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities."
       }
      }
     },
     "auth_ref": [
      "r124",
      "r125",
      "r643"
     ]
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Allocation of the Purchase Price Consideration of the Fair Value of Assets Acquired and Liabilities Assumed",
        "label": "Schedule of Business Acquisitions, by Acquisition [Table Text Block]",
        "documentation": "Tabular disclosure of a material business combination completed during the period, including background, timing, and recognized assets and liabilities. This table does not include leveraged buyouts."
       }
      }
     },
     "auth_ref": [
      "r124",
      "r125"
     ]
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Provision for Income Taxes for Continuing Operations",
        "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]",
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years."
       }
      }
     },
     "auth_ref": [
      "r219"
     ]
    },
    "us-gaap_ScheduleOfCostsOfRetirementPlansTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfCostsOfRetirementPlansTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Total Expense for All Retirement Plans",
        "label": "Schedule of Costs of Retirement Plans [Table Text Block]",
        "documentation": "Tabular disclosure of the costs related to the various types of retirement plans including defined benefit pension plan cost, defined contribution plan cost, other postretirement benefit plan cost, and net periodic benefit cost."
       }
      }
     },
     "auth_ref": [
      "r23"
     ]
    },
    "us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary Of Activity Recorded Within The Allowance For Doubtful Accounts",
        "label": "Financing Receivable, Current, Allowance for Credit Loss [Table Text Block]",
        "documentation": "Tabular disclosure of allowance for credit loss of financing receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r79",
      "r926"
     ]
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred Tax Liabilities (Assets)",
        "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]",
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r218"
     ]
    },
    "us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDefinedBenefitPlansDisclosuresTable",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsScheduleofTotalExpenseforAllRetirementPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Defined Benefit Plans Disclosures [Table]",
        "label": "Schedule of Defined Benefit Plans Disclosures [Table]",
        "documentation": "Disclosures about an individual defined benefit pension plan or an other postretirement defined benefit plan. It may be appropriate to group certain similar plans. Also includes schedule for fair value of plan assets by major categories of plan assets by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets or liabilities (Level 1), Significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r105",
      "r106",
      "r107",
      "r108"
     ]
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/EarningsperShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Computation of Basic and Diluted Earnings per Share",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "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": [
      "r920"
     ]
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Provision for Income Taxes from Continuing Operations Differs from the Federal Statutory Rate",
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]",
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r217"
     ]
    },
    "us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfExpectedBenefitPaymentsTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Expected Benefit Payments from the Plan",
        "label": "Schedule of Expected Benefit Payments [Table Text Block]",
        "documentation": "Tabular disclosure of benefits expected to be paid by pension plans and/or other employee benefit plans in each of the next five fiscal years and in the aggregate for the five fiscal years thereafter."
       }
      }
     },
     "auth_ref": [
      "r214"
     ]
    },
    "us-gaap_ScheduleOfExtinguishmentOfDebtTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfExtinguishmentOfDebtTable",
     "presentation": [
      "http://www.gibraltar1.com/role/FairValueMeasurementsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Extinguishment of Debt [Table]",
        "label": "Schedule of Extinguishment of Debt [Table]",
        "documentation": "A table or schedule providing information pertaining to debt extinguished, including the amount of gain (loss) on the debt extinguished, the income tax effect on the gain (loss), and the amount of gain (loss), net of the related income tax."
       }
      }
     },
     "auth_ref": [
      "r98"
     ]
    },
    "rock_ScheduleOfFairValueOfOptionsExercisedAndOtherAwardsVestedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "ScheduleOfFairValueOfOptionsExercisedAndOtherAwardsVestedTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate Intrinsic Value of Options Exercised and Aggregate Fair Value of Restricted Stock Units and Restricted Shares that Vested",
        "label": "Schedule Of Fair Value Of Options Exercised And Other Awards Vested [Table Text Block]",
        "documentation": "Disclosure of the intrinsic value of options exercised and fair value of restricted stock and restricted stock units vested during the period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Acquired Intangible Assets",
        "label": "Schedule of Finite-Lived Intangible Assets Acquired as Part of Business Combination [Table Text Block]",
        "documentation": "Tabular disclosure of finite-lived intangible assets acquired as part of a business combination or through an asset purchase, by major class and in total, including the value of the asset acquired, any significant residual value (the expected value of the asset at the end of its useful life) and the weighted-average amortization period."
       }
      }
     },
     "auth_ref": [
      "r85"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofImpairmentChargesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]",
        "label": "Schedule of Finite-Lived Intangible Assets [Table]",
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r85",
      "r88",
      "r695"
     ]
    },
    "us-gaap_ScheduleOfGoodwillTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfGoodwillTable",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsNarrativeDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Goodwill [Table]",
        "label": "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": [
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r839"
     ]
    },
    "us-gaap_ScheduleOfGoodwillTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfGoodwillTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Schedule of Changes in Carrying Amount of Goodwill",
        "label": "Schedule of Goodwill [Table Text Block]",
        "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule."
       }
      }
     },
     "auth_ref": [
      "r839",
      "r927",
      "r928",
      "r929",
      "r930",
      "r931",
      "r932",
      "r933",
      "r934",
      "r935",
      "r936",
      "r937"
     ]
    },
    "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Components of Income (Loss) Before Taxes from Continuing Operations",
        "label": "Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]",
        "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions."
       }
      }
     },
     "auth_ref": [
      "r910"
     ]
    },
    "rock_ScheduleOfInterestCashPaymentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "ScheduleOfInterestCashPaymentTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Cash Paid for Interest",
        "label": "Schedule Of Interest, Cash Payment [Table Text Block]",
        "documentation": "Schedule of interest, cash payment [table text block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/InventoriesNetTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Inventories",
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "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": [
      "r41",
      "r177",
      "r178",
      "r179"
     ]
    },
    "us-gaap_ScheduleOfNetBenefitCostsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfNetBenefitCostsTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Net Periodic Pension and Other Post-Retirement Benefit Costs",
        "label": "Schedule of Net Benefit Costs [Table Text Block]",
        "documentation": "Tabular disclosure of the components of net benefit costs for pension plans and/or other employee benefit plans including service cost, interest cost, expected return on plan assets, gain (loss), prior service cost or credit, transition asset or obligation, and gain (loss) recognized due to settlements or curtailments."
       }
      }
     },
     "auth_ref": [
      "r215"
     ]
    },
    "us-gaap_ScheduleOfNetFundedStatusTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfNetFundedStatusTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/PensionandOtherPostretirementBenefitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Changes in the Accumulated Postretirement Benefit Obligation",
        "label": "Schedule of Net Funded Status [Table Text Block]",
        "documentation": "Tabular disclosure of net funded status of pension plans and/or other employee benefit plans."
       }
      }
     },
     "auth_ref": [
      "r104"
     ]
    },
    "us-gaap_ScheduleOfRestructuringAndRelatedCostsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRestructuringAndRelatedCostsTable",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsScheduleOfAssetImpairmentChargesRelatedToRestructuringActivitiesDetails",
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryOfExitActivityCostsAndAssetImpairmentsRecordedintheConsolidatedStatementsofOperationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Restructuring and Related Costs [Table]",
        "label": "Schedule of Restructuring and Related Costs [Table]",
        "documentation": "Table presenting the description of the restructuring costs, such as the expected cost; the costs incurred during the period; the cumulative costs incurred as of the balance sheet date; the income statement caption within which the restructuring charges recognized for the period are included; and the amount of and periodic changes to an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost by type of restructuring."
       }
      }
     },
     "auth_ref": [
      "r420",
      "r421",
      "r422",
      "r423",
      "r427",
      "r428",
      "r429"
     ]
    },
    "us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRestructuringAndRelatedCostsTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Summary of Exit Activity Costs and Asset Impairments Recorded in the Consolidated Statements of Operations",
        "label": "Restructuring and Related Costs [Table Text Block]",
        "documentation": "Tabular disclosure of costs incurred for restructuring including, but not limited to, exit and disposal activities, remediation, implementation, integration, asset impairment, and charges against earnings from the write-down of assets."
       }
      }
     },
     "auth_ref": [
      "r92",
      "r94",
      "r95"
     ]
    },
    "us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRestructuringReserveByTypeOfCostTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Reconciliation of Liability for Exit Activity Costs Relating to Facility Consolidation Efforts",
        "label": "Schedule of Restructuring Reserve by Type of Cost [Table Text Block]",
        "documentation": "Tabular disclosure of an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost. This element may also include a description of any reversal and other adjustment made during the period to the amount of an accrued liability for restructuring activities. This element may be used to encapsulate the roll forward presentations of an entity's restructuring reserve by type of cost and in total, and explanation of changes that occurred in the period."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r96"
     ]
    },
    "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net Sales by Region or Origin and Long-Lived Assets by Region of Domicile",
        "label": "Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas [Table Text Block]",
        "documentation": "Tabular disclosure of information concerning material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r187"
     ]
    },
    "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationNetSalesbyRegionorOriginandLongLivedAssetsbyRegionofDomicileDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]",
        "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]",
        "documentation": "Schedule of material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r183"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationCashPaidtoSettleLiabilityAwardsDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofCompensationExpenseConnectionwithAwardsDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]",
        "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]",
        "documentation": "Disclosure of information about share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r564",
      "r566",
      "r569",
      "r570",
      "r571",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationAggregateIntrinsicValueofOptionsExercisedandAggregateFairValueofRestrictedStockUnitsandRestrictedSharesthatVestedDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofRangesofOutstandingandExercisableOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share-based Payment Arrangement, Option, Exercise Price Range [Table]",
        "label": "Share-Based Payment Arrangement, Option, Exercise Price Range [Table]",
        "documentation": "Details comprising a table providing supplementary information on outstanding and exercisable share awards as of the balance sheet date which stratifies outstanding options by ranges of exercise prices."
       }
      }
     },
     "auth_ref": [
      "r109"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Stock Options Transactions",
        "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]",
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value."
       }
      }
     },
     "auth_ref": [
      "r34",
      "r35",
      "r110"
     ]
    },
    "us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Information About Restricted Stock Units and Weighted Average Grant Date Fair Value",
        "label": "Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]",
        "documentation": "Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year."
       }
      }
     },
     "auth_ref": []
    },
    "rock_ScheduleofBusinessCombinationCostsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "ScheduleofBusinessCombinationCostsTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Business Combination Costs",
        "label": "Schedule of Business Combination Costs [Table Text Block]",
        "documentation": "Schedule of Business Combination Costs [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Amortization Expense",
        "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]",
        "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r88"
     ]
    },
    "rock_SecuredOvernightFinancingRateSOFRMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "SecuredOvernightFinancingRateSOFRMember",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Secured Overnight Financing Rate (SOFR)",
        "label": "Secured Overnight Financing Rate (SOFR) [Member]",
        "documentation": "Secured Overnight Financing Rate (SOFR)"
       }
      }
     },
     "auth_ref": []
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Title of 12(b) Security",
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r881"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Security Exchange Name",
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r884"
     ]
    },
    "us-gaap_SegmentContinuingOperationsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentContinuingOperationsMember",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Continuing Operations",
        "label": "Continuing Operations [Member]",
        "documentation": "Component of an entity expected to operate in the foreseeable future."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsScheduleOfAssetImpairmentChargesRelatedToRestructuringActivitiesDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofImpairmentChargesDetails",
      "http://www.gibraltar1.com/role/SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails",
      "http://www.gibraltar1.com/role/SegmentInformationNetSalesbyContractTypeDetails",
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Segments [Domain]",
        "label": "Segments [Domain]",
        "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity."
       }
      }
     },
     "auth_ref": [
      "r339",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r371",
      "r377",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r423",
      "r429",
      "r720",
      "r721",
      "r722",
      "r723",
      "r724",
      "r725",
      "r726",
      "r727",
      "r728",
      "r729",
      "r730",
      "r839",
      "r895",
      "r1003"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationNetSalesbyRegionorOriginandLongLivedAssetsbyRegionofDomicileDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Geographical [Domain]",
        "label": "Geographical [Domain]"
       }
      }
     },
     "auth_ref": [
      "r375",
      "r376",
      "r747",
      "r748",
      "r749",
      "r801",
      "r803",
      "r806",
      "r811",
      "r816",
      "r817",
      "r818",
      "r819",
      "r820",
      "r821",
      "r822",
      "r823",
      "r824",
      "r828",
      "r848",
      "r872",
      "r950",
      "r1003"
     ]
    },
    "us-gaap_SegmentOperatingActivitiesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentOperatingActivitiesDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating Activities [Domain]",
        "label": "Operating Activities [Domain]",
        "documentation": "Operations of an entity including continuing and discontinued operations."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Segment Reporting [Abstract]",
        "label": "Segment Reporting [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingDisclosureTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Segment Information",
        "label": "Segment Reporting Disclosure [Text Block]",
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments."
       }
      }
     },
     "auth_ref": [
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r354",
      "r365",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r377"
     ]
    },
    "us-gaap_SegmentReportingInformationRevenueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingInformationRevenueAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Segment Reporting Information, Revenue for Reportable Segment [Abstract]",
        "label": "Segment Reporting Information, Revenue for Reportable Segment [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingOtherSignificantReconcilingItemLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingOtherSignificantReconcilingItemLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Segment Reporting, Other Significant Reconciling Item [Line Items]",
        "label": "Segment, Reconciliation of Other Items from Segments to Consolidated [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_SegmentReportingPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingPolicyPolicyTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Segment reporting",
        "label": "Segment Reporting, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for segment reporting."
       }
      }
     },
     "auth_ref": [
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r375",
      "r836"
     ]
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingGeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Selling, general, and administrative expense",
        "label": "Selling, General and Administrative Expense",
        "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": [
      "r192"
     ]
    },
    "rock_SellingGeneralAndAdministrativeExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "SellingGeneralAndAdministrativeExpenseMember",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryOfExitActivityCostsAndAssetImpairmentsRecordedintheConsolidatedStatementsofOperationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Selling, general, and administrative expense",
        "label": "Selling General And Administrative Expense [Member]",
        "documentation": "Selling General And Administrative Expense [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SellingGeneralAndAdministrativeExpensesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingGeneralAndAdministrativeExpensesMember",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsAcquisitionRelatedCostsDetails",
      "http://www.gibraltar1.com/role/AcquisitionsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "SG&amp;A",
        "verboseLabel": "Selling, general and administrative costs",
        "label": "Selling, General and Administrative Expenses [Member]",
        "documentation": "Primary financial statement caption encompassing selling, general and administrative expense."
       }
      }
     },
     "auth_ref": []
    },
    "rock_SeniorCreditAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "SeniorCreditAgreementMember",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails",
      "http://www.gibraltar1.com/role/FairValueMeasurementsNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Senior Credit Agreement",
        "label": "Senior Credit Agreement [Member]",
        "documentation": "Senior Credit Agreement [Member]."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperations",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofCashFlows",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofCompensationExpenseConnectionwithAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock compensation expense",
        "label": "Share-Based Payment Arrangement, Noncash Expense",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r17"
     ]
    },
    "us-gaap_ShareBasedCompensationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share-based Payment Arrangement, Noncash Expense [Abstract]",
        "label": "Share-Based Payment Arrangement, Noncash Expense [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Typical vesting period, in years",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period",
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition."
       }
      }
     },
     "auth_ref": [
      "r865"
     ]
    },
    "rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adjustments (in shares)",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Adjustments in Period",
        "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Adjustments in Period"
       }
      }
     },
     "auth_ref": []
    },
    "rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares for which performance condition was not achieved (in shares)",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Adjustments in Period, Performance Conditions Not Achieved",
        "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Adjustments in Period, Performance Conditions Not Achieved"
       }
      }
     },
     "auth_ref": []
    },
    "rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Adjustments (in USD per share)",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Adjustments in Period, Weighted Average Grant Date Fair Value",
        "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Adjustments in Period, Weighted Average Grant Date Fair Value"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Forfeited in period (in shares)",
        "negatedLabel": "Forfeited (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r586"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Forfeited (in USD per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value",
        "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event."
       }
      }
     },
     "auth_ref": [
      "r586"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "netLabel": "Shares awarded (in shares)",
        "terseLabel": "Number\u00a0of Awards (in shares)",
        "verboseLabel": "Granted (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "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": [
      "r584"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "netLabel": "Weighted Average Grant\u00a0Date Fair Value (in USD per share)",
        "terseLabel": "Granted (in USD per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "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": [
      "r584"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Performance stock units outstanding (in shares)",
        "periodStartLabel": "Balance at beginning of period (in shares)",
        "periodEndLabel": "Balance at end of period (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date."
       }
      }
     },
     "auth_ref": [
      "r581",
      "r582"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted Stock Units / Restricted Stock (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance at beginning of period (in USD per share)",
        "periodEndLabel": "Balance at end of period (in USD per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": [
      "r581",
      "r582"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average Grant Date Fair Value (in dollars per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationCashPaidtoSettleLiabilityAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted stock units credited",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Share-Based Liabilities Paid",
        "documentation": "Amount of cash paid to settle liability for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r588"
     ]
    },
    "rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetPortionGranted": {
     "xbrltype": "pureItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetPortionGranted",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Target portion granted",
        "label": "Share-based Compensation Arrangement By Share-based Payment Award, Equity Instruments Other Than Options, Target Portion Granted",
        "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Target Portion Granted"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Vested (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r585"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationAggregateIntrinsicValueofOptionsExercisedandAggregateFairValueofRestrictedStockUnitsandRestrictedSharesthatVestedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Grant date fair value",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value",
        "documentation": "Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash."
       }
      }
     },
     "auth_ref": [
      "r588"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vested (in USD per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value",
        "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement."
       }
      }
     },
     "auth_ref": [
      "r585"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationAggregateIntrinsicValueofOptionsExercisedandAggregateFairValueofRestrictedStockUnitsandRestrictedSharesthatVestedDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationCashPaidtoSettleLiabilityAwardsDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofCompensationExpenseConnectionwithAwardsDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]",
        "label": "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": [
      "r564",
      "r566",
      "r569",
      "r570",
      "r571",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationCashPaidtoSettleLiabilityAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted stock units credited (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Granted",
        "documentation": "Net number of non-option equity instruments granted to participants."
       }
      }
     },
     "auth_ref": [
      "r33"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationCashPaidtoSettleLiabilityAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted stock units balance, vested and unvested (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Outstanding, Number",
        "documentation": "Number of equity instruments other than options outstanding, including both vested and non-vested instruments."
       }
      }
     },
     "auth_ref": [
      "r31",
      "r32"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of shares authorized",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized",
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r866"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of shares available for issuance under the Plan",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant",
        "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable."
       }
      }
     },
     "auth_ref": [
      "r109"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofRangesofOutstandingandExercisableOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Options Exercisable",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number",
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan."
       }
      }
     },
     "auth_ref": [
      "r575"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofRangesofOutstandingandExercisableOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average Exercise Price",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price",
        "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r575"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationAggregateIntrinsicValueofOptionsExercisedandAggregateFairValueofRestrictedStockUnitsandRestrictedSharesthatVestedDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate intrinsic value of options exercised",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value",
        "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares."
       }
      }
     },
     "auth_ref": [
      "r588"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofStockOptionTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Forfeited (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period",
        "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r579"
     ]
    },
    "rock_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantOutstandingNumber",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Grant of options outstanding (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grant, Outstanding, Number",
        "documentation": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grant, Outstanding, Number"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Granted (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross",
        "documentation": "Gross number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r577"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Number of Awards and Weighted Average Grant Date Fair Value",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value [Table Text Block]",
        "documentation": "Tabular disclosure of the weighted-average grant-date fair value of equity options or other equity instruments granted during the year."
       }
      }
     },
     "auth_ref": [
      "r111"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofStockOptionTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate Intrinsic\u00a0Value",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value",
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding."
       }
      }
     },
     "auth_ref": [
      "r109"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofRangesofOutstandingandExercisableOptionsDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofStockOptionTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Options Outstanding",
        "periodStartLabel": "Beginning balance (in shares)",
        "periodEndLabel": "Ending balance (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number",
        "documentation": "Number of options outstanding, including both vested and non-vested options."
       }
      }
     },
     "auth_ref": [
      "r573",
      "r574"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofStockOptionTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Options (in shares):",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofStockOptionTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Beginning balance (in dollars per share)",
        "periodEndLabel": "Ending balance (in dollars per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r573",
      "r574"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofStockOptionTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average Exercise Price (in dollars per share)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Ranges of Outstanding and Exercisable Options",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding and Exercisable [Table Text Block]",
        "documentation": "Tabular disclosure of number, weighted-average exercise price or conversion ratio, aggregate intrinsic value, and weighted-average remaining contractual term for outstanding and exercisable options that are fully vested and expected to vest. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r35"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationAggregateIntrinsicValueofOptionsExercisedandAggregateFairValueofRestrictedStockUnitsandRestrictedSharesthatVestedDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationCashPaidtoSettleLiabilityAwardsDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationScheduleofNumberofAwardsandWeightedAverageGrantDateFairValueDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award Type [Domain]",
        "label": "Award Type [Domain]",
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r569",
      "r570",
      "r571",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofRangesofOutstandingandExercisableOptionsDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofStockOptionTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Weighted Average Exercise Price",
        "terseLabel": "Exercised (in dollars per share)",
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price",
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares."
       }
      }
     },
     "auth_ref": [
      "r578"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofStockOptionTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Forfeited (in dollars per share)",
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price",
        "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated."
       }
      }
     },
     "auth_ref": [
      "r579"
     ]
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Equity-based compensation",
        "label": "Share-Based Payment Arrangement [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost."
       }
      }
     },
     "auth_ref": [
      "r563",
      "r572",
      "r591",
      "r592",
      "r593",
      "r594",
      "r597",
      "r606",
      "r607",
      "r608",
      "r609"
     ]
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofRangesofOutstandingandExercisableOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exercise Price Range [Axis]",
        "label": "Exercise Price Range [Axis]",
        "documentation": "Information by range of option prices pertaining to options granted."
       }
      }
     },
     "auth_ref": [
      "r112"
     ]
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofRangesofOutstandingandExercisableOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exercise Price Range [Domain]",
        "label": "Exercise Price Range [Domain]",
        "documentation": "Supplementary information on outstanding and exercisable share awards as of the balance sheet date which stratifies outstanding options by ranges of exercise prices."
       }
      }
     },
     "auth_ref": [
      "r113"
     ]
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofRangesofOutstandingandExercisableOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share-based Payment Arrangement, Option, Exercise Price Range [Line Items]",
        "label": "Share-Based Payment Arrangement, Option, Exercise Price Range [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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofRangesofOutstandingandExercisableOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Exercise Price Range, Lower Range Limit",
        "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit",
        "documentation": "The floor of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range."
       }
      }
     },
     "auth_ref": [
      "r113"
     ]
    },
    "rock_SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share-based Compensation Arrangement By Share-based Payment Award, Average Company Stock Price, Measurement Period",
        "label": "Share-based Compensation Arrangement By Share-based Payment Award, Average Company Stock Price, Measurement Period",
        "documentation": "Share-based Compensation Arrangement By Share-based Payment Award, Average Company Stock Price, Measurement Period"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofRangesofOutstandingandExercisableOptionsDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofStockOptionTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted Average Remaining Contractual Life (in\u00a0years)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term",
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r216"
     ]
    },
    "rock_SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Award performance period",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Performance Period",
        "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Award Performance Period"
       }
      }
     },
     "auth_ref": []
    },
    "rock_SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Percent of grants awarded based on target threshold",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other Than Options, Grants Based On Targeted Thresholds, Percent",
        "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other Than Options, Grants Based On Targeted Thresholds, Percent"
       }
      }
     },
     "auth_ref": []
    },
    "rock_SharebasedCompensationMeasurementReturnOnInvestedCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "SharebasedCompensationMeasurementReturnOnInvestedCapitalMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Return On Invested Capital",
        "label": "Share-based Compensation Measurement, Return On Invested Capital [Member]",
        "documentation": "Share-based Compensation Measurement, Return On Invested Capital [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharesIssued",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance, shares",
        "periodEndLabel": "Balance, shares",
        "label": "Shares, Issued",
        "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": [
      "r30"
     ]
    },
    "us-gaap_ShortTermLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermLeaseCost",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/LeasesScheduleofLeaseCostandAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Short-term lease cost",
        "label": "Short-Term Lease, Cost",
        "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less."
       }
      }
     },
     "auth_ref": [
      "r682",
      "r867"
     ]
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary Of Significant Accounting Policies",
        "label": "Significant Accounting Policies [Text Block]",
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r197",
      "r297"
     ]
    },
    "us-gaap_StandbyLettersOfCreditMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StandbyLettersOfCreditMember",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Standby Letters of Credit",
        "label": "Standby Letters of Credit [Member]",
        "documentation": "An irrevocable undertaking (typically by a financial institution) to guarantee payment of a specified financial obligation."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r942",
      "r1005",
      "r1006"
     ]
    },
    "us-gaap_StateAndLocalJurisdictionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StateAndLocalJurisdictionMember",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State",
        "label": "State and Local Jurisdiction [Member]",
        "documentation": "Designated tax department of a state or local government entitled to levy and collect income taxes from the entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementBusinessSegmentsAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsScheduleOfAssetImpairmentChargesRelatedToRestructuringActivitiesDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofChangesinCarryingAmountofGoodwillDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofImpairmentChargesDetails",
      "http://www.gibraltar1.com/role/SegmentInformationMeasurementsUsedbyManagementtoAssessPerformanceofSegmentsDetails",
      "http://www.gibraltar1.com/role/SegmentInformationNetSalesbyContractTypeDetails",
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Segments [Axis]",
        "label": "Segments [Axis]",
        "documentation": "Information by business segments."
       }
      }
     },
     "auth_ref": [
      "r256",
      "r339",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r371",
      "r377",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r417",
      "r423",
      "r429",
      "r720",
      "r721",
      "r722",
      "r723",
      "r724",
      "r725",
      "r726",
      "r727",
      "r728",
      "r729",
      "r730",
      "r839",
      "r895",
      "r1003"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/AccumulatedOtherComprehensiveLossIncomeDetails",
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity",
      "http://www.gibraltar1.com/role/EquityBasedCompensationCashPaidtoSettleLiabilityAwardsDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails",
      "http://www.gibraltar1.com/role/LeasesNarrativeDetails",
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Equity Components [Axis]",
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r30",
      "r51",
      "r255",
      "r284",
      "r285",
      "r286",
      "r308",
      "r309",
      "r310",
      "r312",
      "r318",
      "r320",
      "r337",
      "r385",
      "r386",
      "r470",
      "r603",
      "r604",
      "r605",
      "r629",
      "r630",
      "r650",
      "r651",
      "r652",
      "r653",
      "r654",
      "r655",
      "r656",
      "r664",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r689",
      "r732",
      "r733",
      "r734",
      "r745",
      "r797"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationNetSalesbyRegionorOriginandLongLivedAssetsbyRegionofDomicileDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Geographical [Axis]",
        "label": "Geographical [Axis]"
       }
      }
     },
     "auth_ref": [
      "r375",
      "r376",
      "r747",
      "r748",
      "r749",
      "r801",
      "r803",
      "r806",
      "r811",
      "r813",
      "r816",
      "r817",
      "r818",
      "r819",
      "r820",
      "r821",
      "r822",
      "r823",
      "r824",
      "r828",
      "r848",
      "r872",
      "r950",
      "r1003"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statement [Line Items]",
        "label": "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": [
      "r308",
      "r309",
      "r310",
      "r337",
      "r694",
      "r739",
      "r746",
      "r752",
      "r753",
      "r754",
      "r755",
      "r756",
      "r757",
      "r758",
      "r761",
      "r762",
      "r763",
      "r764",
      "r765",
      "r766",
      "r767",
      "r768",
      "r769",
      "r771",
      "r772",
      "r773",
      "r774",
      "r775",
      "r777",
      "r780",
      "r781",
      "r783",
      "r784",
      "r785",
      "r786",
      "r787",
      "r788",
      "r789",
      "r790",
      "r791",
      "r792",
      "r793",
      "r794",
      "r797",
      "r873"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statement of Cash Flows [Abstract]",
        "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": {
        "terseLabel": "Statement of Financial Position [Abstract]",
        "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": {
        "terseLabel": "Statement of Stockholders' Equity [Abstract]",
        "label": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOperatingActivitiesSegmentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOperatingActivitiesSegmentAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesBenefitofProvisionforIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating Activities [Axis]",
        "label": "Operating Activities [Axis]",
        "documentation": "Information by continuing and discontinuing operations."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementTable",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statement [Table]",
        "label": "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": [
      "r308",
      "r309",
      "r310",
      "r337",
      "r694",
      "r739",
      "r746",
      "r752",
      "r753",
      "r754",
      "r755",
      "r756",
      "r757",
      "r758",
      "r761",
      "r762",
      "r763",
      "r764",
      "r765",
      "r766",
      "r767",
      "r768",
      "r769",
      "r771",
      "r772",
      "r773",
      "r774",
      "r775",
      "r777",
      "r780",
      "r781",
      "r783",
      "r784",
      "r785",
      "r786",
      "r787",
      "r788",
      "r789",
      "r790",
      "r791",
      "r792",
      "r793",
      "r794",
      "r797",
      "r873"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesOther": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesOther",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Issuance of restricted stock, shares",
        "label": "Stock Issued During Period, Shares, Other",
        "documentation": "Number of shares of stock issued attributable to transactions classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "rock_StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net settlement of restricted stock units, shares",
        "label": "Stock Issued During Period, Shares, Restricted Stock Award, Settlement",
        "documentation": "Stock Issued During Period, Shares, Restricted Stock Award, Settlement"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofStockOptionTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock options exercised, shares",
        "negatedLabel": "Exercised (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period",
        "documentation": "Number of share options (or share units) exercised during the current period."
       }
      }
     },
     "auth_ref": [
      "r30",
      "r170",
      "r171",
      "r212",
      "r578"
     ]
    },
    "rock_StockIssuedDuringPeriodValueRestrictedStockAwardSettlement": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardSettlement",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Net settlement of restricted stock units",
        "label": "Stock Issued During Period, Value, Restricted Stock Award, Settlement",
        "documentation": "Stock Issued During Period, Value, Restricted Stock Award, Settlement"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock repurchased under stock repurchase program",
        "label": "Stock Issued During Period, Value, Stock Options Exercised",
        "documentation": "Value of stock issued as a result of the exercise of stock options."
       }
      }
     },
     "auth_ref": [
      "r30",
      "r51",
      "r212"
     ]
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedDuringPeriodShares",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock repurchased under stock repurchase program (in shares)",
        "label": "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": [
      "r30",
      "r170",
      "r171",
      "r212",
      "r742",
      "r797",
      "r812"
     ]
    },
    "us-gaap_StockRepurchasedDuringPeriodValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedDuringPeriodValue",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Common stock repurchased under stock repurchase program",
        "label": "Stock Repurchased During Period, Value",
        "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate 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": [
      "r30",
      "r170",
      "r171",
      "r212",
      "r745",
      "r797",
      "r812",
      "r879"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets",
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity",
      "http://www.gibraltar1.com/role/LeasesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total stockholders\u2019 equity",
        "periodStartLabel": "Balance",
        "periodEndLabel": "Balance",
        "verboseLabel": "Cumulative effect of new accounting principle in period of adoption",
        "label": "Equity, Attributable to Parent",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r171",
      "r174",
      "r175",
      "r198",
      "r760",
      "r776",
      "r798",
      "r799",
      "r868",
      "r880",
      "r909",
      "r925",
      "r984",
      "r1009"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stockholders\u2019 equity:",
        "label": "Equity, Attributable to Parent [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "rock_SummaryOfSlowMovingInventoryActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "SummaryOfSlowMovingInventoryActivityTableTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/InventoriesNetTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Activity within the Reserve for Excess, Obsolete, and Slow Moving Inventory",
        "label": "Summary Of Slow Moving Inventory Activity [Table Text Block]",
        "documentation": "Rollforward of excess, obsolete, and slow-moving inventory reserve."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SummaryOfValuationAllowanceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SummaryOfValuationAllowanceTextBlock",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Valuation Allowance",
        "label": "Summary of Valuation Allowance [Table Text Block]",
        "documentation": "Tabular disclosure of valuation allowances to reduce deferred tax assets to net realizable value, including identification of the deferred tax asset more likely than not will not be fully realized and the corresponding amount of the valuation allowance."
       }
      }
     },
     "auth_ref": [
      "r117"
     ]
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TimingOfTransferOfGoodOrServiceAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationNetSalesbyContractTypeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Timing of Transfer of Good or Service [Axis]",
        "label": "Timing of Transfer of Good or Service [Axis]",
        "documentation": "Information by timing of transfer of good or service to customer."
       }
      }
     },
     "auth_ref": [
      "r852",
      "r950"
     ]
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TimingOfTransferOfGoodOrServiceDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationNetSalesbyContractTypeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Timing of Transfer of Good or Service [Domain]",
        "label": "Timing of Transfer of Good or Service [Domain]",
        "documentation": "Timing of transfer of good or service to customer. Includes, but is not limited to, at point in time or over time."
       }
      }
     },
     "auth_ref": [
      "r852",
      "r950"
     ]
    },
    "srt_TitleOfIndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "TitleOfIndividualAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationCashPaidtoSettleLiabilityAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Title of Individual [Axis]",
        "label": "Title of Individual [Axis]"
       }
      }
     },
     "auth_ref": [
      "r924",
      "r990"
     ]
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationCashPaidtoSettleLiabilityAwardsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Title of Individual [Domain]",
        "label": "Title of Individual [Domain]"
       }
      }
     },
     "auth_ref": []
    },
    "rock_TotalAcquiredIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "TotalAcquiredIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total acquired intangible assets, Accumulated Amortization",
        "label": "Total acquired intangible assets, Accumulated Amortization",
        "documentation": "Total acquired intangible assets, accumulated amortization"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TradeAndOtherAccountsReceivablePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TradeAndOtherAccountsReceivablePolicy",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts receivable and allowance for doubtful accounts and contract assets",
        "label": "Accounts Receivable [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r237",
      "r238",
      "r239",
      "r380",
      "r381",
      "r383"
     ]
    },
    "us-gaap_TrademarksMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TrademarksMember",
     "presentation": [
      "http://www.gibraltar1.com/role/AcquisitionsScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsNarrativeDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails",
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofImpairmentChargesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trademarks",
        "label": "Trademarks [Member]",
        "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style."
       }
      }
     },
     "auth_ref": [
      "r128"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://www.gibraltar1.com/role/CoverPage"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trading Symbol",
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TransferredAtPointInTimeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TransferredAtPointInTimeMember",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationNetSalesbyContractTypeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Point in Time",
        "label": "Transferred at Point in Time [Member]",
        "documentation": "Contract with customer in which good or service is transferred at point in time."
       }
      }
     },
     "auth_ref": [
      "r852"
     ]
    },
    "us-gaap_TransferredOverTimeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TransferredOverTimeMember",
     "presentation": [
      "http://www.gibraltar1.com/role/SegmentInformationNetSalesbyContractTypeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Over Time",
        "label": "Transferred over Time [Member]",
        "documentation": "Contract with customer in which good or service is transferred over time."
       }
      }
     },
     "auth_ref": [
      "r852"
     ]
    },
    "us-gaap_TreasuryStockCommonMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonMember",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Treasury Stock",
        "label": "Treasury Stock, Common [Member]",
        "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r101"
     ]
    },
    "us-gaap_TreasuryStockCommonShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonShares",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Treasury stock, shares (in shares)",
        "label": "Treasury Stock, Common, Shares",
        "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r101"
     ]
    },
    "us-gaap_TreasuryStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockValue",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Cost of 3,778 and 3,199 common shares held in treasury in 2023 and 2022",
        "label": "Treasury Stock, Value",
        "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": [
      "r50",
      "r101",
      "r102"
     ]
    },
    "rock_TreasuryStockValueAcquiredExciseTaxAmountCostMethod": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "TreasuryStockValueAcquiredExciseTaxAmountCostMethod",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Excise tax on repurchase of common shares",
        "label": "Treasury Stock, Value, Acquired, Excise Tax Amount, Cost Method",
        "documentation": "Treasury Stock, Value, Acquired, Excise Tax Amount, Cost Method"
       }
      }
     },
     "auth_ref": []
    },
    "rock_TwoThousandEighteenEquityIncentivePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.gibraltar1.com/20231231",
     "localname": "TwoThousandEighteenEquityIncentivePlanMember",
     "presentation": [
      "http://www.gibraltar1.com/role/EquityBasedCompensationNarrativeDetails",
      "http://www.gibraltar1.com/role/EquityBasedCompensationSummaryofInformationaboutRestrictedStockUnitsandWeightedAverageGrantDateFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2015 Equity Incentive Plan",
        "label": "Two Thousand Eighteen Equity Incentive Plan [Member]",
        "documentation": "Two Thousand Eighteen Equity Incentive Plan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TypeOfRestructuringDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TypeOfRestructuringDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/ExitActivityCostsandAssetImpairmentsSummaryOfExitActivityCostsAndAssetImpairmentsRecordedintheConsolidatedStatementsofOperationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Type of Restructuring [Domain]",
        "label": "Type of Restructuring [Domain]",
        "documentation": "Identification of the types of restructuring costs."
       }
      }
     },
     "auth_ref": [
      "r420",
      "r421",
      "r427",
      "r428"
     ]
    },
    "us-gaap_UnbilledContractsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnbilledContractsReceivable",
     "crdr": "debit",
     "calculation": {
      "http://www.gibraltar1.com/role/AccountsReceivableDetails": {
       "parentTag": "rock_ContractsReceivableGrossCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/AccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Costs in excess of billings",
        "label": "Unbilled Contracts Receivable",
        "documentation": "Unbilled amounts due for services rendered or to be rendered, actions taken or to be taken, or a promise to refrain from taking certain actions in accordance with the terms of a legally binding agreement between the entity and, at a minimum, one other party. An example would be amounts associated with contracts or programs where the recognized revenue for performance thereunder exceeds the amounts billed under the terms thereof as of the date of the balance sheet."
       }
      }
     },
     "auth_ref": [
      "r692"
     ]
    },
    "us-gaap_UnpatentedTechnologyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnpatentedTechnologyMember",
     "presentation": [
      "http://www.gibraltar1.com/role/GoodwillandRelatedIntangibleAssetsScheduleofAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unpatented technology and patents",
        "label": "Unpatented Technology [Member]",
        "documentation": "Technology-based innovations or scientific advances that have not been patented."
       }
      }
     },
     "auth_ref": [
      "r131"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest and penalties recognized",
        "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Expense",
        "documentation": "Amount of expense for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return."
       }
      }
     },
     "auth_ref": [
      "r619"
     ]
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://www.gibraltar1.com/role/SummaryofSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Use of estimates",
        "label": "Use of Estimates, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles."
       }
      }
     },
     "auth_ref": [
      "r73",
      "r74",
      "r75",
      "r244",
      "r245",
      "r247",
      "r248"
     ]
    },
    "us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowanceOfDeferredTaxAssetsMember",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesSummaryofValuationAllowanceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred Tax Valuation Allowance",
        "label": "SEC Schedule, 12-09, Valuation Allowance, Deferred Tax Asset [Member]",
        "documentation": "Valuation allowance of deferred tax asset attributable to deductible temporary difference and carryforward."
       }
      }
     },
     "auth_ref": [
      "r911",
      "r912",
      "r913",
      "r914",
      "r915"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesAdjustments",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesSummaryofValuationAllowanceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Reclassification from discontinued operations upon sale of industrial group",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Increase (Decrease) Adjustment",
        "documentation": "Amount of increase (decrease) in valuation and qualifying accounts and reserves from adjustment."
       }
      }
     },
     "auth_ref": [
      "r916"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesBalance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesBalance",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesSummaryofValuationAllowanceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance as of January\u00a01",
        "periodEndLabel": "Balance as of December\u00a031",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Amount",
        "documentation": "Amount of valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r302",
      "r307"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesChargedToCostAndExpense",
     "crdr": "credit",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesSummaryofValuationAllowanceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cost charged to the tax provision",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Additions, Charge to Cost and Expense",
        "documentation": "Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense."
       }
      }
     },
     "auth_ref": [
      "r305"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesDeductions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesDeductions",
     "crdr": "debit",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesSummaryofValuationAllowanceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedNetLabel": "Reductions",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Deduction",
        "documentation": "Amount of decrease in valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r306"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesDomain",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesSummaryofValuationAllowanceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]",
        "documentation": "Valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r302",
      "r303",
      "r304",
      "r306",
      "r307"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesTypeAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesSummaryofValuationAllowanceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]",
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]",
        "documentation": "Information by valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r302",
      "r303",
      "r304",
      "r306",
      "r307"
     ]
    },
    "srt_ValuationAndQualifyingAccountsDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ValuationAndQualifyingAccountsDisclosureLineItems",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesSummaryofValuationAllowanceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items]",
        "label": "SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r302",
      "r303",
      "r304",
      "r306",
      "r307"
     ]
    },
    "srt_ValuationAndQualifyingAccountsDisclosureTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ValuationAndQualifyingAccountsDisclosureTable",
     "presentation": [
      "http://www.gibraltar1.com/role/IncomeTaxesSummaryofValuationAllowanceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Table]",
        "label": "SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Table]"
       }
      }
     },
     "auth_ref": [
      "r302",
      "r303",
      "r304",
      "r306",
      "r307"
     ]
    },
    "us-gaap_VariableRateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableRateAxis",
     "presentation": [
      "http://www.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Variable Rate [Axis]",
        "label": "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.gibraltar1.com/role/DebtNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Variable Rate [Domain]",
        "label": "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_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "calculation": {
      "http://www.gibraltar1.com/role/EarningsperShareScheduleofComputationofBasicandDilutedEarningsperShareDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome",
      "http://www.gibraltar1.com/role/EarningsperShareScheduleofComputationofBasicandDilutedEarningsperShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average shares outstanding \u2013 Diluted (in shares)",
        "totalLabel": "Weighted average shares and conversions (in shares)",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "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": [
      "r323",
      "r332"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "calculation": {
      "http://www.gibraltar1.com/role/EarningsperShareScheduleofComputationofBasicandDilutedEarningsperShareDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.gibraltar1.com/role/ConsolidatedStatementsofIncome",
      "http://www.gibraltar1.com/role/EarningsperShareScheduleofComputationofBasicandDilutedEarningsperShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average shares outstanding \u2013 Basic (in shares)",
        "verboseLabel": "Weighted average shares outstanding (in shares)",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "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": [
      "r322",
      "r332"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "4",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482338/360-10-05-4"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "15",
   "Paragraph": "12",
   "Subparagraph": "(f)(2)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481410/810-10-15-12"
  },
  "r2": {
   "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"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "16",
   "SubTopic": "10",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479405/805-10-25-16"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "7",
   "SubTopic": "30",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-7"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "8",
   "SubTopic": "30",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-8"
  },
  "r6": {
   "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"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(a),(b),(c)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(i)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(i),(j),(k)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(i-k)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-12"
  },
  "r14": {
   "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"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-15"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "SubTopic": "20",
   "Topic": "205",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483475/205-20-45-1B"
  },
  "r17": {
   "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"
  },
  "r18": {
   "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"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482130/360-10-45-5"
  },
  "r20": {
   "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"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-1"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "20",
   "Topic": "205",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "20",
   "Topic": "715",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "30",
   "Topic": "350",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "30",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11B",
   "Subparagraph": "(c)(3)",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-11B"
  },
  "r27": {
   "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"
  },
  "r28": {
   "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"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c),(3)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r30": {
   "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"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(1)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "SubTopic": "10",
   "Topic": "280",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-4"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482739/220-10-55-15"
  },
  "r39": {
   "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"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "205",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-3"
  },
  "r41": {
   "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"
  },
  "r42": {
   "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"
  },
  "r43": {
   "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),20,24)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r44": {
   "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"
  },
  "r45": {
   "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"
  },
  "r46": {
   "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"
  },
  "r47": {
   "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"
  },
  "r48": {
   "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"
  },
  "r49": {
   "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"
  },
  "r50": {
   "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"
  },
  "r51": {
   "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"
  },
  "r52": {
   "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.3,4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A"
  },
  "r55": {
   "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"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r58": {
   "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"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r60": {
   "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"
  },
  "r61": {
   "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"
  },
  "r62": {
   "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"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-1"
  },
  "r64": {
   "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"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-4"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-5"
  },
  "r68": {
   "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"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "310",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "11B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-11B"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "330",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-1"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "330",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB TOPIC 5.BB)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1"
  },
  "r84": {
   "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"
  },
  "r85": {
   "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"
  },
  "r86": {
   "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"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "((a)(1),(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r88": {
   "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"
  },
  "r89": {
   "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"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "420",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "420",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "420",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 5.P.3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-1"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "420",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB TOPIC 5.P.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2"
  },
  "r96": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "420",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2"
  },
  "r97": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-5"
  },
  "r98": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "50",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481244/470-50-50-1"
  },
  "r99": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-3"
  },
  "r100": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-8"
  },
  "r101": {
   "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"
  },
  "r102": {
   "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"
  },
  "r103": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480535/715-20-45-2"
  },
  "r104": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r105": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-2"
  },
  "r106": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-3"
  },
  "r107": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-4"
  },
  "r108": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17"
  },
  "r109": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r110": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r111": {
   "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"
  },
  "r112": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r113": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r114": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12"
  },
  "r115": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13"
  },
  "r116": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6"
  },
  "r117": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r118": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-3"
  },
  "r119": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-3"
  },
  "r120": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-8"
  },
  "r121": {
   "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"
  },
  "r122": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "05",
   "Paragraph": "4",
   "Subparagraph": "(a)-(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479515/805-10-05-4"
  },
  "r123": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "25",
   "Paragraph": "23",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479405/805-10-25-23"
  },
  "r124": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2"
  },
  "r125": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-3"
  },
  "r126": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "37",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479303/805-10-55-37"
  },
  "r127": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1"
  },
  "r128": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14"
  },
  "r129": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "14",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14"
  },
  "r130": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20"
  },
  "r131": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "38",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38"
  },
  "r132": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "740",
   "Section": "25",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479692/805-740-25-8"
  },
  "r133": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "740",
   "Section": "25",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479692/805-740-25-9"
  },
  "r134": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-18"
  },
  "r135": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1"
  },
  "r136": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A"
  },
  "r137": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B"
  },
  "r138": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20"
  },
  "r139": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21"
  },
  "r140": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-1A"
  },
  "r141": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2"
  },
  "r142": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3"
  },
  "r143": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8"
  },
  "r144": {
   "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.15(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r145": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "470",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3"
  },
  "r146": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//205-20/tableOfContent"
  },
  "r147": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483475/205-20-45-11"
  },
  "r148": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483475/205-20-45-3"
  },
  "r149": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483475/205-20-45-3A"
  },
  "r150": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483475/205-20-45-3B"
  },
  "r151": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483475/205-20-45-4"
  },
  "r152": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1"
  },
  "r153": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-3A"
  },
  "r154": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-4A"
  },
  "r155": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-4B"
  },
  "r156": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-5A"
  },
  "r157": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-5B"
  },
  "r158": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-5B"
  },
  "r159": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-5B"
  },
  "r160": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-5B"
  },
  "r161": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-5C"
  },
  "r162": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5C",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-5C"
  },
  "r163": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-5D"
  },
  "r164": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "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"
  },
  "r165": {
   "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"
  },
  "r166": {
   "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"
  },
  "r167": {
   "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(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r168": {
   "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(26)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r169": {
   "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(26)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r170": {
   "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"
  },
  "r171": {
   "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"
  },
  "r172": {
   "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"
  },
  "r173": {
   "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"
  },
  "r174": {
   "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"
  },
  "r175": {
   "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"
  },
  "r176": {
   "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"
  },
  "r177": {
   "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"
  },
  "r178": {
   "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"
  },
  "r179": {
   "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"
  },
  "r180": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//220/tableOfContent"
  },
  "r181": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11"
  },
  "r182": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-03(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-1"
  },
  "r183": {
   "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))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r184": {
   "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"
  },
  "r185": {
   "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(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r186": {
   "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"
  },
  "r187": {
   "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)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r188": {
   "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"
  },
  "r189": {
   "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.13)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r190": {
   "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)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r191": {
   "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.3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r192": {
   "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"
  },
  "r193": {
   "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"
  },
  "r194": {
   "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"
  },
  "r195": {
   "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"
  },
  "r196": {
   "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"
  },
  "r197": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//235/tableOfContent"
  },
  "r198": {
   "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"
  },
  "r199": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//350/tableOfContent"
  },
  "r200": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r201": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "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"
  },
  "r202": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r203": {
   "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"
  },
  "r204": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//360/tableOfContent"
  },
  "r205": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r206": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3A"
  },
  "r207": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.CC)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480091/360-10-S99-2"
  },
  "r208": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//440/tableOfContent"
  },
  "r209": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//470/tableOfContent"
  },
  "r210": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-6"
  },
  "r211": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-7"
  },
  "r212": {
   "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"
  },
  "r213": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r214": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "715",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r215": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "715",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r216": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r217": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r218": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r219": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r220": {
   "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"
  },
  "r221": {
   "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"
  },
  "r222": {
   "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"
  },
  "r223": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//805/tableOfContent"
  },
  "r224": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "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"
  },
  "r225": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SAB Topic 5.E)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479836/810-10-S99-5"
  },
  "r226": {
   "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"
  },
  "r227": {
   "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"
  },
  "r228": {
   "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"
  },
  "r229": {
   "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)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r230": {
   "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"
  },
  "r231": {
   "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"
  },
  "r232": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r233": {
   "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"
  },
  "r234": {
   "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(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r235": {
   "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"
  },
  "r236": {
   "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"
  },
  "r237": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11B",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-11B"
  },
  "r238": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-15"
  },
  "r239": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-6"
  },
  "r240": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "840",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481295/840-40-50-1"
  },
  "r241": {
   "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"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482989/270-10-45-6"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "35",
   "Topic": "720",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(1)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-7"
  },
  "r252": {
   "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"
  },
  "r253": {
   "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"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//606/tableOfContent"
  },
  "r255": {
   "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"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5C",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-5C"
  },
  "r258": {
   "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"
  },
  "r259": {
   "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"
  },
  "r260": {
   "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"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r262": {
   "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"
  },
  "r263": {
   "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(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r264": {
   "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(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r265": {
   "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"
  },
  "r266": {
   "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"
  },
  "r267": {
   "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"
  },
  "r268": {
   "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"
  },
  "r269": {
   "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(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r270": {
   "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(3)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r271": {
   "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(30)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r272": {
   "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(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r273": {
   "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)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r274": {
   "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"
  },
  "r275": {
   "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"
  },
  "r276": {
   "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"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-17A"
  },
  "r278": {
   "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"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r280": {
   "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"
  },
  "r281": {
   "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"
  },
  "r282": {
   "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"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-1"
  },
  "r284": {
   "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"
  },
  "r285": {
   "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"
  },
  "r286": {
   "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"
  },
  "r287": {
   "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(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r288": {
   "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(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r289": {
   "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"
  },
  "r290": {
   "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"
  },
  "r291": {
   "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(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r292": {
   "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"
  },
  "r293": {
   "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"
  },
  "r294": {
   "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"
  },
  "r295": {
   "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"
  },
  "r296": {
   "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"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-1"
  },
  "r298": {
   "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"
  },
  "r299": {
   "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)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r300": {
   "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"
  },
  "r301": {
   "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"
  },
  "r302": {
   "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"
  },
  "r303": {
   "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"
  },
  "r304": {
   "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"
  },
  "r305": {
   "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"
  },
  "r306": {
   "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"
  },
  "r307": {
   "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"
  },
  "r308": {
   "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"
  },
  "r309": {
   "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"
  },
  "r310": {
   "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"
  },
  "r311": {
   "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"
  },
  "r312": {
   "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"
  },
  "r313": {
   "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"
  },
  "r314": {
   "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"
  },
  "r315": {
   "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"
  },
  "r316": {
   "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"
  },
  "r317": {
   "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"
  },
  "r318": {
   "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"
  },
  "r319": {
   "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"
  },
  "r320": {
   "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"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//260/tableOfContent"
  },
  "r322": {
   "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"
  },
  "r323": {
   "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"
  },
  "r324": {
   "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"
  },
  "r325": {
   "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"
  },
  "r326": {
   "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"
  },
  "r327": {
   "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"
  },
  "r328": {
   "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"
  },
  "r329": {
   "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"
  },
  "r330": {
   "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"
  },
  "r331": {
   "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"
  },
  "r332": {
   "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"
  },
  "r333": {
   "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"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3"
  },
  "r336": {
   "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"
  },
  "r337": {
   "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"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//280/tableOfContent"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21"
  },
  "r342": {
   "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"
  },
  "r343": {
   "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"
  },
  "r344": {
   "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"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r347": {
   "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"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r350": {
   "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"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(j)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29"
  },
  "r361": {
   "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"
  },
  "r362": {
   "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"
  },
  "r363": {
   "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"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r366": {
   "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"
  },
  "r367": {
   "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"
  },
  "r368": {
   "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"
  },
  "r369": {
   "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"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r371": {
   "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"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "34",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34"
  },
  "r373": {
   "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"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r375": {
   "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"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r377": {
   "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"
  },
  "r378": {
   "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"
  },
  "r379": {
   "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"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-1"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-2"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481569/310-20-50-1"
  },
  "r384": {
   "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"
  },
  "r385": {
   "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"
  },
  "r386": {
   "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"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-6"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//330/tableOfContent"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-1"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-4"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "340",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479483/340-40-50-3"
  },
  "r395": {
   "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"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-2"
  },
  "r397": {
   "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"
  },
  "r398": {
   "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"
  },
  "r399": {
   "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"
  },
  "r400": {
   "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"
  },
  "r401": {
   "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"
  },
  "r402": {
   "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"
  },
  "r403": {
   "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"
  },
  "r404": {
   "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"
  },
  "r405": {
   "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"
  },
  "r406": {
   "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"
  },
  "r407": {
   "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"
  },
  "r408": {
   "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"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r410": {
   "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"
  },
  "r411": {
   "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"
  },
  "r412": {
   "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"
  },
  "r413": {
   "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"
  },
  "r414": {
   "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"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-3"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//420/tableOfContent"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.P.3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-1"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB TOPIC 5.P.4(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2"
  },
  "r431": {
   "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"
  },
  "r432": {
   "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"
  },
  "r433": {
   "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"
  },
  "r434": {
   "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"
  },
  "r435": {
   "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"
  },
  "r436": {
   "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"
  },
  "r437": {
   "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"
  },
  "r438": {
   "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"
  },
  "r439": {
   "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)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r440": {
   "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"
  },
  "r441": {
   "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"
  },
  "r442": {
   "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"
  },
  "r443": {
   "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"
  },
  "r444": {
   "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"
  },
  "r445": {
   "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"
  },
  "r446": {
   "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"
  },
  "r447": {
   "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)(C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r448": {
   "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"
  },
  "r449": {
   "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"
  },
  "r450": {
   "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"
  },
  "r451": {
   "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"
  },
  "r452": {
   "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"
  },
  "r453": {
   "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"
  },
  "r454": {
   "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"
  },
  "r455": {
   "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"
  },
  "r456": {
   "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"
  },
  "r457": {
   "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"
  },
  "r458": {
   "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"
  },
  "r459": {
   "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"
  },
  "r460": {
   "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"
  },
  "r461": {
   "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"
  },
  "r462": {
   "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"
  },
  "r463": {
   "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"
  },
  "r464": {
   "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"
  },
  "r465": {
   "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"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4"
  },
  "r469": {
   "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"
  },
  "r470": {
   "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"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-3"
  },
  "r474": {
   "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"
  },
  "r475": {
   "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"
  },
  "r476": {
   "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"
  },
  "r477": {
   "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"
  },
  "r478": {
   "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"
  },
  "r479": {
   "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"
  },
  "r480": {
   "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"
  },
  "r481": {
   "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"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-17"
  },
  "r483": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18"
  },
  "r485": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-19"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20"
  },
  "r490": {
   "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"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8"
  },
  "r492": {
   "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"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "712",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//712/tableOfContent"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "712",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481565/712-10-50-2"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480535/715-20-45-2"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480535/715-20-45-3"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480535/715-20-45-3A"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(10)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(8)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(8)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r519": {
   "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"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r524": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r529": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r530": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r531": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r532": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r533": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r534": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r535": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r536": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r538": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(j)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r541": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(n)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(q)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r546": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-2"
  },
  "r547": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-8"
  },
  "r557": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480266/715-60-50-4"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "70",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480794/715-70-50-1"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480606/715-80-35-1"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11"
  },
  "r561": {
   "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"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-9"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//718/tableOfContent"
  },
  "r564": {
   "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"
  },
  "r565": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2"
  },
  "r566": {
   "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"
  },
  "r567": {
   "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"
  },
  "r568": {
   "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"
  },
  "r569": {
   "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"
  },
  "r570": {
   "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"
  },
  "r571": {
   "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"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r573": {
   "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"
  },
  "r574": {
   "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"
  },
  "r575": {
   "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"
  },
  "r576": {
   "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"
  },
  "r577": {
   "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"
  },
  "r578": {
   "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"
  },
  "r579": {
   "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"
  },
  "r580": {
   "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"
  },
  "r581": {
   "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"
  },
  "r582": {
   "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"
  },
  "r583": {
   "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"
  },
  "r584": {
   "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"
  },
  "r585": {
   "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"
  },
  "r586": {
   "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"
  },
  "r587": {
   "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"
  },
  "r588": {
   "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"
  },
  "r589": {
   "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"
  },
  "r590": {
   "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"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r593": {
   "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"
  },
  "r594": {
   "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"
  },
  "r595": {
   "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"
  },
  "r596": {
   "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"
  },
  "r597": {
   "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"
  },
  "r598": {
   "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"
  },
  "r599": {
   "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"
  },
  "r600": {
   "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"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r602": {
   "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"
  },
  "r603": {
   "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"
  },
  "r604": {
   "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"
  },
  "r605": {
   "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"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.C.Q3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.1.Q5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r608": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.2.Q6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r609": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.3.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r610": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "720",
   "SubTopic": "35",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1"
  },
  "r611": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//740/tableOfContent"
  },
  "r612": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-25"
  },
  "r613": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-28"
  },
  "r614": {
   "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"
  },
  "r615": {
   "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"
  },
  "r616": {
   "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"
  },
  "r617": {
   "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"
  },
  "r618": {
   "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"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r620": {
   "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"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19"
  },
  "r622": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r623": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r624": {
   "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"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-20"
  },
  "r626": {
   "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"
  },
  "r627": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r628": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r629": {
   "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"
  },
  "r630": {
   "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"
  },
  "r631": {
   "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"
  },
  "r632": {
   "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"
  },
  "r633": {
   "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"
  },
  "r634": {
   "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"
  },
  "r635": {
   "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.3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r636": {
   "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.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r637": {
   "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"
  },
  "r638": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-11"
  },
  "r639": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2"
  },
  "r640": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2"
  },
  "r641": {
   "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"
  },
  "r642": {
   "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"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5"
  },
  "r645": {
   "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"
  },
  "r646": {
   "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"
  },
  "r647": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1B"
  },
  "r648": {
   "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"
  },
  "r649": {
   "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"
  },
  "r650": {
   "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"
  },
  "r651": {
   "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"
  },
  "r652": {
   "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"
  },
  "r653": {
   "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"
  },
  "r654": {
   "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"
  },
  "r655": {
   "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"
  },
  "r656": {
   "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"
  },
  "r657": {
   "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"
  },
  "r658": {
   "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"
  },
  "r659": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r660": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r661": {
   "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"
  },
  "r662": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//830/tableOfContent"
  },
  "r663": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "230",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r664": {
   "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"
  },
  "r665": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r666": {
   "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"
  },
  "r667": {
   "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"
  },
  "r668": {
   "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"
  },
  "r669": {
   "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"
  },
  "r670": {
   "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"
  },
  "r671": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3"
  },
  "r672": {
   "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"
  },
  "r673": {
   "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"
  },
  "r674": {
   "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"
  },
  "r675": {
   "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"
  },
  "r676": {
   "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"
  },
  "r677": {
   "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"
  },
  "r678": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-1"
  },
  "r679": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3"
  },
  "r680": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r681": {
   "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"
  },
  "r682": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r683": {
   "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"
  },
  "r684": {
   "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"
  },
  "r685": {
   "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"
  },
  "r686": {
   "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"
  },
  "r687": {
   "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"
  },
  "r688": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479741/842-40-50-2"
  },
  "r689": {
   "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"
  },
  "r690": {
   "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"
  },
  "r691": {
   "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"
  },
  "r692": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-2"
  },
  "r693": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "330",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482105/912-330-50-1"
  },
  "r694": {
   "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"
  },
  "r695": {
   "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"
  },
  "r696": {
   "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"
  },
  "r697": {
   "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"
  },
  "r698": {
   "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(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r699": {
   "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"
  },
  "r700": {
   "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"
  },
  "r701": {
   "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"
  },
  "r702": {
   "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"
  },
  "r703": {
   "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"
  },
  "r704": {
   "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"
  },
  "r705": {
   "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"
  },
  "r706": {
   "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"
  },
  "r707": {
   "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)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r708": {
   "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"
  },
  "r709": {
   "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"
  },
  "r710": {
   "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)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r711": {
   "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)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r712": {
   "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"
  },
  "r713": {
   "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"
  },
  "r714": {
   "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"
  },
  "r715": {
   "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(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r716": {
   "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"
  },
  "r717": {
   "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"
  },
  "r718": {
   "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(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r719": {
   "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"
  },
  "r720": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r721": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r722": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r723": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r724": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r725": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r726": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r727": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r728": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r729": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column J))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r730": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column K))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r731": {
   "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"
  },
  "r732": {
   "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"
  },
  "r733": {
   "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"
  },
  "r734": {
   "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"
  },
  "r735": {
   "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"
  },
  "r736": {
   "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"
  },
  "r737": {
   "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"
  },
  "r738": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "825",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B"
  },
  "r739": {
   "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"
  },
  "r740": {
   "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(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r741": {
   "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"
  },
  "r742": {
   "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"
  },
  "r743": {
   "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"
  },
  "r744": {
   "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"
  },
  "r745": {
   "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"
  },
  "r746": {
   "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"
  },
  "r747": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r748": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2"
  },
  "r749": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r750": {
   "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"
  },
  "r751": {
   "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"
  },
  "r752": {
   "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"
  },
  "r753": {
   "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"
  },
  "r754": {
   "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"
  },
  "r755": {
   "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"
  },
  "r756": {
   "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"
  },
  "r757": {
   "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"
  },
  "r758": {
   "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"
  },
  "r759": {
   "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"
  },
  "r760": {
   "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"
  },
  "r761": {
   "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"
  },
  "r762": {
   "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"
  },
  "r763": {
   "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"
  },
  "r764": {
   "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"
  },
  "r765": {
   "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"
  },
  "r766": {
   "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"
  },
  "r767": {
   "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"
  },
  "r768": {
   "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"
  },
  "r769": {
   "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"
  },
  "r770": {
   "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"
  },
  "r771": {
   "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"
  },
  "r772": {
   "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"
  },
  "r773": {
   "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"
  },
  "r774": {
   "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"
  },
  "r775": {
   "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"
  },
  "r776": {
   "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"
  },
  "r777": {
   "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"
  },
  "r778": {
   "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"
  },
  "r779": {
   "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)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r780": {
   "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"
  },
  "r781": {
   "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"
  },
  "r782": {
   "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)(g)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r783": {
   "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"
  },
  "r784": {
   "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"
  },
  "r785": {
   "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"
  },
  "r786": {
   "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"
  },
  "r787": {
   "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"
  },
  "r788": {
   "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"
  },
  "r789": {
   "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"
  },
  "r790": {
   "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"
  },
  "r791": {
   "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"
  },
  "r792": {
   "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"
  },
  "r793": {
   "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"
  },
  "r794": {
   "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"
  },
  "r795": {
   "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"
  },
  "r796": {
   "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"
  },
  "r797": {
   "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"
  },
  "r798": {
   "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"
  },
  "r799": {
   "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"
  },
  "r800": {
   "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"
  },
  "r801": {
   "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 C)(Footnote 5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r802": {
   "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"
  },
  "r803": {
   "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 C)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r804": {
   "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"
  },
  "r805": {
   "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"
  },
  "r806": {
   "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 C)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r807": {
   "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"
  },
  "r808": {
   "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 E)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r809": {
   "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 E)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r810": {
   "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 E)(Footnote 6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r811": {
   "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 F)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r812": {
   "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"
  },
  "r813": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1"
  },
  "r814": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2"
  },
  "r815": {
   "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"
  },
  "r816": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r817": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r818": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r819": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r820": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r821": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r822": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r823": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r824": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r825": {
   "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"
  },
  "r826": {
   "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"
  },
  "r827": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r828": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r829": {
   "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"
  },
  "r830": {
   "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"
  },
  "r831": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r832": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r833": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r834": {
   "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"
  },
  "r835": {
   "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"
  },
  "r836": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482785/280-10-55-47"
  },
  "r837": {
   "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"
  },
  "r838": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "79",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479294/326-20-55-79"
  },
  "r839": {
   "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"
  },
  "r840": {
   "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"
  },
  "r841": {
   "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"
  },
  "r842": {
   "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"
  },
  "r843": {
   "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"
  },
  "r844": {
   "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"
  },
  "r845": {
   "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"
  },
  "r846": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10"
  },
  "r847": {
   "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"
  },
  "r848": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r849": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r850": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r851": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r852": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r853": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r854": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r855": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r856": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17"
  },
  "r857": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-18"
  },
  "r858": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11"
  },
  "r859": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11"
  },
  "r860": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11"
  },
  "r861": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6"
  },
  "r862": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6"
  },
  "r863": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6"
  },
  "r864": {
   "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"
  },
  "r865": {
   "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"
  },
  "r866": {
   "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"
  },
  "r867": {
   "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"
  },
  "r868": {
   "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"
  },
  "r869": {
   "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"
  },
  "r870": {
   "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"
  },
  "r871": {
   "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"
  },
  "r872": {
   "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"
  },
  "r873": {
   "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"
  },
  "r874": {
   "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"
  },
  "r875": {
   "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"
  },
  "r876": {
   "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"
  },
  "r877": {
   "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"
  },
  "r878": {
   "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"
  },
  "r879": {
   "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"
  },
  "r880": {
   "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"
  },
  "r881": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r882": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r883": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-23"
  },
  "r884": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r885": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r886": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r887": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r888": {
   "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"
  },
  "r889": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w"
  },
  "r890": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r891": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r892": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "SubTopic": "740",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480887/718-740-35-2"
  },
  "r893": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r894": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "SubTopic": "825",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B"
  },
  "r895": {
   "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"
  },
  "r896": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r897": {
   "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(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r898": {
   "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"
  },
  "r899": {
   "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)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r900": {
   "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"
  },
  "r901": {
   "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"
  },
  "r902": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r903": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r904": {
   "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"
  },
  "r905": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17"
  },
  "r906": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r907": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r908": {
   "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"
  },
  "r909": {
   "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"
  },
  "r910": {
   "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"
  },
  "r911": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r912": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r913": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r914": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r915": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r916": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r917": {
   "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"
  },
  "r918": {
   "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"
  },
  "r919": {
   "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"
  },
  "r920": {
   "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"
  },
  "r921": {
   "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"
  },
  "r922": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r923": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//310-10/tableOfContent"
  },
  "r924": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-13"
  },
  "r925": {
   "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"
  },
  "r926": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r927": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r928": {
   "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"
  },
  "r929": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r930": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r931": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r932": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r933": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r934": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r935": {
   "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"
  },
  "r936": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r937": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r938": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-3"
  },
  "r939": {
   "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"
  },
  "r940": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482047/420-10-45-3"
  },
  "r941": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//450/tableOfContent"
  },
  "r942": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-3"
  },
  "r943": {
   "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"
  },
  "r944": {
   "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"
  },
  "r945": {
   "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"
  },
  "r946": {
   "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"
  },
  "r947": {
   "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"
  },
  "r948": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r949": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r950": {
   "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"
  },
  "r951": {
   "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"
  },
  "r952": {
   "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"
  },
  "r953": {
   "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"
  },
  "r954": {
   "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"
  },
  "r955": {
   "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"
  },
  "r956": {
   "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"
  },
  "r957": {
   "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"
  },
  "r958": {
   "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"
  },
  "r959": {
   "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"
  },
  "r960": {
   "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"
  },
  "r961": {
   "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"
  },
  "r962": {
   "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"
  },
  "r963": {
   "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"
  },
  "r964": {
   "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"
  },
  "r965": {
   "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"
  },
  "r966": {
   "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"
  },
  "r967": {
   "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"
  },
  "r968": {
   "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"
  },
  "r969": {
   "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"
  },
  "r970": {
   "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"
  },
  "r971": {
   "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"
  },
  "r972": {
   "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"
  },
  "r973": {
   "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"
  },
  "r974": {
   "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"
  },
  "r975": {
   "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"
  },
  "r976": {
   "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"
  },
  "r977": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r978": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r979": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-6"
  },
  "r980": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r981": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r982": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r983": {
   "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"
  },
  "r984": {
   "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"
  },
  "r985": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r986": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r987": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3"
  },
  "r988": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r989": {
   "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"
  },
  "r990": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2"
  },
  "r991": {
   "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"
  },
  "r992": {
   "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"
  },
  "r993": {
   "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"
  },
  "r994": {
   "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"
  },
  "r995": {
   "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"
  },
  "r996": {
   "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"
  },
  "r997": {
   "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"
  },
  "r998": {
   "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"
  },
  "r999": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1000": {
   "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"
  },
  "r1001": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r1002": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1003": {
   "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"
  },
  "r1004": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r1005": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-15"
  },
  "r1006": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-16"
  },
  "r1007": {
   "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"
  },
  "r1008": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r1009": {
   "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"
  },
  "r1010": {
   "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"
  },
  "r1011": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r1012": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1013": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r1014": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>131
<FILENAME>0000912562-24-000012-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0000912562-24-000012-xbrl.zip
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
MQA=IBYWG\Z#.H@N/<?M5;G>771^ [?R\K?X-']N=^8_\_@902P,$%     @
M\D956/:M;>"N!P  6"@  !0   !Q-#(P,C-E>&AI8FET,S$R+FAT;>U:;7/C
MMA'^WE^!ZJ87WXPDBY)LV9+/,Y?+N=5TVG023]-O'9  18Q)@@% Z=1?WV<!
MZLV28UU\N;/;9"8^D=A=++ /GMTE>96Y(K^^RB07UW^X^F.GP[[325W(TK'$
M2.ZD8+55Y8S])*2]8YU.(_5>5TNC9IEC_5Y_R'[2YD[->1AWRN7R>F7GZC1<
M7YWZ2:YB+9;75T+-F1)O6^HBEGUQ*4>CP?G%,(V&EZ*?# 81/[\<I1<7/?GO
MJ 55B <=ZY:Y?-LJ5-G)),T_'O:[H[/*319*N&P<]7I_:GG1ZZM4EP[S&>B'
MG\',GC$G/[H.S]6L'/LEM8+J:CC1N3;C5SW_WX1&.BDO5+X<?_/.*)Y_T[:\
MM!TKC4K#L%7_D? $3OG+17!T!.U<E7+E>-0G5S_\ZR_3;Z>W;!!U^[M^'O8P
MP99*\QNY.#S@XL1/+F2B#7=*E^.Z%-*05.OZ_8<?;J<WT_?O;J??__W'!]TO
MN)DA8$Y7L%C]5OM[R/G6];3-;E6A7;9D-UWVM]I4V;+-$FF<2I?,9=R]?G5V
M,3G6]TG%A<!YZ.0RQ90$/+\_"IM2NG&'[GS1]47=E>M?#! [6S X[YZ/:,U3
MEO&Y9$;.E5R -ERF+.-E6?,<-RMM'-,EN]&F8%&O\U>F4_9G%1N>.V[8M!2U
M=49)V\;OI(N87+[<F/2?2TR^Y1:1P+872W97ZD4NQ4RV0VB:F @M+2LUZ!Y3
M<%4B9$M6E\[4$HXC ?A<@&!Q5N"*'&4I3W#+,%THQYP.<GL"I4RDM=PL2:3@
M=Q+S;MFTN"?@#*;,?2+!'"20*(/$ ;$2ZLR3#5MD*LF8K>G/1G\AC6R,T (*
M97-D&$I6"^4R+-!6,O$.DMT*KFF!9<ZA)EB\W-Z&EXVWP;/'FV2I*A%1 L<F
M@FV #>(8-EOCJDQ!$C[7X'>2UP(V@9*M<+6!,&7R):L09,(GX3;/-P!L8F_O
M30V,"T6&VR11YQ  ZC2@X:>SWI^$VXREN5[8%22-G"FP$\=$G&X&O^%E>PM9
M=N7,GK<O&US#YP*NVYU(O'YUT8]&$]O ITGH=/AUFBI<GM@W/DQ3QHWT@$"
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
ML^I,.O>MZ[4F$R)W=_I'H^=0<_C]F?&Q6"?+2@1Y28N<8YT9S'*^!LML_];
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
MD#^1B 67VF')(^XYTR22"7HNX]"!.\B [73?#7Y"Z841X!,W/IHKADF#VZN
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
M^MYRC$I(F4RF>L1[Y$RC\ ^=!^Q$:0+Q,(DQHYA2A>DV_4.DV\R Q=G Z?!
M=V'$X:7X7W#;A,UP_KN'Q9>>&@;?<+"O31?!&-W!ZYM^&-[@-[*-M>B.S@?G
M^YA+[BR_T7$!1R,>\(CY/GU)>/"[& HUG!WGU2>2J'O^)<!F@*$ 7D>SA@8N
M_0Q/X"5I5DF@0T"9->G?.= )X&KQ K;-0/=LR26%E(6?)><W"S]J/"S\+O"0
M>HNW$V+G?@3HS_]T)WS?_ 3X,2L8AXGO9;\C1!S.W#$ 6'+"K(B< ,B!TG?@
MP9 *5&X94']*.FXXF;*(V$D.NJW'L:AIVP$D L6H1HQ$VT!&3A#&SEC(.(Q0
M@W2&#(!"[YRES^5>E9$LG@<"5O$,T$*3*$)_2/Z0P.H#ET<!/ KD.PGQ#;3'
M>(R]R!OTOBCKJA2F794:SC#UM;BF"5/#\<6_$^%1PTG I528=T91>!>/&P0K
M'NM;L5%ES$="N_"1!@&00$:)S_ ,86L5JF:^&PO R1W77^<MY^/,((?A@6P\
M#.9;' KE1$+>J"\EN&7D/=C1$B#D,CPM,<*6]!>.1U8?>KQ?A2RQ8MH5D9M,
MX.7P!HTL/.OZR"/.0M<E#-!V%+MH.?_DCCY0ZIF82&/9@C1^ 7=)1@N^F(B8
MF G292B1NT@W$@/X#;Z6'VEHR#L_1R_'6_#9H?K542> /@!<!- (.$G@C4P"
ME8P92@7=!T??.4#FQSQ53HY;5-0"$$2<8M>*'.05#V\YSHD/2TY&A,,!4[!^
M^&Q@/Z\<AR:HW6509,2$F81/XKF[&_, ,( P@YOT8IQ9F*@''_B. >\H8=@U
ME:NVIYK- [61: +L: J%E^&! .@E0/:KGPMZ/#T:*;E[L!<_G)*7$EZR^@D@
M<O/$<,CQ-N <@B3!, HGFCH0&O@DD*9,1B/@VYEL>$BR@-@&.H1[#?+.8?&>
M.=UX*!PQ?")76/ON$6M(K, ?\>&4&%?:&)U-(1TOA*,,U\QY2O<3Y5<FTY.-
M8A8VY&IA,%SZ 'Q )@/)_YW@XF#)(O2 =_\J$'@/'OT&T2SM3M$P5V<3V!%(
M.J!"4'837*DOB"C#X-&3U').@ME#@#%':\)NN-&Z@&VS&W@[D!23!C<>0I[^
M1FAE;U 9'G>T.-S*#9XHT+5 L51*':P^F=+3\X\BZ'!O"=SLXL>"($2 T/=R
M],4"Y,RW0BIF$-(/)4O!2Z"+^2!T%G6W/(Y:E(L+8ER2$,]P.<S)2=P6?F@*
M"(P,'E..H302I=X9913OUM^-(]17\+N&:/27%GE+ R#GX^/Z-8K_RL0=-_*L
ME] !1'@K^)VZ):<? 'A9:U'S7]$Z[>T\8BX<3!]P0:[=-GC(RC2CU>=VNO+B
MOHL)\/AO_,ZY"@'Z2Y:YMY(%HP3NLZ&^5P;U4J.,O#"9!R4":#1ACSZ;2GYD
M_OC@"0E<8G8D EHJ/?1!8U&[7=![,!_VP ^JR]JQ<'C8.MCMH6]!>TCUA[7;
MH05;?[_X^WYK[Z!?>J7=ZI3^ONQ-A_! 9^_!5U4E\O/4N'].C6NM/S"T@7TN
M=5@\=>?9G/C<KA_V0>885.\EW1D+6R-F *:9$BK!;!4/S(NNN)Q]_2H&$?-C
M1EF9\/V(-)#SP&TY[U  [^CM[/SD@+K$'!\4?U0>@&TF:$" &(M(0(&A=RLP
MGQS$&_SM):XVG*3.RB*QJF1ZP.^(F:'W GT0(/"4\X+Y(.U&,0=-#Q\5P3!B
M:(W0=XPV2!:P ?-?03<3JC^P(-%/*HPOAF@GH#E-GYWR<.KSS,+T6<!!YQLF
MW%<:,?-N46'57A!@HJZ8(K!(6O, $,8!OF@?PQ5.\II>!BO-F?IF4;@4 6K,
M+:.^6J20R#&;@DJ'$Q105N<T6PE@!]V/(#(-[WA$)C)ZP.@G_ [':D2!^H@O
M;I69KD".8$9-%&UKM?H(;2QL2_J-7&@G$X[*0<OYG$1HI4W(1Q7GUHHXO^4$
M.Q?,J9B3@0XJF&=Z@N47>,O\A%1-![,M9%9'H)&-JI_Y@51R>'VHWP,J*[_%
MC#TD(EW!8"( !(DQ$"9@S#@*8']#$6M*\5*0#4%G1_TH)*,$E2729L,)-UKJ
M71CY'E)&*&/''8-91"@<@>TP!:@D 8VQ )OT.]D+L%6EI.K',]+2W@E"Z" 1
M?JRT[8@CD%"!$R!V(WGD&,[E7,_ ')DTG$OXSC#T19@KP5!8NXA&+!#_45_\
ME.FC)9K;$I^MYOA-9.]'O;U2)J)^$IAD'1\U7UAWVSG.)->+Z8L%J!RV]O9Q
MRW-X,8:!)#P''-B2)'\%795$<O@;UP;-)"N?B4/L:16!02<BI?![8('=HM\C
M,T+Q&30R19"$B2SX#L0$.:2F \ Z?-5C,TV#&<4-S(+5DA333;D&IT-(]A(>
M$N1&S->\R"P'SR6Y1!?>30<'WPB$Y_&I'\[P3 !O40YQO47<661X"AY#O7)C
MX,,C!;M%?9O(6#F#\O0-!JPO_H//'+3?=]O*"<"!(OZ=A#&HIV'397(,9Q\V
M2#8U;-='?D&\PQ,CU"H,>HCM@%G*/902\&+M1P 6,$4<@)4'D%.<>![QZJ2F
MS("CH05(4TPAW1>+0+J-D! \Q10!1;A(^)_BIN$O%&ED%<+2_Y/R#YP^G^ U
M8+)<:D(K0>\D!'QI*M/? JEH6'I1<!I1$@:OBD=T+>$19:P:3TE.SH336$P4
M'>?PF0XI2+$Z35\U+\U2Z46$72H [\:"))U,4-.@<YSSH[$I'04DC'$"5)A1
M&GDCTE/LSXH: _Q;G?4BT\K)](*@U:M5:Q$!:@32K$;+;V!FM F #MB+J>0'
M_<;<F"IJYX'3;7=[186#N8:'PH\,F*WV[^!I C+''8RY[SF_QVS<1$^QI\(K
MJ%<IE_I5IB_"*1FEY8T2% ]:P-\8W*Z?A1_AX$?,):=7BBK<0OHZK9#*]&T
M*5C#%-8ZUAY[]+!EL</E!_'M)$7TEB=%U/D-E<UOJ* @Z5DB2)9I]D; EXF.
MG+:HU#-X-"<"G#%3SU$&*(;[L)>9LK2,60R\BM3 1>V+0C^>TA<Y=:#@I8L@
M=5$IO)S'R&TG(M8^\H)=R^141#RSL[6NZ1*1@=5U0Z_?^0B:CW-)O\.=_X3?
M=QH8GXMX00<E<U,9F;#G6P&&(H$+U3P,+FFK'7DQ4SP8;'IX<V;%S91*F+BH
MM#<,,+D2= 1_%78V>F<4M)R36-EN9.S!0K1F*,KQDX]/:>,@KQB@D" E>D(B
MEJ.0Q-P!%9B>AK'Q:A@ENJ!%&K79!0D.6(I"YDW8%#:B4SEF\(E12.\'K5#A
M5%L@N:@+JK]:@]>0P/M*3  3.<6PES*9:?T2Z8S%8.IJQ3/BE).3PCO#@R$B
MQ'NF]-"7[,LX*G?19;V<KD/2K*ZT]3!0!D5%_':/;8/LQAL^4]:IIT.SE-N"
MMB=E=C1,K)AG'KN\HH9'/$O+D#B70JC\E.P>L*486E.H3C601(KVCCD7<!1\
MU$<Q&26U<-/4#T7')BA60KA":J:DLA]P9<0W=/B;DX&M*-8G5FM"R9IRRVVP
M.$S<L?FZ<7^1<Q,L5/C?8>+CN<5CD1KLQL,V]T[B?=K'E17$6W@HRJGI!!3?
M0)J =IZ.,#);YCQ%E-R%E D0:*P35R7_H XH>QSLEWGH3Q,@7,DSPW?NNIOX
M*E]&YT[I%^I\F*-5(+I7#;6%LG'V/FQ7=^GT6Y1?_E6)<^,T;Q:.7\YK IR?
M^T/EG4=KEND8O CH1.;."4H+EVLS+X _Y*)_-34A5SHI-5Z?CU>E/\ZAE:$N
MQVB(F=((,DV3! 1I5Z3/4(97(\-70[LZ)Q/M3,<@"OK]YUPD1B*0+P14"<R:
M\UBD:('#1USM/6!#'L]J*M@P%<3AB%.N7I$04'JAA 5%>$ F)[F12IP\&2W
M&V+.)B3WR(-3\/!@"E>KY!-9C(D91J]$A= <7NJT*B/7*77*J+=Z#?>8A8,B
MO^8:&Z476(#6?IKSRAB9<L8(S&MA1:1KN]>EF43Y((7,JU@JI(BDD7$7$<"#
MJB=KGM&LQB%LT*B*D1<^Q'"N\M3FK$<-#0H]D-/OEAN0"Q-G1!V>H1>V5GTV
M1.P72>1<DHY[1-2K9!%F$?M^<\#3<+LVKBG7-?-."%5^ L WT: 9Y7HCJCU.
M67_&\T[&OA:0>>\ IO&A"UY9[DR/SM'FD X58$2*48A?Y7LZ<!S^#<>&D9XN
M=*("N1Z +</QF@R4WP?#UAZ<T4A@*F'&9 W[S3%;ES?Q0-?:V$9)[313FHZ<
MZS&+3,6&H:\TDSFO7BGOV9VR;U6R+8I>H+Y;B@L!IHDHE75%Q1%HL /7P=?[
M(4:/@S!0D1ZILVL /W&B@D],9CR7KMZ&?H*Y\$AZ=UQ%0Q0M8;:.3P+8."+!
M-(C'7'N,0DQY50G%PO?5@[BT_&Z M<$V:C+;$)DA%_LGYL <.4AQAE*&(IJ
M7A>%8:Q2X+4;9:5LJ0](!3H2G3I;=(B:<KY":9P&#:R-P!>GO@1_EE/]C*AK
M.#Y3$7BM(*"[6BW7]XB' K5.8*U9L%+'_-THU%5_2G> YT70R'/8Y1EH1(JI
M4DMT&J%WE>==T"QU_-!!T;[;?],8:#)X$605U46,^XM\U2I-OM1#TS"N%Z6W
M25%0^>;U%2V5-.ZN!7*';KO3+X9^,9HQX,@IL#LD.L)UR!A]"O#R- 0B0_\V
MG]5%(6^ _:-)7:"KDE,3^&J@,\-4EB%MPZ3)#</0<S 5+A<')Q)5Z74I?Q4F
M$V5$I(O&, +&!-?=6:J>HGZ'/JO\OO([S^6YF5(.6)*#X1P!+\.LN"BDD'LA
MW2X??A!2)LJ!*I2=C5:6[@2LI08JB_CFE+15$-M34?LTC2A-6R3?:\; S:*S
M@'@C'VMO."=9;N9Y,3<SHRH%$LI4*G$&:#:C. /I13G4\EN-=G(767B^RD,*
MURII0%8D=)"WT) U\IP?#G586"U\"BFQD$*:JQ2>S^!UWE&2Q4^&7$EI&./1
MS66]J;"2KQ2*,="Z9.H?GL 4U$&BS+V<5J+375!QX!$%.?#\XBJQA"9*!$;
M;OF(QYI6A[ZZ3(\I-P4*KSBU(@,*<F$II(-QP$_<57IRK],H2531E68H!46$
ML4;F:F6[D9:C12I=-A)DT@$3NX.MSIK*=LN2I(GIY!X/ Y[M&P,S*G]#&QKB
M'EZ%\T?2NBHT!$)E2NC$%;@I1DY*A4]PWRD+F,?4N!*XSA:R_]+Z/!1NQ<.K
M<[<7LB)55#DTFB16&&=H"<S+,N(QE=, AWP:4)TK<]RO<V7>0*Z,18Q=\RZI
M@Y)3<C^I)#Y5Y&BJTT/?-SH1U?,:DU%GPH&-NO3X;M4LZU;(+.NU:-^96E6#
M=&T@3;73&J9K@JE2\FMPK@F<14/)/IMFN2S)9(.N/:8^F/ 2J7.&T%28%7PM
M)LV/8:Z0J[++C?NE87[-S80HUG7I8+,6/2L%/%X(5JN7N#ZB%.5RS;79^&.[
MK$)5> ].PF'W267ARWX'A;=[L)8"\^Y^:_?PX0+SE??7VN\];1L/+*J/\-U(
MU;LR>Y8V)'TI?\F#C1WR;MMLG,/&FB._"#]M9VTBYII%/&M#%4#C28[/U]BK
M&O;.:&X<RN3%/@P5:+=1KL]\HLJ)1K&6O^B?,S%1YOMI.6>Q>(PT%HR8J'X[
M ^:K#DQ#4Z%:$[MUB#_-O,<4R#).5^[I[IFJYRBY.A6V\S2@FM!AZ&(V524C
M/(J8")X E_7V#W]I\%T32#*__@?5HD)79 H./RBHZ4C V>5IWL_^O$XNU5/J
MLWK4"FKU<.Q;;>4\?JI:WW^:WKM<K>_T#M>FUN^NIP55'W3QW;6I]9V'(?(F
MU/H7X9H5@,<S]>-7#9.'M<ZYB&%O>R,17F+D0W=OA?U9JC!<A>%0Z8Z4Q)HU
M5\(>G$)KUM.G,X05MSL1GN?S6E]^-O[^)X<FRCW 5(WF.,3NV$Q$E&.1[XOT
MT(ZC\$[]O;_D!#P:H1>3D2,C]Y>=*'1OFIBBT8'__]>HV_IC.MIQF!__LB,F
ML):!^J%XCCH' .3G:$2]]O2>CN?2J3(/;,U*2E5G,]-3CZC=D&[V[:;8CO@4
MD:S^I!Y%L*,5&/*A;5-S>@?59:'7L#;J!2A,2S&.!I4/K\!HB<@:8F4.B3 0
MKC-E[@V<!8=283;C?'MI6+PNYGK-7<RWPBQ[Q-.09@8(Y9DPR#-%0;S$>+;_
MW%5:=>'DME!=-^\P&U:=L%%".:LX'L"KCY1EN[E.M)XB5$?46$WP^6"PEOU4
M'Z>7Q<SW2&@1-?29U*-D)AR+*R(P$L@#C[Y4],FB:Y&&2ZBL74:54.$"$ZPD
M'%[7>;M,SY,JM+BCNH@LX9J&\6"K4E^/8V@2MFE4P@BK(]^&2UA72M3>X*IY
M@S>_J%Z[M=?=K[W!=9)'I=%8)WE4&7NO,LGC4M4QI66>J1]D;LJE:J-)"NCR
M?! <#^'[CG3#*2\XRO ^&OR4SH0S]5&@YHPBS@/REIHB>R\,HW1%V9"T-Y-!
M<$5E?PU=L*=Z"RS6[#5PGBE6>%,;3Y.R45X.&&!&,8M#-:O$91$HH9(F3:@<
MZ[<#VR^@WG&=O*(I3856N"F5_*#++AV<#<I-G2'\7 0C0188% LHLTG=#'<!
M=B)A6H6DKV0C\Z,:@,A9Y(X_I)C I!"#3?/0V]#ZYXJBGZC]UZI^K>J_+BWC
M&8D?M7YH!>9J[;[*V'N>=F_$2A#".Y:J1-N_R_IM;,**>LI\TS5HEF?:+E(#
M5+05A?'*022\$>K=V-(5VQ.H$;DB&@KN>[*1F5KK++]<K>[36><G5X.34?:P
M'(!3+S<  ;^'[U,7_C\PAH]SQ9AN@@*Z,HY]XMCZ*J3&*JB)NZ"DXZQW@JWC
MJE& F:-]OKI@:5;*&^3&-IAAEV@#1;?<&2:!JTQ5[!-&#-FY91'-65-O:%"@
M$H>#3<@5@&:"ZE$FY$01@YJ7_G:,V(^*ZG4NRRTUN=',9<[O ER&_"SF-#W%
MJGP[O69VZUXS=:^9%^PUD\[*R08IYGH,TN@>+O%8"CGFU"\T3!L>Z\&O>OH,
M]A/,=P08S+)F=S1=PF73K.&M"'*3$1OY\8G%MH]E=7ZDK.2\L8WYP9OPBVGW
M6)QVF4VG9,X8A'D\GJ6%@+ _'F<#4W1?O6+#X+FVZ-@B-1U;).)T"M30B<4$
M)_4R/YT<JTNL4"$HM.RC*4P:G&D/+@5#[#:H>KS9U$WO2?XVL$4SZL@,&_E$
M7>\[@%,ZWX!(KD+ Y?/76'X>6EO0/9>,CN4+?<9--\V1'PZP85LVS@,3;7QS
M:A?:^F4%DHW\+,AT&I!JA8J]A?U9$QV]*A5KOK%F4_ND/=5WDY(==5L^BJ3
M?_"UYC05!UY3&\%<:U9L6)DU-EZ6/:D;<ZKV@V;-;I@$<93Q*VI"BF\RLY$*
MSEM**D/[!L^BN9/:;JIS7-WS]#_8U[5YXGF D0>#\98<K2V<K *33MLCTAA8
MG#F:6L1Q2-PW;8%X9&K%&[G2E\9\X7A^GO%T',;A;>C#*7!U*6TJ@>8Z7](1
MSL47R1P7U,>5CJ"CCB >LD8A<M-8:(CY@9*RFJ3\<J]0FZ,:3C)U<V:#YMI
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
MY4Y8;8._-W/GI)!Z3Z>H*1. D'I!6A(,RPI" T@-/55X@5I%P!00=2H(@6<
M"IQC.BE07B">#U3P5?<F_6J;+*\'$_S/LJQ2VN1WM$ H?V2A%[_]\F2Q^T66
MM\XG4S_,6%"A'CS=,T82L"+6)\-;U;$6LW#0)(N9O#'Q<R,=Z,"2S\.P,--R
M0DT^2=7K7-U VC"@V)%&>V,P&*?3;72]7;&LG:N!1OEB6Y4NG-EF\-Q"'YR2
M1?)[[AK_O?)%4$*1#FR"\JZS*\[AGY[B+/.%>KGD9/31#(<:WNB?3-U":387
MIEJHG6G!0+Q?QWV)@QF,^.B\A6M9 $:M(RXDKS>TR:UD9[E6(3'&Q.[2H"N5
MY-Z:,X]N)?A[@*$.S.\"E0P3;,BW-01D*&::(YZTIHX> K,;H.3I2G^3.)62
ME7$E9^1%:5N4FR5(*_E#MXK+2OQR"7=4Z*']=.1HR\5@,1DN-:]SR"[0@:8H
M!7>@FHE.,B'SDEP##Y0X2TP:46_7)6)6^I<>+N!-*%E=G_HK=N=\-:I+M=F;
MR-$A50$KCV>^U/??"<AC)<'1-<ONLO0!3 ,%92(J.APQ<QQ$-1;M9*C^:Q8S
M*7J63RC/',-ILZ(K%%T6VBF>UD/EEYA?"> E+I0G(_'2[1+8E!S.5.T>[,,5
M4ZV>+!!CP?<+W\N8+\=N6? ET(0E3TNC:87!D@H#JJ!7F8SP S#XZ_.+2^?=
M-2-V<VX UW NLNS%2_,^?=Y^4DT6B$^;^NSL06#;W 4^E;GL"0-H%@0J=R\%
M1R%RD!U^[:;SL0R9U&4QX10LPB*,J#GA3))>!ZN 1RDOSS0"R_)(+3S#RT^
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
MP63)[EZ:+/E2'RZ"IM-O4:#A-$5B85K7!.?RQF&DYMOI.8Z\,/'<RR:>XUC
M4034/3?V*S\"%7]>G!BJZ%E3#]%@$@$+3?QD@G,2 \Z]G-9?XWY#N,=YC=,Y
M$BBPB'3\:YY'J,& (L[X @WGHUG'^,Z(#WTS+')^$IM<8#?%KR.SK/&^&;R?
MFR'+A*]D"D?7X]F@3CF3,9\ ,MTHE,59I8#4D;CEQ=^0*MB4#82O)S:.&$[:
MUIR#^;/_ /I9S!K ,H@T0'#H>9GZ_)OQI6KHK1Z3BKPD'0=-5%C3PZ;X !U$
M%^>2SP^ !;[.B0@BU$7,;.N,6,RLVI+YT#X'LHKD6$SI- .NL[G0;OI)&IU)
M3Z->HF]$HLAN?N ;BQ*E)I+-$,E'5&0)^C2U-#=DF/EJ.C5H>7HRY!!T 4[#
M3($;L#C&R<7TJ!IDG$U9!?!R5#[UN.D%O2(;!:L&=BHB9$@^ Q$HT83CAP&M
M8][\(QSD5&4<?,PY#6D-N)ZF#2K%'0>5%.?4@VTFHS"<**'%_6%SREQ00X%L
M(US,2L-7:TIZ!B5QY"M,44_)F09K &Q/X!QZUN]TB@QCC*8"CAD/\ K0U5#@
M6'HVHW]H8AMQDCQX9Q1.0IJ]J[K[P*=DZ,)^\O15C?&Z#W7'^9+QV$]/VY<%
M8ZC/ ^PHTRU.]O59$KAC.(<,^+Z8,%BO.I1FGV5V!U# @,<@+=20>AKF/!%>
M4Y_M0(11DV;SFA<ININ$\'>@QJ0K*YA&K$OU/HF#H65,+,3WV4"#/YM +=5K
M@-I0=-V9(;DMLKX'#(>_Z['#9ITX\3HU_B<X(!HYH>$X0-[QF#X^X5RKS;G-
MHC%$;\R-4HYIYC9M3>:M+3@'N _@DU-?,'(<E(.PX60#[%'=BL);KG[/-/;_
M9I/I!_5R5-J4>!X"FA <3:F",VZV#1I/C_ZDH1;P9O^R,@.M$8._BD'$_)A%
M3NZ476I,OMOY]<OESD\ O:A@M KLM1C?A4V/S5*T&V)+?, 9@ ,6=<L HQE*
M&HZ\$;[/O2*M :A=-TQ _]7:-2 <Z0R.#+M!4-,$\I F5,.?0U^XZ"Y"SA>"
MY@TXBT'<B5'F.LHI7H@I7"W8^FS$HY:3GL?.83\]*,,(161F"J2:'TIE21Q9
MN&** ]Z-%0>0:6@W#@YIGSF=_E[Z/D$?Z2VGA#?4SZU3!$+=S^TU]7.SA97!
MJ48M3+&3O*1%YVL,_Y$DOI QB)@$#?IS47XP/R\TB(EE1IF6,*GJCN8ZRJ)4
M. $_0>DDX64!\+ (R#C3Z$"KESDYA@[P:1))]$4MLP50)AL;1$2I_(%%WH!8
M!=8Y,C;%%&6/Y*F]H"4<R<6""[-<2#G$:8!SP1<7OL7@(%9&BOT::LS<H96<
MQ_T8.+^,T6DW LF=<[23[NR#(414<#\E)XYWBRI$9J>A%C+D$?R"6$?IAP@"
MMI^) S@J)% RTA,QR#U^DRE7J+4@51#Y16 [HI=8&9,&<\,D3D"^1BA+DIB&
MN!2$<8AG$I7Z$RE!)J4^K:]*I#F?X=@S\A_YTN!7J6<F>($TEK8PU-I:P.^<
M<0)B$2A! N6"IJ>=8BJ@P5"RI0*MH(,M%9><]IT)=XZ )D-V@@K!5$-<CH'
MM)D<D3):/#2TMH(.FS\B+EA58P)C6(C.B. 6WZC$,]"S"Q\!Z&"D)AY;2,WE
MM1WG** #4(S/ R"[R<HN00LLG=-PB@X,35_Z$%+3C/T/$G7*^YES'0-5(!I)
M1;Q&&PCT1="=3L#41<V0&"13G/!:>33@JGDI_))$RD]R=@_6<@ 'Z\0EFNX<
M]OI$1"<JCG/%%?^%YS\#()U.N_GWAO./E+677/]'PSG5QWS^Z@$^3&P"%N^I
M#1#G#($%1_IFM8,062G8"')<OIW__E-GK_VATWO'?L)[.[OOO)]6WA^<&W;+
MA$\2>P@$3DHQG*=1)@G*H'_'!Z N<N?=W=U=:V1T_DX+CN9/J"#+$*4%2@4F
M000,_)DYFO0ETLD*O)5CT",*4<GVX6;<NN(%0+(<:8D.;B,/#13! (?&_$X1
MK.ENT4TK)%I@RX_L4CH__GD0O3]>WW/"^V7G<0VJ<[B3>^BERZD.#UL'N[V_
M+*^F^DM97=)^:^^@7WH%&W,OJ60J_?T0'NCL/?@JG2?S6-W/BM5,FZM$*2MH
M?$C+/P=6ID_S26N%S)?M;W3U0L-'MGXEY(WSF16#$4_*9[% 8'TO>&2-$M-
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
M-,'STWXYRT3]@W5<\O 0(E'0?=8) ]0I25=GZ)*QV$:@6&AT)*![-I1]<(/
M=C.PY#92LEA(3DL=MR44R1=E>*S3*IQ0BMXV(U^A:W(R%3B]C2B37: BG9U
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
M!*\D>\7T2W<PYU#]U956R+I34'PQG<'<GYOX*S'0T'U?FY$Z-6RQ&D<%MSI
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
M/74R0.HP$AO]U6,%_XD5$'O3STVQPF@!;Q>O'+"\)= &L3^''RBU*)FUP[=
MK&%0UN,_Y?)*<,XX19$K&AM;',6-R)T:X^^O%-P >3'S4+P@0,-R=P= [BMX
MTV3N'(U9DOH,*@A>I)I=VDN5Z:F8WX:XFBN619F:Y55"5R^:P0[RA0,-B5^-
M*E(93>3%>%8=Y""O+NMRR?P.'D=& +299$0!%?$QVF/Q3?LLHU!KW)6[>:>Z
MI(+EBRPH'5'P3U ,0'ML"(/ DP/XNQBMK"*XBM):-44N[O%*<2!!WA0[:I1[
M@YZ?GX<7QT?A\=EHKW>TQ !1G16DJH,6%0>*M>S2:-GN+H-P2RB\?T6_!7E'
MLJ$@H7!G3_CQX0:>\-[M_13-Y],G9C[_?^\5IIZH^/]N8-SR(E[]=5S\\.K.
M=^^HZ^[U4:?^^N'U.WMBU^\7DQ=@+"@,/M5EB1HPZA"78-VLRH3]$<:.>JTU
M4/K->QN9_\V8@WL;N?I(9G&:YM>L[G^U'0)=+*_3&-6O0D5DB()Z^R?8)Y(^
M4<T[;5Q,,*%$C5R<AYCL=[O!B[\$%8@-#E".\S4F\/"2/9+6)J;<BZ7.A]PD
M>6 0O.94%,\P+ME1"LLB]P",X-P\6@$Y<V"&XKJ#'U^#.7F0YODG/ R[&O'G
M8:X/IZ8H>#,,6)>\'-RWW]D@<1RHP<\V.^6]PHD%EQ/*SQE>7( Y]P$-H/4O
M)1\5I<^0-7<]SS'P@]D1P1*T\1"W8-&F%W*C3=&"+#EW!LTV,&,72VW#P79W
M)>.X61>XMYA'D\,48@5;F\)"8TN)L(9KW AW%Z/U:V%+$,P!FVID2*KB<9 T
MV6\'G]=D63(1 ^7$R70*5H+.ZH%9D\%;WKQ_8".F""(-(^'3DO<B9XVQ[^#O
M40&"UB:PZ&.&!6I^T@<HMPI0#L'6P/!P<.2&)1^.FV["+.ZLRYW>.:/HH8*M
M6)C.%NAO5YABK:XWL9YW1 H:)S"R$KBYY/\"!E<CIZ@+N,+(1<0;2@Y]^'=<
M3T382$YY2<&QBMP\@JL>H =YMB*YHB'B@ T2JBJSP\0#PA%OT_XX2-W=8P^Y
MXCUAST%)(EOS4^.*USK'-*\+^24Q4#4C]OGCVM6+1GJ ZN>/1]T!/_XHR7"[
M?SP0#\/#[0AQ\M.7#\V 7GI;,SP>G."Z.P#^^RW]TBUM@SWV>_IE>]J F>ZW
M\\NV<PVXVAZ)$G*5E:9J"TN\P* HX%4<&473ZA*^2":1&'<<A?3%;O "+,6H
M^![L"+#G4#R5H1M)!RV-+))\ 4.1%3DK\FM)*I@6=8*:_)6:*;+G,;*;\M<V
MNK1,(]+WYU2OL4 5@<V.@DT7?&.?$OIJ-%J?$MIG=WY[X^G+LCMWA8.0GZ*,
M^-:9A(-<Y]1@2+5@T[^9>6&2.SC#P=7(1>OGZ'6F0,TO,5.IG$1<\EK62S+T
ML.HT145_1L/P*S,]J.5DP+]4-)GC3J-NO&\*_QLJSR5+I]L&$B5?Z_+TI:(J
M-UKHFOHS>)!X/GF>G$0 (.LL7R03)Q7 9E'!2:6UHBR'\2JX OF0UZ7V[M 1
ME];9(SY >",_C$'2-%DD4BD\F4?9C*?/:3]IU[M#RA/";)>@8/^6^LQ/ZK^Y
M_AD#K50G##)#Q30:+ H4QT2LQ):H@LW$-9<A$13(.9I;Y*P8I$LTX?B_>,ZX
M,(^<6QCZAO?6J9A?Y/G$G"?Y#NB>?%0H_:(TU35EL3U-QT)EWQI> *I'\WZT
MC))"##QXGP("F87!#,/&&15>I<$R3Y-)(O/ 7"CZ215]]K^!\\"W7>&F57!T
M4W0<4FZD^1W6H4<L9BF#%&>,RZ=B<5QWEF<'Z^;=95W;3?;6U#B*$JS2B=),
M(^4J0#YE/V?,21M4P2>U"E2J4T#X<F.2;*5@R+RN\"H9!W0P' 0_">EODHA%
M%881FLU>$@WEE)7+' \\66!&"KL:+=GO(%_9-E7_O4)""3X6F)_W-17L;K?6
M1I66.^+'PHPO*8S5OFX-L+"()D5^8%B:RJZ2(L^X4-9JT.4\F5;,)Z;,)#AA
MC%-?F[PO2G/X*8=OZ.(6DOP-LK>HEP[OTME,2)\.'Q-6U^)@%-R@')2.=%XM
M2;WW@_P&=DE3!Z8$2J-("2K"5;&^^7A-B!U1M2[/1)+L,$?(G684 T\K\4[)
MA-%7!:^A2 6506=N_$E\7(/@,JWFE-9+24EF(XQ<7+-DN/]L/M#T\%U697"G
M-296E*8*N!%#7(PI_,0;4')X LY!78%AXC#F %DDA89PD#I)03E1US*)::+2
MV @.FTN$6;4ZHU;JHC%*@G(%QX1EX6&O,J#B2<E,RLY5LILQG7L'N5#W);+5
MZ=X>F(0JC($MB#U[I\=B"0%2&LJ0.Y)1)%'H4"33''"L,/<OJ)?YC40R"#[,
MX=W1C,LF? (BBF8J9#FC25[N U("IWJ!0 RJZYS3/0<!B31YH\$E<.QM?4GP
M/EZCP)G5<,MST(%!=UJ4/]*@?[S]^??+X'J>@&:+:70JXX=@'O^H,R49M)K
M)DDQJ1=73$*XE,LW/[S^[S<!YU3KP&4: 3^;6T[PQX<WO[W&$7^)BLE<#RE@
M!(S-XFZ)Y\ O15MEWL:.YPGFJ!8)*WT?0$3/%6[-99E$L"O[0K(?S>Y+0BQ5
MF$R4HQZ"3@J49103(F#85J978 =7$<?3W1]J%9F5H5CR?.%=_SO)_DQ %V)Z
M1D8(N_=Z#HP0E2/*&31YN41/%%J--1G"C^5X/"46?M=Y:@O840D88$YUA0F+
M.# O@NF$$"/*TN81_#'X, A>T^TBDON)4IH05J12K!M>PB"3U4#0*")0TJ^U
MP 0"FJDU-$2 29\Q5Q(>IQ@1:MB485RBS8QQ87\J'?,,Q74D;Z";E^#HB(S$
MR<^?E $DH-Q4,R0?M+Y&'8.S@LH_TZR8SGA2*#SAB,XX34B"C6O8ETS;QJBL
MPNE8WF,(I<'KT()R&1M+"".FT(1V'&'(J'A(.F.,<74>-/Q>1]1U;50*#"JC
MI/<:3,/]P;RXQ# BLV)-5<2[C [3Q>Z8.P)'2E*.DB7H-RCJE )E^O8Q#T0.
M:S/\X= NZQE>%$R(#HV5P]53=._P_K'^0.%)S*NANJFJR"/*=M$F&'!_8I%P
M]*4M4A.9UY(YS%-Y"K>Q5##FJ*0+605J$?[QD_2R)38-^"_91.;QB^C/O&@\
MSKG<C?V<XKIH#Z8(*(>KI]>0@'-$D*1 RZ$0K^ )+*,"-:U4[YL60-Y;<I%P
MIZ$1<@%0?D$<!GB.8YXBKE$:28X0GJ'4>- 1Z6G0UB=:,,8UZ6RH/RXXH&I(
MP0AFN^E,/<YTCH4G+]TW&T4$S6?BE8R4TWDO=6D'.C6F*]%N)G5A5 ;01A.N
MB5(9E2XY#(9Y%KXAC:YI2_\!@W.A'Q;Y89J/V8PI9?J@],#MI=V0<@?:'ZU
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
M;!J3\+<#Z[<B\IO(@45TES)T:U_1T;HLTYJA-"'78Z1Q71EJ4=9O)J!7 M,
M,9.FXL)AGPV^4J,;XN(,^RY11T3NA>]WX2$=;$\/YY5-YE)R))(B/L!(Q\JL
M#MU9[FPX&<G.2'=O(O'DZCGA^J7K7+)&#IMT5930,,M<=WK\B7_Y@3N9^[N.
M/GWSL[,?75Z7Z<HHI,BA':5/Y)AY#P$=NN^:WD2:I"?48U05)*TK2E.':>E&
MBF9*9H&E8?\;RAP@:P3'=E5DQ'CUH!Q]?99(B !)6?+)]3=]!UKL1B0,ZMAY
M;%MLTH2XI'&L,*^R##YEH!BXC-AABE$UF1_42T?06==/**JTT\;">529&DJ]
MK$)-!1+.F]L@N/3NH<9,I4Z>>@<"4F )?G21%\HY%5;CJ0=49/N%Z+>WT8"-
M3]6FPNZ-6'WM2Q[3[03(-"; >_G"B9L:WN<0/78+2E-SF6/L2D'XQ71NTOV
MN]!2:JW3G$)S*,UQ!\'O.FF7HZ]66*8YB6*"+[?,WE?-$=A^':42TY5!V-DK
MX@A>^I.:1.)(3S*PNU& P5M8WR(E*S&TPQ#&%#/']AREM0M7H*27)=GF=+>=
M^^>R"*8PR2E-,F(^O&#:W[(2/9LX@,OWU]Y&H^/;H1HKW"&*W-+T=")=2 ]O
MT<?UW]K'=<D^KDO'QQ4%'YS+_Y/V<KVV7JX]L4[_IVFXB2</;2GMO/,SKW63
M&^F*[(.EZYYD#:\@M3U.#!0X"VM+8(Y#4"Q9V'YK)3G7TSH?&X(6J;:@]H?8
M2EHMDGHA8@VC?I[+TDF<MQ,LC5]LX!VMC7@Y'6<:>F;K#>V-X<G*UCGQR,;V
MB:I;-G0;*U''.7=21A8'&P9G_B\M /62,MI6/3WY%F9GI\B3N8Y6WKDZ0\K9
MRHBH_()&!58 ;DB?NO%J=-'#*#_N+(P=8,S8H5$"Z]PZ@5*HV#TO%Y,,#_'<
M(YO$+^&WI-!\IJ;HH4AH*7/BYC%2YZ1BE/H*]0H;$P N5W%GKX@BP-(&U:W[
MX^X-:802/XC&P&1W2>[?+.S8>TIRQ>7AFH7>&MJ*;@UNA3:&[/@K+ /7S@SN
MTJ%+VEIG:ZWW!.-:R?_/WILWMXTD><-?!<&=?<:.@-C$Q<.>AQ&R)/<J7K>E
M1U+OQ/RU 1)%$6L08./0,9_^S:PJ7"1X0 1)@*R.&9LF<=3QRSLKDWGV%J,R
ML26%+KMWF28%<L<HQK-IJ_J%3FP1U4O13B_L !%GIC!#+K,<N2@@%TKNLTDM
M'H 7H=&W=%(2=1' 1G-G PS7#M(3%2N>FSAXXQ5?6A8FN3)*0.'B+:BEW$A,
M!X<>2]?^*XJC_ZB3TXY*H 'F2G\S^Y'VMTDGR?L]H8/8M,&NS75.S#25*'H?
M&W\N223CMJ")NQG7'5V,G%*QC( D_R.> *WY@Z9V[+(QP]"W^0E']';PEI+9
M%[,N0ICAP7)>,206)TR!W0H+@NL26Z&?2/NYG;K->5M"/W%FI"= >7-!Q@4^
MKY]\QOK+F$#%NE4!(2 ?RK9"D>)6*,S#P[MH9WU:<92.MIZPQ\LMQ>K$UDJ:
M,[]G8[QW%)FWBS'>VW01J8$CW29,7GIB)W<:8L-D&-S?@WQ\>V-D.]/8F9XR
MTC))WO10B*&FIPZ60C?\-'&F/UD21%J((.G&?Z9>X!BT:YIQ,\F=Z7B7BF J
MH6%W\@80?EEV\L&"<*>A<9>+_C@T3@=Y-PZ];*L#WK>/=ONR9S3HP-NAPTM1
M;4&_+OHYTF?C?/C:M!&-Q5<Q4DU\1#EVD2:1\UXV&:];*HL=NN0@#3W:@S;[
MG@QG2CTEK'$8/TI(6^O%=@@[ )D= 0^%L!]\FAR'3\-.:G7B%MM2RR)H%M#
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
M'_7ZEF4H_X/].OE-4S\>^!S8Z,7()^:O"W,"\_IB.J_F>X#<(XLNP!$?D6[
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
MBBH!I&-0K"L;G8;45FZJ$OJ[YUFOMN,(3;,<MXS7K32NE=;04#19ZPNM\G3
MLH$S?A@L*H)%E;5N7<!RHAKDY1CT?)]8DNV&IOMLCQPB],?220'QTC''%%A,
M-V]C)\*%^# !8+A+->1!ORZQ7Z%''B!98 ] P@B8UI.-VJ3?GZ@^R>HSB_2
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
M3""H%D*#UK K:YI('3@=!&U,':@406H'#89!MRY)3&=@2--^1#*F/@JK>9,
M7M'=B2[A3\]%UP,C!$X%I>&/[5)461^(7M^G@Z(E&;QW%-&C:<;N)QX$B&H#
MHB4QO'<0:11$O5IG"*P]F=", XY74]-])@&V+,L<-,#LCH#FV3MI?7%Z/,&;
M2# K,@YY)3-S_%=DL[+/NYY*:)[N<CEF#B \T$'L%SS8>Q9*3*F.79O/?&+/
M+G)-V-^W;KRJ#\FBEF8>.K9]D[6><?P67D+Z'$Z%V0N6C-904^6>L7,*@@!4
M?9C2YG.8U0.IVQKJBMSO+[NG&MU7L*:R^=9](6[H^>LJJYZK4VU;Q\(R&616
MM33^>X!_0QYTZN)<$^[98TKF79"$H2(=U#OAZ*\WDO8KDG=!T* U[!MRK[L<
M@F]JQ_HZRV+J%9+&D>_#AF6]"Q[]@7UQ%I;S8:0T7>^DQCP]JQ,44('6:0T-
M1=@UIP.9CXOC8LB4XZJ:@M'33E=$C^J-J/V*Y6V9CPKF@+H<(Q*V\![]U'/S
M_<-.ZI-6/C\N:^.UO6=+6YIG:LR6V<DK),R8^B!I=U_U1Y&DMX8]S%!?#ID*
M)-4$20=Q47\4/QCHZ,M:;2HOG8%A#%OF8TL!?C@]:Q33LV3<8LX$X865O&MX
MF>JG?.$SW=-+DPL6O--E=; <8Q;63IW ="#I716L:"LO6366HR0B=:&)B-HV
M<VY_B.+1DOZRHZ^IMG;=Q/C/;>OV8OJ<:"-P@%Z*V'#UGF_&M_<_ SPADOJD
MDOVHHL*V-@!%0.G+>J\1);9%B?>C=SP\(#CU#IZJ5.7N8.<:" *<)P#.S8T)
M#PE.C!<9<J=759&>P_<F*.^.J*WN$@7T0/Q*O47T0*Q$.=F2OHI;B96HU:JK
MHE;KZ8%K@W)Q,'!I ES- -=>?!45PFP++4&G626=925!N"\.[+X07HJC>"E*
M4XPA/!("B'OP2)0&8E=X'P00]^!]* U$["JER9W=RPD(3\,62.D5EQI %>.[
MX[WRT@%X?B.@&L;E9@UCB^EOM2>%Q+JKP7!>@SN#A-G[R!]/S8 YOD K!@X4
MOLO2W#'=4*9).N2OR)YCZY./EZYJ6O):%54??&_\Z\N]^4Y;H3YYEU@]Q"?W
M?(7O<7TO7>LF7ER0"*59/8:[-7E04'Y(I$$V$4DKM-<#( D#NYW"\RP"24U$
MT@KU<_](,C *VY/U C-('#?=1U9M6I-*CJM640>7R?;6.HN@5955FI;(XUL4
MP L#4)& 'NXFJ-OS7ZS2U*%@<ZC^3F>Q112A/E#:X&[:*Y14/-$L=]5=&*W
M4GT=1BL"4GO%E-8:ZK*B-Z1;P_&[/U5YU1GX&C#Z-@<=E!"+.\8"0""J+",.
MXK/P+E2IK/#5_ Z+>6U3)V,8^>1N4L 5V.\?X JTOUQ'K\MA.6$@[CU.MCNL
MUN;4&$9E.34"4[7!U(:0UT%859<>[*V@+HOHA7FT7IAUU%JH2^43SQO^G,L>
MLI/8WKX./Y4)7=6>H^RE5LF*<'H2=JTVF=_HT9K;/;6"/+U:9'E49)>?(4"W
M/41]8(#V6\.>(G?[%?@9!4#K!M#]IR'M"Y8#6D>B5UD=QGJE)C4L SH^!+5*
M?ZGR$-0IFST?. 150%\[GU/I=H1-?7K@^L AJ+V 2Q'@:@:X#G8(J@3,EN&$
M;?,*3FPT-4.DMC)^>X^%<$P<V3%15IGN:L()(<"X)R=$:3#JPN%PNF \BL.A
M- 0-ZEPPM)U[+@GG0F7GGK[;KNF.*SCW5.8L6NFC0=O8".<UN#/(G/[AN<\7
M(?%GP*]&(;8+H&EU(EVZI'_K@<1+=S?!-7V");V&%2W-O_$ M:[(,%^1T'H2
MP-G@NZH,.!B-Q:0/ 9P3 <X&';(RX.#Q2;4C=S71FN<@)XUSF;].3OZ*J-+'
M\WYO@R "+9OL2 V#UM#H%')1X>%O*HI*I/E6@Z)>!P\2@QDN8'1","J1V5L1
MC!1@1H,:H4CD\9Z6]<]/T=$\%S3_;0Y;F&]P)DZ /1R9OILD#K\K7,<2&08]
M4<.W(;C9QP'I]<#90EYHM'"J(L[5UQ8V5>H;%; ;O6[LYAP< +S4&#L=,YMY
M^%YO_$LR0VEF^K_HZ6![O%OQW<80Q#YJEGSW_ <RY\M\-[FBB_R(:UR:HV(X
M=2!KZN#X65K"A#N<)*X00=W6L#^0]<$NS=@$@NJ#H"VE<H4(ZK6&70!0#?J%
M"_O_M.S_Y4HDB0=@03D1OH J(A,KN<!Z+;U?-RU=6'='"DI\$$ # :#3 ]"'
MPA$[Z"%]K&DJ=PHJ[37:55!'F9P[F3I)LD=%7Y[CG%-)_&L?S\ON*RS+IA)/
M0BW.!HB>*$<ZJ%(%&E76A[53@4TIP-AH,&Y[^'6/8-1:PVY7[BH55-VOUVF5
MYCD$;B83,J;Y .1M/#7=9R+Y9D@D]CF0 $RHFXACLGM1/]CJWTUN^-H_P-+?
MN4AV^'_L1_ "M..&P0,)0M\>A\2B=8Y=*_]%YLHB>M.!WG;B_(<X&B:.*-9%
M#=D+*DN*" --3U47A[S/';3;JBL'8J5=S/.MH/5 O?26YCA*;'?L$\RE^ 2H
MH)\^H\N$M7YQ+?:!I'LH_"85U_3Z,#7=P_ ],"#8KEWSW8-_.Q$N9)9N&2V7
MEAF]UK"OR'UEYY/PPM ] 2QO44*LQECN8T>2GK'L.Q10/@TH[ZU@68U!/0"E
M?B"K'>,\_#YUTY^N5BE)F(@Z(L^VZV+0R9M([\3T10+( A'V]RA0RI+2@+6;
M[':JJOK3,$/X) $VJ!/ :/A2[NL[:R "8+4!F-*I$\+4UE!3Y8Y1555TX34I
M+_4)?+]"WF^I@;'U^Z+!@EM>-')(HH7MIJ<7+=T1R.MO1UR6IK.;7IVXC=8:
M#@:RKB[7O-G)HJY@GX]D<@OZ%O1]0@:17I5!).A;T+>@[]K9HT95]F@MZ)O:
M&K^%)KP0_K;LE^$_X(]XT#/3?[;=>&Q*#W:6?T5'H^8I;0SK2?Q#H4A%%#T2
M(IGCL3>#-[ZCS]#U0A)(H8<(HBMEPI;'B>RF Z."+^@QR7:R48NSYF\P=!C"
MW MLW-PO/G',T'XA7U]M*YS&(,[<Q1>ID]YBCF $4;CZEN.NG3;(KT#V3QPD
M M[65&MD&;JN=U1#5XW>:#S0QWW-T$>]OF49RO]@0B^_:>K' Y^;S^1BY!/S
MUX4Y@7E],9U7\SU P&71!3CB(]*Z,.3%95JY&)-)Q8O!4 Q$[[&>*5^ 3(F/
M5\%(S"./0)KZR ;_8_->]%K#)Z1DM*2Q7QS+.S"'1?M<&QC^?OOMX?+'T^6#
M=/OS^L_'IX?;FT<9/E^M)M#C#OCJ[N?CW8_;Z\NGFVOI\0G^^N/FY].C=/<=
M_G5W]?_]U]V/ZYN'1WKLK?=5NOE_?]X^_:NF<_EDNU(X]2)XAA5\7CG(#-,W
M0*\#N49AEG ^*J!@I(XY#\B7^,/7^%RS[=(WTYN^YF4*9B(O^J5P1=C/*4MH
M=QA;X&XQ_F;^<QM^^FWY>U5I]PVM\*=.6RG\?M6CC+;>ZY=ZTNKOM;Y>R9BZ
M;<WHUFQ,_;:B%/]RO#'UVIU^KV9C4M1VKU\W0-41Y+UV7ZG;F!3X0=_XJ,JJ
M09S#53SDL:"!:QH3-H6/*!GMJ-+$[;>-K6S<8H,PF<M@F[DPI>"PLUG16X85
MY7A<6Y1C>7]6-4SQO=?%(&@CEN$2QH@:NNG\8^3_-KPW;>OBUI6NS+D=PG?G
MNS /)#3A2TNZ,7W,W]FFT="IKL7E>!S-(@>=#Q0E=^&4^/034-'<)U/B!O8+
MH=]\^N$%P6?IUAU[,[+KFC6,ISQA:E_DOY\]5WGR0LY0Z$I,/0=,JB"Q(?^*
M[/!]B^4YOB2OZU7%&@:Z,$]8P\A$;$HXD>M)(8]3T]^N>5T5;> :OUR7,R]R
M5[=UV9ZC'O.RYF^#0.U147M\N5/7JPZ49'@,$'TS'5I(T@RE:S(FLQ'Q)4V1
M);6C=O9R#+,&2;K;KLW*L'M &=52HNZ&@YB,O6&1-V*5CJ1W6T--DXWN<J9,
MO$M'UZ2J@42]$V\^@N>ZD/I'LVHVS;E9M%N48;^)<#-6)K,NBRBTAQ2ZG*@J
MR%.0IR#/G<A3+4^>):5K'VBWH\O]WG(+-T&_@GX%_>Y$O]K>Z7?0&NK=@3S0
MEWMJ"?H5]"OH=[?"B-O6H-N9DK4.MN25]>XNQ;J:0$_"E;+>E;*A:OX.KA2M
MH[ "^<*3(D2%$!55BXIMBQY5("JP.GI?[O=WZ:,J"*H6&#LK@JJR^$<%9*2U
MACU=D_L%!;Z$0*QM2+*N5QVH"MLQ\H=X)=MUB8>-J%&T/2G27F2B<I38%;$K
M8E<:N"NE-*WN>DT+N#_+.L<,]-)*E@Y*EB%W"]J*"<C4"C*"D,6NB%T1N]+<
M7:FP.>UN,L]HA,P[OLE<UZM.(NNYF$:^>S[\TY7&D>\3=_PNA3X\SJ'59"33
M^M\H"+'NT2X)T,UA&!]CX\6;7?=8JM@5L2MB5\2NB%VIER*J;"@[36L"Y,H!
MI(HI%^977)8_H2AGK[QTK:=4L%\F<AWTVKO)D_E66J7%1H*R4= "64"O5M 3
M#$'LBMB5@_L+:L*E>TW@TL>W[^MZU:%3"-95S]T'P=U[0>B3T/9I;65I1%PR
ML4,)UB#K>PADR24A5J<-S3<2X(>_54"JOC?^M9)._[!=>Q;-[O$[S_UAFR/;
ML<-W(,24*H$@E2*BP]Z7JT]?\&JZ(E]"N,/%KHA=$;LB=D7LRD'\*"OR[]>I
MZES^@UY.K\KK*]^8NG(/VDI0I*LO:P;80+B@,() 6:U0)FA?[(K8E0.X3([.
MD)5._1GR\;T0=;WJA+,RZ&$F"1M4 =Y9+@9YP\\?.W#1.$^L\(^+71&[L@>C
M:$//TU1J!D_>I16W+,!N!;<N[U5 *PZ,S(!85QG^]("=N0,[)(_$?[''Y!YF
MXUD/9.P]N_0I_VTZ$2D;P%"4UK O=XUZ!S $" 5K$+LB=D7LBM@5L2OU\2_4
M7+=1FZ#;'-_,K^M5&]P/QQ^@N$I<=8Y7G7CAE8"$H<,2IKR)Y),@].TQMJL/
MJ-,0)>3JSC'G$7Q844IQL"81C'I<61G%Z\B'^3,AS\HK/B2+3"^[?#5]ZS'9
MAB+9KK6&RF!GR2ZB5_71+I?1LQ"^6@<CJB"61Y'>&@H,U1Q#Y8I"KO"_[@$[
M1A%VMB\'*6!31W>#V!6Q*^>W*R7U/'5%I=!]Z'G=UK!7[ZH> C_E1/1'T+.5
MB"[I'>RUAEU9'_2$##\-7*T[A71 6/5K#JOCNX_J>M4)I[M14-.#?6-O-O-<
MYLHZCU2WBIQ8N3+HJ_0;FC-;Q!4&K>'RB<4ZA:%$*%0$J,6NB%T1NR)V1>R*
MV!6Q*V)7Q*[4PS"MZU4GG ?"SH=Y<[33 HF\$7]L!\02:1]56\STQSNVSC?Q
M,A=8T&H'+.AZ'R05#EL1WJOEKE1Y@&V=)WT%+9=SH*N\9^YR6V:!JEJA2M"Z
MV!6Q*V)7Q*Z(7:GIB;3]*RMJ$Y25XWL*ZGK5@4+^H3<_;-_O;Z9CNF,BF:%T
M3<9D-B*^I"FRI%*H?CSJOT/_]_KW1%^1[*ALX#'T+L9D2K,/K374-+DW6,YP
M%/W0JW"2[Q'/A_=4%L/Y;_O9L*TWJAZT6Y1GNHEP40&8>@XL1G#S5V2'[T44
MJB.%]@5Y"O(4Y%DM>:KER;.D=#6 =A5=-O1E]5S0KZ!?0;\[T:^V=_KMMH:&
M;LA&;_F<I:!?0;^"?G>B7[T*];C7&BK]Y;,N@CP/G>)UCIZ93=[?73PS?73L
M*AT!;2%YA.39/-ER)X"W;510@0Z)!Z\,6>MW=CB/*0BJ%A@[*X(J0T_;Y%_N
M1$5:IS7LJX:L&L(3*J*N(F]\-32Q?J!-F^F<1ZJX2*$1NR)V1>Q*<W>EE.'2
M7:]I ?=/.ZF55K*P%8LJZQUQRJ7FD!&$+'9%[(K8E>;N2AFAMR%.M)O,4QLA
M\XYO,M?UJA.NF?;=\^&?KC2.?)^XXW<I].%Q#FL6:B:];LZCB%H-ZS*(:AEB
M5\2NB%T1N]+@72D7-^Y5T.">B_4K+M6?4*BS=U^ZUE,JXHOZVY=4;K76T) [
MZBY=(@3^!%<0NR)VI0Z[4HI7+WD-ZLVJ]9JSZN-;^G6]ZM#)!);]<E"JN_>"
MT">A[;..A"/BDHD=2K &62]$($LNH?T*0_.-T$KO?ZO R4>;)ZPBT3]LUYY%
MLWO\SG-_V.;(=NSP'6@P)4B@1:6(WHS64-=7GWK^C:ZR2)T0GG&Q*V)7Q*Z(
M71&[LI>$EBH\*EP! )V<7I576+XQ?>4>U)6@ CV]B\=R],[.O50$" 5K$+LB
M=J4.NW)HM\HA^76O"?SZ^$Z,NEYUPND=K,(_T,0<R($E=9 W_/RQDQN-\^8*
M'[O8%;$K>S"I-A303X5J\.1=P@K@$TWGWK2M6_?*G-NAZ=#*!2,S(-95AC\]
MD+\B.[!#\DC\%WM,6#';!S+VGEWZ%%K7MK2([K>&?5G3=-&>LMX@%*Q![(K8
M%;$K8E?$KM3&_5!SW6;0!-WF^&9^7:_:X'XX_@#%5>*J<[SJQ"NX!"0,'99O
MY4TDGP2A;X]#@@("G88H(8/SJ.]2MB3CBE)4-(]L;1_0AV21Z667KZ9O/2;;
M4"#;]4YKJ.I&K0,+(KA5SG6VA)Z%Z-8Z&%$%L3R*%$"1P%"],53ND- *_^L>
ML*,686?[A'$!FSJZ&\2NB%TYOUTIJ>=IG</I>5IK.!!J7LWQ4TI$?P0]6XGH
M<MY!76\-=5GO+'L'A0QO)*[6'6(Z(*R,FL/J^.ZCNEYUPNEN%-3T7.#8F\T\
ME[FRSB/5K2(GUH:NTDR_H2FU15P!3R[L7.5,Q$+K:)R(71&[(G9%[(K8%;$K
M8E?$KHA=.;%=.;YE6M>K3C@1Y"IC)TL^F4?^>(IIBV ^6L1?^EZ:^]ZS;\[.
M(R]$1''$KHA=$;LB=D7LBMB54]^5BK(#<@[TAU2C6O:BEXZYT3H3@\%RNVZ!
MI%HAJ9(\@6UP]*'S0CJ>A3;D?F\Y4%.3V*V 4"4I ?M#T*#N"#J^SZ"N5QTH
M^A]Z\\.V$O]F.J8[)I(92M=D3&8CXDN:(DLJK7?]\02 '5K*U[_-^@K-1MG
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
M#N(X20Z /N@LJ=6Q--EUZ&L,2^1&G#=B[L-TD5EB4T(0#6&**V1ZXC*.'43
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
M9/GXU',@]]81SO_G4C!GE]+]TR3Z@^K;'A;HF=HN))]/>G6OO3]-VCFHMC5
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
MI+XKY!&U-3"R]6H'![8Z79T1:76A+TKRQ-;FD$8!B]6ZX*R>KN#_ON!+SO=
M5YJ\6IRY>KH^NTHVY-1E1:7ZLWP.MT+SY=J:7)4/L(I#KS!Y.YTCO&7<[KL#
MQTM^.&_9"W!\&L&#Y8=)B"]UF-F@GM++!O64WN9!O>Z!.[]C!"_CATG'[+,I
MH]7V>F]0;*W7@U_IU<76^A4U>U?[6C63,CJJHHIF[[$1P80D3>@YK[[O?Z?_
M(/;%%<S%>B52NLQ88AE-9?K"UP2'Y22MW6??L@FFS8A>]:*K]J)UJJRV3IGM
M,UEE^\AY5J71&JB5>?7K7K1;D; X@FA?24 %Z:Q*M@4%(X05=G*D++BN^!F0
MT7SRPQF1W)Q7S+M+2 E[4V4R7?&1X,352V/\A-?S %Y)?)8,C&F-8V<FHDP9
M6:M6(6M+7N]-]"B:E0$^UJDET&Z\TQ!IF]/P9Y_25L4$EPK$;9.-96^+O$OA
M^Q6^W[6%T >1^&K%*37'\N<>R2Z/?[^!/[FXZ*+./2.4LCTC>L<O(KEWI:OY
M*[Q84A3:-D)9+,6, G@V+9G";YP@F/.*$&\>8LTB+2*:4DQ2M$_1I4U\$K#F
M#?\WA\6%']+59#YU@,FDAZC:Z%/K_ZX>6I_;6 *8-)>@94)6]#!M&1$2,DF*
ME)*2J, ;C9RP+8VL8.A8,&_?F0)I.I.VY&.YW-#R_8^% B=:LQ:-'3@X2J;;
M!$RJ?@TF5C656*RPX2LHWUI".UYK"54!R:JLK]K+M):HM)U$#@6O;RY1\_*P
MS:KJZUU'SZL+S[V._IDN]( 5NOI^*G151*OJ%!E1HD)WHPI=T>$FK\--7W2X
M.?T.-VJK^%LLX*Z[3C[1,FVU.:DDM2K3KK_;[MH*Q@6^C:8[V4[+)Z8?L-8&
M:()7=() V@8/6M5: [G=E4M"DXC$ZRW[&YQDO4T5[+'WU@ E^0)!*=6VFE.
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
M+R_^GP?1!9+^@]TBJUI_+NN<SAZF0GK1YL&,_K.ZH]"& N9T=DE0VM$I[4!
MZ<U -+Q=&YV[W(0J=\)G64>N6Y78B<G5?'('8L,5'3_JV'GCV;=L@F&<3,^-
M,BL\J03"DTH!--?D ";R.-<7=_.+QSFWS164,5=0:9]4(R_!&:?,&33(M\06
M*0LP;?R5Z"\@5]=B7S""8(1*&6%-:ZF]JP@35(3>UH6*$)S1#,[8CXI0JFMH
MM%=&$/Z,%#E]WY\OX]B7;O%[X5?8@U\A7NTI]:XMI576M%]<D1I#O?EE[2M%
M!ONJ;1AU@;P3_8^/2D,;&2H;4)6"0(J&K FJ.AFJ@E\<6#2I*)HTK:J:?T%$
MS2:BJF0312?7^G*MR>JH]ZC:&HX_W9F%2=APG:)%7?"RUX^SZ =?CLG6=#:M
M7%(C&DLEP,FB/>Y)4%%5HKK7&BA:6S%U05<G1%=K6J56+IT,)IUZ0CH)*JI2
M.B'PB=+NJG6!"14NR,UI[7H>P*X17V)%I9X;C)V9<$=FV6Q-J]S*A37V5Y*[
M[9Y655M.<>UO-AE5)*W5+ES[^^UN7[B33HFNUC0'KEH\J3**)[TM*SM?2009
MG009526>,&+2:^OZSL:D<$L>W)B\\]P+;)9%0B)9KSXA4]8H0O@EE]AL37OH
MRJ6UBB!+ZNYH#.+B?Q)$5)6L1IB/MJSO'-T69%4CLNH=6#;I3#;M'(841'02
M1%25;,*02;O;K;?*VXL9N=V@XJG#.H:WO7@65OF>IBA94YE9N38R6@-95]JF
M6E5:S&;GU0"/AR"\ VNP?FM@F&U%%Y1XWI2XIO*P<A&(D2?=:,O=JEQP@O#.
MC? J$H%:%T2@WNY6EJ-Z:$H458#I:B</^_A;A1U@RU[)!+3;OK>EZ0)L5?.*
MJ!/QLNBB5%I:4,FM@=+5V\KNUX;*3_%(3C#!O8)[]\>]E$N+6+@JZT.IZ@(F
M>%KPM.#I%5>*/6AD#'G+2KNW^RU6<*_@7L&]Z[CW(!I9J\H?4&.>WL%GT%1X
MYA2,Y0>Q?(FX-K%CH. 8$6$1PC*%5[LP5<2/O'!^78P=VR;N)9*-WAID46\Y
MK93&=Y:[:Q">$\S8^]$R(R3]L&@SI"W;PB4PS%JO-5 [1:G<$? RK>W 6F$O
M"_P:1CUH<B!Y[#G!WR#4WXMON13*$7_K<-S)L15R%$#JSZ'' X2Y /^$$(_
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
M3&O;;;B^SPU7B@ENFPWOI>>J53Q7>L,MW/ ->(,>BKUTXX_5 TM3@:NW](.
M'(=92(_H@FSC%<0F(-&9DRO?G+EU8^NW0)QB0"8EE?'.X,ZI*I].G9 ^,B(@
MQV>LN:8$NLF'E4P^TG<=+HQ!]90^&V/EV>19RC\QPF5']O%U/,_OA*PY*@WY
M.*=@^8]10TFF/BV^SZ#:?>O=C=V#_*&5][ V8R=ZXBCLI*N9[TRD6*5Q(?="
MPG="W/+;U3_@=NF%V[65BC(/./4>G7J>_*CFI+=BV1,S;S':&YF8+Q_TF="W
M;-RV(7'>4%I01SQ<"4+/!WDQ(WY ;^$S'WN$8(093%UGQEPZ2%-1##H!4 ZB
MLUC>Y  VQQF!!>%B!L,4X9*'*,D"QW9H*+TC >&@ETZR'1#NSLN<70+IM%/7
M0V[4%AT:]2(X/ETRTY=#,%W8DA-IN12E7K%MC2$"O+_E.\$BQY1]=*>4TCV>
M4\HT\IU24A*(B<O4_.C&NUJJ)%13L/$T,A7+GA^W7^\?V770<M->+FY0AV,K
MW,FJ5LI<B[Y:@1,\S<#(M^_=OP$+H@! *TK.E=#]2DT\12EAXI6<J5EDX-$3
M7K*O=CE<:]D4B]32HBU&CQ3?L*T1H:BE-?'FNM?HLMM2WL%N8S8HVEXG*Q<:
M"@LJGFF')<U BT_7V1+,+5UPY*D80=8=IE2H*@K3 ?>K0YXPL@R*,JL'2@<L
M%7U-D'E_/G6C"_=1M9--I8Y$O32&PP=V!%[$L.5"Y"E[YNC7<WP;;E0^!G_P
MY%_(V)J,EDR=I02(J T^NTE0LL+F:IF=A3_G0Q;3X,J5YC^\._"T]0:D2J]Q
MQ1-<%6M>C+&@)Z[D(?;*'^(CF8)]!I/9_1CAJJZ:O4XVE38^2&3IDDM:D_NQ
MYR5I& W1.ED!%B\)*(,?^[(>6F&[K4B]80%@,&MFH*B<-S+YZ&12I=;G;]'(
M1X)Z$5E*UU8P?F#AT7S8"Z.K9V O:FQ#4[4QA$6Q*#7+P>5&(7?:?! +^)<%
MIC.0%V@3+&%;U!7:0NYVP4KJEL6VT,V.K*I5P4@8/;TR;(O\EVR#;2&OQK8X
MSJ24M9N^>SGU:8%4G#LLQSFL6-Y@Q4?J*0""_3A-=G@)21LS#?<'_WD257-G
M!WHJ+Q?%H5\6_K9L!D?$Q)K&<)#3C1-*U<3\P_2?=K=;E%):*WS38X*7"/XZ
M"?[2#LU?Z-5N=[6](Y@(_A+\50/^T@_-7QCW:/=V;QE]//[:4YM)QC^L +2N
MEK!#3U_:JLO6*3<,S%B!JYB'=DS*8PWL@6V(7NJG0Q89XV4;LI"QZM'0!%F<
M#%ED=.Y69"&W!LKN;=+V2A9[<A356%/>LU)K&X,M4]9UX P:4GZJTF-"(V,1
M#US%.YG' I@FK61+HS^+-I,-I(MU-_T2=*'F&U*"+II(%^MNJ"7H I,%M&RJ
M0$WHXDCP!8=6D=>YV0"B[ZAH5WB4._D#4.(6?BQ9QSB,KN^,(%^+MH2BOZA@
MV*,S[(;>DFT9E@9.=6WGP*E@6,&P@F%+^+&V95@#(T5Z[Y0U;*[)GVT/O-"5
M,=,N>%T#RXU[F.JM08D6LH?IB+E%;]L#M>J4NV5[=3YX0<A:!M,J+-[H^)L3
M#"<>=@/.)GO+V?Z=\%FV?^?#S=W3[?V=='7W3;I__I^;1^GA_NGY\>;Y]O'F
MMYN[9^GKS=W-]]OGIVV:?/(WYLQ#*4P^[]4@]WRA4B.0+$GKRI]^_RP!Q]&6
M>ZQ\'QOX1'V<:=;_S\Y39Z&0EE;,$E@'UN-B^0HM7!DZ,RLD2ZG_N<P9+?>,
MFBHK2]N2^E.T1VY6>^1BF:#DR@2UW@4IZ19Y\#0MBR<!:\@TG6,W0B8+_+BW
M"&](C]T* ]P *CZ2(B(L8:1RPT(%/V$U01<OL&Q6XB192>4;UB-CBS ?^PK
M6!<^F8&%A R:-).O5:_/<A(6]V4TIY4\(*I"GX2\<<!"@WS</R9[XP:/[.M4
M>_Y48P(V2FI_HKI3!R3)S&/=_I_'3L!&QHG02L21[_V'N&W)]6+<@&2(E BG
MP\%#J?KQ^%ML>?#N@(9X(?@]S()W)8MT"/Y]- ]!>6]3!!89!DD=&.TS>S]Z
MC'?N 5X4%)2"84>1AI6"\51ZUM$3]C5%(KBEK-7G'JO"LF473:D3T[1.UZA=
M<5>OHVGEBM?.>5*KR^"JK24[C7(D47)V^BM>+#D[78#:U/5S@S,66?PBB[]$
M%X8UX&SYKJ<'F)EG\V3^LOY9I8L!E7YWY\Q442DC>*P1/&8>GL=D&K3L%[5[
M%SPF>.RD>$SM'I['L+E56S9[3>"QTX4C_VW!^8H^.09;MNR&Q6_2KMCB#'M1
MGK(M$ZY)G=N(";-\IK8&9E79-S7(GQ%THBI[H1.M-1!5D"=%)^I>Z 2!GHIP
M$0]-)Z?KM7I8&<BKVI%UDN4NY9AE31KLELS2:PT4/=OX<SL3MP8W14$HZIKT
MRRT)Q< :J:JZ2PE"J0.A]/9"*/W60)/K(E%.]U[,\B:6\B2B/(JJ[[ZB)D#4
M!.RUZFX?_CL3.[;)NW=LJW&=@&!BP<3UJ<3; Q.K7=IVL;NS/2&86#"Q8.(-
MJO/VP<0T6MWK9SML-)&)-ZC%JW&V=9*:_Z<5J.UXE\C>%Q<079;1VA=3TR.T
M=IJF7@ZEW5"5UL!S20YRRT(HD*7:<R1&7EV 04!6T^63,0-V8=4I45X^_#>"
MGLI[@F,:!M+4<1$A*:D%H1")%"PNA434D?[JO!&6[1_ .'..RLAK#MJ20W%D
M?6(AON/+Y /+'P)6+H8U'ZQ"8.DEZ4H"6F/@N$,<@2!4[ICB@:?!D(:6ZWIA
M^AT(^3BE!0S)ZRC:'4XN&LQ>>NM*3*42)0QJ!HDL*6*X(^%W>DY/=*\*JA<P
M*M"<Z@6L\_ F$PI6)+&" 5ZZ$]!C&HX9SB"O";&&PSF0,44V6RJ%B0+9W@NL
MAM$DK0!,BDN6H3XW**KA@\+YAMERB88 Z)AFQ^@:9>LB>DK'-'J5Y>B;U958
M5 3J@Y-:N[X-:LLK:3IU6IGGHKK@8(335!"8!]]#0-)4 E)*;H.P_5_+G5O^
M!Y.U&? <D<]X[OF,:_+RO['L-G[]0BN:__4^IK+2MS -72F*TN .^R)G6/!8
M"1Y;DY>_#Q[36X->6VDR"M->M/QV@];UJ1-MP!JC>0R];-]5D:VX+@$K*TYB
M\%[8SSQAT6L-9%, .)P2C:QQKI>G$6QVIU05PA8:HYX:X_@3%#?^M8+@:AC"
MC1Z&D29>$$B?L(]3ID.\R"K,JLD"Y+BL+(QW^*^PM3]@D_,$8K\UT*NZPM;@
MEGJ2!%,.]Z6\TLPAE)+W-!-[R!K]K/%54\R'L[Z81$D(%!V"HFUCK'(A?GD6
MUY62;%7ZOI)Q?\39'[#O.5RD=5L#)0>!;G,>$G>7.A%,:3E<FF P$4C.%M37
MA&"$N5LBP+6<3;"+);R;*[XNW%:*V;0U#2WVX)S6%!H ZNY<&]N0 )"@P+J%
M(#6U\2%(89BGZ.V[Y?C2FS69T]1"FK%H!0'9$MVT:=;5GN4];N[?<&]9%NT5
MW=A%CALYOXA]\1_B>WG,IK4&-%50^5)K][$PT_<LMG<F)+T9A"3,]Q1-_:1
M!#P_F.6F"PN]W'TX*[(W]F2GT]P9UY4VE7I%QGII#Z6PTYM-AUF)?T@Z-(I,
M]B;0H;#6%U2"-?5@!O_!BA'?\7P)!GISAD0D_%1DLE\EU3WWV*02"W9\,L:N
ME&_DUAUZ4W)'P@?<^R>V]9CV<>T3VPF_$F!,\FS]RF/"?FN@B!Z)IT1<Y<WX
MO1&7V1JH>KV)2YCV"W+<)T/OU:6"W(JS4LXH(657.[X:5L/D@P"S#TBPBK]T
MC)+*%=A/#3/53Y2:]B6X-Z4F&6/N%=P*&RVH5R@;V:R?Q(;CE<#VGKM8IQ^)
M[B.V,#F)@J;SZ.QR,)?5%:7/X#&FSUOWJS5!T,VG,2F/TJ[38+.L9GN^E$[V
M$#V;!&>?/6?OX 2LFK-I$%_63Y2S=[!@5C>%VA+Y=\WI%331T;42370.VC&'
MKR=E"$6]<6!+Z '3EC= Q+!&O-=B\(KVM0GH$TZ 7WNCIG2OV1+6MZ=TC'Z_
MJDXQNED.K?8@N+>ZJ8CV-:)]C6A?<Y1BMB%HA<(>9!.'M<;[N-Q@8W<+^*TA
MP.W<4P>:G/!VY-'6]=SW:4-Z##9Z&2B8G>,]3;W/U/Y&4JE7_8%A\5VYS.FY
M"!>4O:0$G&I^<,GCD+SJ3UW'6%6]R^$K=0T(9F@$,ZP+"NR'&7K(#&JMF>&H
M1E=M->0/#YO%$G]:I"-/,LYV5/628J4[SQTR_BKM^C(HM+W 2SLE2JM:=E=#
M:7U*:495X-.-ENX-N_\\^.@N_+70ZYMA5@_3D7_61H865LA?@$13R9E 8A?Y
M_;PQ4_,\JJMV;7:P2WBD*$T#TS-XJ@;^=66>AMD:&%G;K":5[B)9<]?6"$<F
MKUX7R*NVG3>$U5]]%M"BVU+D"NQM6^HHK1J:!-23BY* =JKWKU6^P#YZD@ON
M%MQ=_T2@GE*4"'0ZW+VW;*":9.,@?M646,&<7S4Q^4::!PQSRB;HHX3?; !5
MQ0<)I'<KR/2&6@(0P[U JG;<.?WQPF[PZ6E*Q\#\&GBS@\]<4BPL,)63M)H_
M+B8U<;KI)C^Q7H!$YF'Q3S+9# ?=>UU=VI;4GV,_R<!X)1<O/K%^O[!&,,5+
M:_)N?01(9FD: @):VKGE11<N;32J>&F,ZT!P>#X]WTL*T8=/P4RL(\] &OLH
M2?_@J(K]8NN:IG4575-TXV5H:L.^JFLO1M^V=?F?!K '317S1M(U"F$772_6
M(._4EB@Z$I%R'P3T;HAY7'YC+5\18EY/K6NR'UYR029B[AYL(C;NG%$@4=B%
M I&"#BX$S?-?F0SB@/:HFFB2X >Q_$ BM*U%!M#NG?@$D0P9(E_0E!1!T^ST
M=;5LAJ!N=A1E;0;=9LEX<J>G&I5E")[XI+35&9 BU?"D5[Q)JN%IK7BQM:>
M,FA^]N=*I)]*$B=/U05Q%AZ&JH&.>EHE0$<-:6<E^.?<^:=J$*B>7@D(E. ?
MP3^-X)]>U?R#0'M*Q6[J_?#/B;:>NV*Y3<PWYHW@_%/EGZ(7W3YLLO26WX_R
MVX+E\8K1&O2ZM<XI%\E+^X;7VI)T^H)T3HQT2FOB;4G'; VTNB#A'M3ILRHP
MMY?*DR"0K+0V_A1M;P63,#>:@U+A&S=<]N>EF)THLZG(KDAUK2N!*&!T*T,4
M$)4T-2*FG;*DBZ@J2SW8 K$J;Z(@G#H03L;.V _A**V!+.]<,%L1Y9SH5?\N
MG>21SNK8LCG8N?CY2J^Z^5Q?VO; _N:<M%)I47F<KH**T*NZ4-3"8[Y[?TG!
M22?+2:5=/)MSDH;=RW<N>!><)#BI$9Q4VN.U.2?IP$G]JG VZA6%:D;:TU40
MS*<SW/0@KG& V0QIC3[-+LX6-E35 "^GG*5&'?":/[L3O4U]<X(AJQ@&$CWO
ML*@[QUS_-=6NFS@P$RGP$X3 -1< L#D9?.MH]Q]A\V.)?J$D(AU!&CNU:$=W
MR"/ZXU8R443:5A/R8F'G@0D941X[65090<B"D,L3LGE$0D:DQ$XM(LG'(^13
M-=]==VY-J"6$.62.._2)%9 (/F"&#;:LF1-:K(C0&^UDNQ_;_JW=[P]D8<?<
MLURG[;@V<<-+I=M1],.5L5+*^XW8.$/6?0TNB=B72;)>B=33CY _(>^2S7#R
MRD?+53Z^-_P]1_/\#^VL=VWY-#WIV2>NC9J%*B1BPS'?P=#?'=0S_R"6S^F
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
M_+AX)R:N*MU1,5L#M9MMWK!3(RS!EX(OF\N7Q]2NV_K'U"Z]RN9$JANC6S=
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
M(GAAO5D)GV](/5HU+""1$\\D%D?9*F(KSDPKB<$3,J/K#FM2ZY7*_Y2)'!"
M:%4&]KJ8%A"2)A5:<9G6N!%E."-8PW7/-B&NWEG'!H&"]6XR"98DV3/F+-'2
M)KZ&F!L65#E-K'L>)Q;KUU)3 ""?;Q+ZADV<FP/=H8'2=Y=V OLER!X/JZW2
M8=#MA!>26.:4G*9XOFD:L!TSRLP3MUGI7#/(1D'1).2E$R!OG(^,V#M''2H-
M0%XZVR0,3)X>[DJ=/@?NY?/-5=SAAC@%]P#J#0MFAT&!Q1J3 J@Y)BGM[]GJ
MUMDLL20@EGX0&:477-35\\TA]COE.71K#M$NC8NS0SG$9ZK7NMOVR/&U+='!
M\-UR["<_]CK\EEK:B;NGN((EMM#K= 7+U5X8N2"NP;^G_.3&GB6N%YRQ)E.K
M%'8&J1I9G^7C<BV]O24'4H;<^^1%;)K#7L"R25QO-5E_'%2.C_&U],M$#*;U
M,??5QF3%,#M7=[*5@^I_,<R<X.E]+<SC9]R74IC'S[C;E3 /*U$ZSQ_[->/.
M1=_76Z^6"EZ-G[<?2:"R[64:JT?SS4^.UG-'[ZN./N6B0@UU,%(,WI1V'9:V
MJII5#5$M#+R'P-M8J9?ZP:O!?DOBY=KR8AEX.P_>IJJHU ]>G7;J4O1.@+=K
MZ:K5+)]DJ\\7;?1/LH:.3?GI*MMM.0K/P78/RRB,8&& GF7:!&<8$(\E3),W
M:^M%WX*D,X;&O,NW&VBDISL&KRF[W,<,C9U$HR0TE0+?(!I-/*:39-XPI9:@
ML:>NE\>"0"B'AO$Y]E8_J\YE"1Y)@@ZE9U25$(4'TA?+WU_?]ML:>7A>6%I:
MB%@17:XN*UCR$V.N>IGK8JG[]3$7K5FL&94K8S#F8LQ5+W-=+#6W/N:2L>2^
M*;8E;;>G;K:-:)5W&*P) WI[?ZJ!VY8".K6+B8O7SVE$3.Q(/Z8A:NMLJ3@+
M(<F5PE2IK-"XC[%3FKT5VE%#;$O-FVNH*G6U3/&N'%?D0@1"&#=\.B=[X.$_
MKZAYT[*2+&:<P3CC='4A[@@_. <_:%B$4)#;XH$_H@(%_HT$=+PEG?E&:&^R
M"(HTU#$6=^&'-%O_EB9P.B\D"<%-%BES8Q+ *ZQOL<:A[RZCW;?DXO?.&@:N
MZIOQS=E_<9"XP(XLV6-;511%D%1%4O7QQ%0FAJPJ8]VP;57\IRB!O9#<-0O6
MD8K/Y&8<$.O/&VL*$[NUW%?K+<0%RH91.][-%KVW2;63(--IS0395Y;@5^O"
M(^!F ;+ZWPZOASX8T1P%#+G_A%+"PUIYUJAHK7>D*!CG3%'(19%2;+X3Y?<E
MBW>LBN1\=L*)ZV-.;IA/U,#26 GO$_LN2K[#IVVF;WRY^_J#^Z^[W_ZXYWZ_
MOWO\X\?][_??GA[SLF0KRR0K5];OA.>WN*+#EW7-12?$;&VXPL:</YK3'=!D
M7\Q&?_67KIV48,&T?YK^$1+7I7GK84AHVC ]A<'DX "&%%<26&6K8[X67$N#
M;MRW^))$OXU)]$J(EV:>;R0G6Q$=RGR=:<UAEN*0^TQ 9Z&Z2',8/2N"*U8)
MZ.F85@/@89Z! YMG+B*3F>?\M4QR0^#2Y3QI7S^Q<#C<,HQG2&!%YINU*8?<
M'0=4LKP)$+_@-4DU!GB4"S\Z4]!4=)*93+.90P(+-/%;3/,XU9HF7H;KE$S7
M?X6W<RYY(2[0;K%,Z@+ +6CYT@=[49J*G:F=F245+&2<[1,>E= BH]:+E? -
M6G>W<C%$XZ\<$%%>='N#0N.LH$422]K*O#C7BS=)(RI8>VPP^HTND,C=</_?
MTJ<E^Y%K0FZ=Q!3#&E<B +& %4DF*7+"+'1HYN+.96+K<LJZ2+ N#V.L6T 5
M(^4C(#KZ1Y&=/.ZO(Q8M=&"D5I N&<J,[)JQ):MUR618LJ_Q.JVJ"2T]/[>(
MN#+%DKX[!2G6132XF65SGK^M6K8%1+Y<2Y+E#,!%W;P,:&HC:!(G!JKMX&,C
M>#S6ZH'WK%_@K \,*#'C5/B)%01O^(SXP;8S!44.[YL&_IS#8,_,6P]GY@XY
M;K.T'K=156][]OXZ$(=#GA@#;WHD#'%^^.Z O/CN"_X:)]O 8":Q=1&7@<)K
M/L6_W#T'A"I!& *W3>AR*='2QL'-UV]?MNW/WWSO^0FT^&<8<-DD:-,8C$RQ
MH-K#5O&]#&4.$L,J)+G41;Y8F5.QS"Y&+TAOF &\G1:R<,!L@NG'9<>PN!!^
MP))@ -JD:%&22IQ8LRA5XDI&JQ^26CG#>!$H?C898R5_0K)C4-9B$?@_\^9C
M%HLY[HQGB?<$NV4 CL3)B0 <_THZ%,N#?=5K5AQ[+$A:6TB0GG[2VA!K A3;
MQ^&Q1G%[^&%=NL6!OYT@KM@TQ23^!0EPEX.U[B*ZG(CY1;QEBC/>4>)BUOM6
MTOM*0"3ERE9%-C.OF,R (K1RS*JXYP3>9X'%Y'@@F.(2<@E>MUZWG63/;8-.
MW.2*)98J*5#Y_&I/%>]14WLA_17&DNZFTM=O]A2(V34>Y)![)(3[!M8?IW.#
M?_B^30MIX8A^)'/\NI[8';V''\0WB HW0%=#ZDS@'H#V%(?A@#XAODKE!O<_
M416A28ER&>N#QFJ9/H_[NJ)O2-4&-_<#5+FI$X/#S@B!G4YF<\5WDY_65]W$
M [\)B+T%,SJA%^(BA"!C701#9IE!%X L7KAK"<T]IXN;(6!$<"F2*K389R*&
M;&R9Q#5%=H(3T/_JT]?%6_NY;Q,WW/ 7;&*/RMU89=,Z>?"BI/0CEGE<ER%:
MZS%XRQ:\3\'K(/6&;-1W6JLKL"@BLC8 DSHY2S<*MPK0K;3P3E)V!D-WL/'
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
M3JD%$]\WV&'55*YZ"0U6BJXQLK11MM0H6FK*,Y$%"79G&B]I-7=C:$]ANNU
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
MIR6_\QR)UY_$E\&6D4SP 1X)PZW!_?O?#$G4/X3'4,Y:W4S@A^0CS,?Q43X
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
M>D$E6AU7K5":3*VHAVI%PV79IH%>80?0U3Y_Z"J",;$V#7B#]8 U3'X[6_@
MN_^\\1#/%B"32GV*2CU7%EHUT..;M6M3K7?4ME 6%,YQRQ9<]AENC-P^5AH2
M;XFL<@G:6K$?HQGNOM7R,C:<Z$<1>O=+==92M6]<H+W*7<K-W25VXV")S6KI
MN.N\*4M@I!C>VVH F*ZCU0"?"2"H!Z*W<_ZB-W=6PXH@_3ZQC,$,H, >8K*$
MSJR(1JW;8V!A&CQUPC8-?24;3!3.L$+86F=/U]V>X;5E"(Z9,"UI2$@$R\SM
MH00 UI4 EE6Q(&_M1);J@$3/N6]AX]!0:UIUBQR<W)6"AR,7K=]V[IZ5W4&W
MZ\G]X&1GM]P9B>EU=I--W$[?Q$UV*9-=RJ3"+!7F?;M>M"*5$T%#LRO=H4/#
M"VM;:^4L9;]EVQ#)E>%&]5('BX[H8*%-;.MU6QI-^'7?H]0$,1OK[?-(Y^3?
MMO.#^2=!;#KVG#KP>]1P3?16.BZQM E,@MTY8E@5\CM=W&C6#_+(7@(J=L]U
M;=U@_^)NSB%H5ZP&G]=28/>L"G'G>(<)KEF\F$W/<-T9^YQ]Y+]<)[?:U/"8
M^N[\P&M;@[9L_[$-V!>3:D._SS]_$?]\8-L_B#.S+'P7FR5O=N3 H5;(8[4'
M+_GV/]ID^LL+^[I"GAYOQ5^)ZUDS).S0RH"\TDZWK]R%-<1N2KC%;/%NQ;]6
MCTU$C/=RYP\,T^)YS-0T7?(9U!%[VYQ@&+^[=W2@=(M45MH:D M%.E:DG$@C
ML[,;D1-7\<2O,$"KE* )0A$BM!N#L8H,QN8N&,LYK85_MQH\A[I!V2$9_AGA
M;3JQN"R+%N8B)+M_)7A+]*6,!V$/(]OE?-,P^"J2A=,5PCA05V0E2TM-2N 4
M)##'A1;'!67B3J<(!M$TJ5 "EZ"[QSE(X$@8A%W^39YF0 J:*S!MWP02*9Q3
M%\XK>8K-)2UXM"*=LR]^.E0ZQW*'EG.C\%UKBCKPXYW(.#!3ZXHDYGP0<TS3
M;*)$*3#QKE<M1S,'763+A+P!F+<0\TJ*H"@A\HO6.WSX;!K)^:-)E5.JG%DT
MLD>OSU)7[%#GE(V5<J!6KLW*9TTV#O'V?+Q]TMJ&_!*>)#P=PR+N,&6\ ^B$
MP(14'EY([:+LGH;H5()&0OE')P9$.UD+C_:;:!(D>@2E"E3+HTFHDE"5AO-.
MF%JJ-M><H3VR;.O]YPQ.8630X5(+\5+O0@GZQ10"K!.#+0B?F,.!)\@25FSK
MZ@__#,EWEN[M'NCX.6JSX9:$<@GE:8!8AX-8/<B6,P+^,<H#Y=MW038:*1B4
M^^WJ 4K_M SO""A^2)\DORQ'1.\EC$L83R/Q6:VM<6TBO85Y-N?<?WGW32A!
MTY7\PWB2<[?E.U(0T$>VP]1QWO"64G)G.%3W;"?E-.0@U2KEB]4D6$NP5FKJ
M%=#YQ!XQ'T(9@7K=!LCV'&< TBL*.6#P!."6_SI5UXF$< GAZ3H,.M'>_A8P
M !4,, 3Z/W\8WWT39*.2'$#Y6H060,R;N6KFGFD4A\*R4I-^$(G+Z5W!U&5)
M%*JO54[=&5,L\2*<]Z4[0TN]"S6)RZ?'Y0WY;"O:\Q-U\#!94[RH/QM!M;%O
M;HFZ!KY%1ZLE]%9J"-\@+?#A!855<*M@V8W>6?9WJ_*25 GTZ4-<74 <]:_=
M-#UC6CJ@W[0+$NB+!?0)<<O#<'Y-R%+BO,3Y A5MU-O7/U5,NP\O:BH8O*>Q
M^!+41><$U7=0Q-FI;RO'2ZV@90W$)]U!1_CU<P+E?P9/36%K[*% _-]F%B6\
MM3:(#X[V\O)P"?7IHUVC=?VS'D,[I3Q0G[AX68YX,JA?4<4O[GT#Z_+$J+\F
ML^5#J-^G4T\H^G'H#TJ*DL%?=A1/Z"C>D!W%\R&]9$?Q$G84/U>-5+8XERW.
M\T:3TDHZH:&@%BOA*(VUE] \%"N7_2!R9!Z&+2%.;1^N"?"?S#Z48D^*O10
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
M9.U=6W/;N))^GU^!]<MFJD;Q)782IR8YY=CQC+<2RVM[SIQ]FH)(2,*&(G1
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
MK$; *X.U.*?*+V6P7(?<=44#!O<;A@W>^#D%09\N[0BIA9L52"/8E &I.>=
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
MH?J!Q[/EK=B1,$47^--/_P=02P,$%     @ \D956 <*5OS[*0  %*L! !4
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
M2%MX/7*@\7RW*\A*#NKL"LGS7:62[=!DSM@"CAQMD]$S#?6BM):!V9B,R4:
M2+FQUG@4U)"Z)YQ!<;054LL"0G7DKZ?S95=K=6S! ()1$1SC69 BLZI6%I9D
M  M/%+UEZ;&'VD&[H QIK^D,/&DAD/;LV#0]_T96(P280$%\PMI]N'A2=#QK
M4G2@ T0?4NJA1-UN,$/:QSDG0TX22M\72W$ZIP^!:5XYV6]G\T6'BW&WND3P
M(TZQC!?SEZMRS_/QE-YR+1=ZYYO?Q,GXPR8]^OA[J?VC:G2M]<S3UVCWZ"=Z
MU!3SYIGUN/[%Y;;>TW;_</HC3*IB^_4"ZSYEX F @G%33QNUK6?W-@66LQ>>
MRQBD:'WEZV"0IVK1NP]\M:R3_>L"%LOYFU)?&3D5;#3!DA[(I!$TKV755&0I
MB&R3*]KZUC>&]\$UI-VD?MEU6\TVEUHSJ[QC'KZM_I6^>#F[_-CA154BGW!M
M*/Z&B[?=>-;]BMVG57KW?/&RPSPF!5%F7;4C(Z00):I:C< 49#06J&$L,H,Z
MQWI!0#=/@^YI*$/:QWIJUIZ?&T].]+_ >#K_95:;H'\;@77&EQ0X$Y[ :VDX
M^<ZU>[71R1GTABL8"+MWX1]44]/O@],GTZ!'(N^P)9 IJE,QL\)KKZD<-8M2
M"V9B29!%1EE:5T8\W -H,?8[+NF(6 #2D12('(&$ E [9&<&J(6.2OEH6^]J
M[P%K4)=0FU/H\55VFISZ7#S;FVCK8:^3"T;6*IG1"E9"O1P236:D=#0+0:CD
MN3-:MNXAM2>T8;LCO?/H='$-8K.";,QL6J\AS4IUF%8MLL9IYYNK!]7[-L61
M>,ZY0=%BRGK;FKB&Z!J&D=,%@ZW-7PHM .U$8L$;9"B$-]85 ;[U6<F^V-IK
MTM?3!78X7X\<;/%!\%H\M:Y()\@UHHEG7-4B0;4J';:^HO,PHF%O/C3@S^.Z
M\V@!]1F$7:M)02I]9^0X K#>ARC6+9STZE);XK5[2B'%7F+4I?]EM _281OG
MLY"LN4#/1KYK(=[(1YF]K!=7L!8FDJJP6!.OBXLI&IJ18,^RE;P;WL#C]R?@
MV;&RZ[W[P[=SM6O^R_KE"C=N]Q)P7F=V5W_#D]I#M'M\J_X1/4U(LP836R"O
M[GGZ>O?GVCA^_K+H@!;=> K=U6M:*O-Z-EL;W\PF])@/6ZL[(OHG@::VB%*6
M::T"\SD8)JP1WB?#4;>V8CT.Y_3ZT0=#^XF^F2_&:<1545X)LA=D+FJK:L,B
MN3/,6DCH9!%9M];.)\ =DN<Y%'[?K6U]'C8T+']^,.!7]./XPW2D':J@ZRVN
M8CPY/YF^0RZ8<KD(D9+US4O7'H]V2![M;XB\QW#A?+[*QLV:E54#W+HW0_"O
M+[TF+LF^3VGN>1PUO$8.QB:]ZNO3-O>P-I!&1+>(,5J6G.-,\]IE7D)D2!YR
MR%KD!*V/S1]&='(-[_6GO\):_FVR8\ ^1VZ\8R)4Y1UJ&^\D#?/:21>1<Z%;
MIZH\ FE(YKHA6^[4\FXHF'85WS>@UMKQ+JA <5PJWC!;+(60WB@&W'DFE*%7
M>%&QM#YW?P32D.SC&=C20C"MV5)/F[!>&*8_V$%D[8/.5@<RZL+0L*$:6ZF9
MS%:HNMD)S;=R]@(VI,M._3.GH9!:;@@B@<OW#3MFX0OI0,8YJGH!1[-0NSLK
MHX(J@F/)/:11/@2IU8@W6O^^@2MIK0-?T[*J5UHRD-K/EB*J(#$FSDE(/0W\
M861#LLTMV;-CN[.UG)JOFHTMN ];BB4+@8(5K.=+@;1'1)&90RR1%P$Z]G
MN >R(5GLLW"HG9R:<^B&5;@/(6".J]8A02KR+72U/E@L,U$G5T2626%/3-H'
MWY#L^#GXU%QFC??D=H Q*'G@-."2R'W!4AB(DI@7&(O)IHC0OJ5FG]'TO7Y:
MTKY$K9E.-=6*1UE;-Q3&2U80#&0K6U=2.63W8 A;WZ>QXQ[GMH4\SN;58KTK
MZ, QT):<AI@IL!?:,U]RSAZY=[*'W/7]O=HA[#&W94E+B9QO$_B>S=%[3V7'
MA4:Y^G7M[[!V7%>)H.M6ZPMLLVO<&ZSFV\SGF<"F!]\[>$],M,$1+8-+3"ND
M8,-RXB9%Y,%"Y@BM8^">;.?7CZWW2J9I/%DW2+KG:2\6MR7P[>])%".5G17)
M6EJSM2AC)M_91V-8SLI:KA&Y:EUNJ>D O@O+? #W=I_)/86TV[NS-X>PV__&
M^0CJQ:<,L3;HH^GR+C/OG6;HG<C<6"[*F2AY'\3OPM"W)UT3B?5-*WIAG9Q)
ML$I"FPT-G&MB>ZHI>UD[EI50H<3,0?>3H/  J$&E/)Z1.T>*I5T]*')*TN+K
M3<B-0KS%[POH\$>88ZXY?30AJU=__I)P/J<_V.K8U:W.44+IBT+%LO.VWIFL
MMW1*8#;(%+FJ:<"MBP&U'L.02I3U0<4GE7F;2G;[#.'G+YB6]3W71[!!K)S*
M)H!@CM?BPJ*&9+3LF/#1:@/.<LX?"UI: !E28;.65#N[D/HVG^ORG_F?R_EB
MW=K8"9&X-XYI[0K3&#GSM;U8TI8LNW*T('H+G!Z&-J0B:&>TI"=)Z'S;+MO-
M(OKA9@5T7#3*N]OG"<TW0PX>5KNKFMOGKA]6"]IG+E0T:)A)43-M2?S16LFB
MXQBR-A%YZTAI%XY6.[U?/W/3J%TH;:51#%7M)!)-9)[3=SD)G:WW2O >"B#L
M0#*D/8:3>7#?INX)D]]\R_\KEGI#?CW3D\GL<ZV<,K(HK9"2X&"$:BP3"T9Q
M5GB0 9P+I;G?O0>L W<$>K_)UC-'3I1+?V=$UW1RS2KA.50?7:5(MC?7ZJ"&
M[*+U5MJ4 YB^F+(+3\/%<:?IDG+:FNH"J%HU4R>>&,D360(O7>'9NN97,1Z
M,T1]>3)#'E@3)XFC#^5Y#=#];2(+)S0R>*8$9O)/N:!I((50DK7%2.6#[Z&T
MTB$0A[3->F8>M1%;S]RJY?['TP\O:I>1#[@.1K!P[[(63+M04P4X!3R2S("Q
MP@NR-19,7Z?RCX(;=(93OWPZ550],VG;(XZ8?KLMY^V?1]83 9QWM<*'J_W.
M+?/) U/1USN2/'CHH8C&::"'M--Z9N;U)=JG8^37AH8^TFQ$50M_<%U+BR/S
M.4;&+2>UG(6T^.1,/*0[Y;DV8(?#P*-$V5^XNPZ]"Z 7)I+/F$)=!5)1D):!
M24Q1"LBNA!X=LWOW/0X\N;CSD>_Q\N.L@^YJG2"$%#2^6BZ6'?X*$WQ3M@T6
M1R5&"Y)&[FM1%:VD89"C84IF@]X'A'(KEKGGR.)8!$,,7TZ@R(VCBK-(I;\%
M\A(^CA<PJ5?47T+77959]QFZ/!])0N<\+=@@%&D-D)I%8^I53Z%C#$#STJ/;
M^3"X(88Q#?C4KY#:')_>QG:S4]E\1%ZNU$HD9LCC)1<8.6$SD:4"T7(R10+\
M4;KFUH.&&'GTI5).F>/^-,=F8P9\]!X* YUJZ:Y8RP8:R5Q 2YY&\DGU=2'P
M)I(A!@1]ZH3#I[\_*KR>OB7BDE%[AW.D!UR08_@3?L+);+W#0CXG%EVO%(54
MT]@#9R R,C29F!RY5=B[__4(QB%Z\WW2IZ7(^B,6?;-];9,&<"/98[HM^S??
MG72T*BZ8+(!4V3**>6@D3E:/"QP+A;RLHDACNKXN";8<QY!R,\Y!T'.+ON?=
MCU&,OE 0#"PJIYCV A@4A4R1FI9:YFC#>;9Q>STAI @_"U2220]UE,8R;RC^
MM]'FZ%(U5GW=[7[\A' P@>>QO'CT^MBQHNA/@Z\.RI-17@5D4@I=>Q$&LBHN
MLR)$B#$*[_JH=?Y(4LUP,@I:L^'HN>\YE>UGZ*84Q,PIFEGI[%_3!>;E!&>E
M*N[E8O6(62%5/DY WLAXLER0\K_U5R=DNK4%T"81KL=):90G]X_5>L#\XA-%
MH1_P;\O+B-V;LD&R>OS\S7(Q7Q \PC12&:R1UC-PF9,74#B+)2'C11BAM$&+
MK5/H#H38(-%WW50")B2DRTW*^_S%8M&-(XDL3O#][)M;\A:NZIMOG!3RZ$3*
M3C )-<-4<O),-)"/(G,1D1PF"#W4J3T1]9"L:9^LW)$V?$YY-S/&]\S1G<E9
M*9>1T1*0? ;F0KW'GG+=5,B*&<]Y AZ2-JUK81P$<$B;ON=D7W]2[-G>KW<K
M_PJ+93=>7,W*ZN?-XC@E87VOSVUCG0\?0B.C^PN2!X<W-WZW?N+55P!+'#DC
M),V.8$(X8!IY9E$GP0(OU@D>0-G6>8K[8CM5?>W[G+_1G+__C)-/^-?9='$Q
M'P5)NM98S@1?-5_TD?F0D=&$8/'2H6A>U_%8K$,RJ;UP[K8V.XM0FUG0?='^
M?X3N_>?92):H,83( "#6B[B*!:Q?O%;6*4#N6MO0 R$.R8H.BG#'B/!I>$;$
MP9$UY$YJ0BB]K$VZE&4A><FR2"D6"47&UN=N!X,<TAGM\+AVL!B?A&VO9LMN
ME).364?-P 1"J41FH+1B5@>;LZ'?-3^_.Q3CD(Y_!\>U@X7X-%0;?\*1MBYG
M36;>94?JUP?'8DU8E0C&UP!&Q:?RW;88AW14/#RJ'2K$LU/M15E@]Q4J=Y&3
MH?=,N!QJ@C3%RXIF"%3TOMAD4;6^TG84T"$=_PZ*=,>+<P#;'Z-;19S:;8#0
M)Y]O"^3V,,Z]"9+)4[(QDA=5>"*>(9FVFA#)HRS"8@P\/]4B/E6KW?.$$><%
MJR)E17##M!&61577E]%:TY)+8%H?M-\#Y;O<PCB$,;<U4PN1G,?J_7V:Q_-4
M*^+4))J:[;6ICR-\C-IHQT(0I)C!&Q9T3,P)#4D9FUWS,A=' ?TN=RM.X5;_
MXMS3ZFU>KU\B8?CS[_X74$L#!!0    ( /)&55CQ"23W0H   'OT!0 5
M<F]C:RTR,#(S,3(S,5]D968N>&UL[+U;=QM'DB[Z/K_"I_?KB7'>+[UF9B]9
MMGN\EBSY2.KNO9^P\A(I8@P"&@"4K?GU)Q(@)-Y916050%)^D"F*1'T9\55F
MW#+BW_[WGZ>S[S[A<C5=S/_]+_Q?V5^^PWE:Y.G\P[__Y>_O?P;WE__]'__R
M+__V_P#\GQ_>OOKNQT4Z.\7Y^KN72PQKS-_],5V??+<^P>_^N5C^/OT4OOMM
M%M9EL3P%^(_-K[U<?/R\G'XX67\GF%"[']O]Z_*OQ5L7C8C HLZ@M-#@DP\@
MM<3HO.'*B__WPU_1HT-K% 2- 92T#)Q6"#:A"3X$K0+??.AL.O_]K_6/&%;X
M'2UOOMK\]=__<K)>?_SK]]__\<<?__IG7,[^=;'\\+U@3'Z_^^F_G/_XG]=^
M_@^Y^6GNO?]^\Z]??G0UO>D'Z6/Y]__GUU?OT@F>!IC.5^LP3U\?0(_/ZR^_
M>!&-_G[[C_2CJ^E?5YO??[5(8;U1T+U+^.[6GZA_@]V/0?T6< &2_^N?J_R7
M__B7[[[;2BXLTW(QP[=8OCO_\N]O?[F.=#I??Y^GI]^?_\SW838CQ)M/6'_^
MB/_^E]7T].,,=]\[66*Y%?UNR164KG#^5_VT[_?&=$) ENDL(M!W<5XIWA#C
M39^^/^8OGP492SB;K1LBOO[93?$N3L.TI8"O?70#M)L/@E,\C;AL"?72YU[
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
MV#@+EXHP-B!?))+'$O-/?U9X[\.?+TX79_/UR\5J_2NN3Q9Y8I.+&(6%+)
M*Y?!T[L )DE$+IE +SNY;P]X^-,DSRBJN($[>V<'+J7?+9,8!#+ 0$>RRK1=
MNE0+/'P*)D2?8C*C%3HT2=\K9DPF?8$QD>S3XLGFD(%>3<:B=2HSWWY%]Z3O
M>[[?MQ;;T7MS>G9Z'L%_-0UQ.J-GO<;UUS@H$8Z3"%C!9"342^<D A/I*Y=
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
ME;$DAV@+R0$S<RF)J%I/:.R"ZPFQI;D:!CAD=D#N<&/_B=,/)VO,+S[A,GS
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
M@_QN+TBP0OI8(A2IZFVRFA<-D1QGD5ER+/GL6J<-'M7DUT%-J:$4=00S7[O
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
ML43+H.0L@Y#.$=ANI7&7/WA\SZJ-N!>-9#5 W=*Y,W!NR%\\TL[QE2)+,L%
M#F0LD=,GR(<T'I!.,Y>$RCFWOJU\'Z9'3H-!1#](4=(E"^>2F_B?2%[E22VE
M6(8OU_4E3U9'Q2%Q028U<PJ\Y 9XDCIFZXP5 P3C>F%\(M095#4#=/&L"/'T
MXVSQ^6*,85O^>QY:F&2'5O#@08C:1+;67@59FYE&[;C(*J9N_9WZ;#3WPSI$
M,&]H][6U-EI7W5]^97:U6YM]<B)8"4IG!C(&"<KS>AL@:WIKK$,>&*V;=S(M
M[GC(4])Y4X'>>L@<(I+[\J1VBEF1Q$_P14IGIV>S39W633_\)LZF'T(%-G10
M=S]4X\5W&TIOL%#OZL5=2]C\Q";.\IX0_$ ?]?O75T5FDZ1D"CBW=,(:(2%B
M<I"E+%X*8ZT5PYHB>^%O;+IUPW(M?,6]XR5D!3IY4?>;>@9(!REJ'M%K)<51
M"/%X LTC,?8><W $=1]YG%K%+&)R$M"(ZCD9#1X3!YNS-V0(IXRMQ_8=5YSZ
M (SH%K_NHYDQ0Y5=<#WG^'4OO76-63Y$Z&.2 LDW5@4+B,3)1<=Z@9V<9<!8
M0I(VNB*&WT:.+WX]"!?ZR/H8@ETAH%99Z%I/R8%V0@7DA47RR*)G=7:B##BL
M<?28@EV]M+MOL*N/:@8(J5\_>[?.UB_S:_[4V\5L]O-B^4=8YDDJV2FR <'H
M4D54^QPX8T Y[5727J#(@UO;79 >0WCD: SMYJH=A9#7T$XPAAB-,J"5EO3B
M! Z^]FC4QOADB\\JMYZIT '6,5"MO8;O)=5^ZAG^="2(NPN2M4)X4PXJK8J0
MI*==-PH/WI/'$(+6]$X%C&;X^KN+B)XI;QZLE %2/M?1O4CKLWJE:?8W$NBK
MQ6HU\60#Q(HIBUSHH&8)/ \6!!&<; 2K56@]U*<#K&=*GOW4,\C]^'OWQ2^Y
MJS#-DWH+H914P&=);DFP=6"Y1Z@U%!Z+"QE;7SOK"?&9,JN=V@:X3=_E],VF
M7GC21/^82!R1SF$G10"-]'JXQ!*W[<?$]S2.6JS\YS!=_B/,SG";''RQ6N%Z
M-6&.\YC(R2\L6:( 6O FA'IU66B#7@0U?!K@1FC'\#X=C2>RO_)&,1Q_/JNY
MPMI3XVRU13J)OHA0YXL[;<E2220"IV6"DJW)+@C!8NL2LRZXOK&KG=I&,C"_
MY+$W,GNY./VXQ),:[/Q$)UY:G.)K7/^VG"Z6[W#Y:;J]W[B] OM#O=N$[\.?
MDY20T6OB0#))<L/B(88:JDHR:!Z,MJEUT'>@I7PC\$'),8I)W&U9U:1?59L>
M5U_7PHJSA5Y30&,5J,PSA,P]6*\\LX%EDX</.#X<_S=VCT^#4>SO[1WCU5M,
MBP_SZ?]@)F<ES.IU]'<GB&MZ!Z.7+"@PMKJE6OOJ,#A@WBI=BZ)]:'T)K3?(
M;^0<2*&WMKHZ1 GBM85MRNE>+N:KQ6R:Z\MX/N4DS#9-Y.KO#GZM?"]0XQ4@
MMI/=,=8?VF2,5)+,8M2U9YM2M5\&@O8<?30BN3)\9/.QUQ_2;I!Y" 9TR+[N
M0AJ"Q=J9EVGMB@]%#V^@/)?ZPSZ,':;^L(^ZC[S^,*/SP:,$7HL<ZHS1VED6
M@3,Z.J77:%7KB,93K#_LQ8AN]8=]-#-FJ5D77,^Y_K"7WKK6G#U$Z&.2@FM;
M2D@:/(^L]B1/X!4A35A'((J40O.QDH^A_G 0+O21]3'4'SK/M!7D)?%L2 C,
MD-.4,(*S0FG&41O9?C+ HZT_[*7=?>L/^ZAFN"O]-Y^W-QS,YR-57DU#K%T@
MI[B:A!*5,"*"+-S2&Z8<^-JHV&4;A+*VA.8CRO='_<AC+OL8X".K_ A(>P'Z
MZ\4\;=<SX4H:XQ6];SJ3##$DB%XHT"(H2>=X*;%U(5H3X-^H.Z+B1TESWQ#S
MO"TP7P/RY\'Y^N77R+R(TFB>!)0Z8H)>2;)SA&?@G,IHBBXJCU >M_]"GC&[
M#T^,<3+O]T3X8\%B/$G/9T5RU,F#8RF#C-[8$(T4JK4C\]Q2-H.S],$*O34/
M?I"N$?2:+>8UE[ H-=^_:7HR33?^<"T &+Q?Q /QC-@IHH7$CC%'@S9Z%!$A
MI3J#Q?#-+NK Q"1\0G0Q#NQ!'R1'L^D(<T617_WFJL%M\%5DJTH,%LB5)?$X
M%B'&HJ'4_&_FQ3O&[GL%.C[K429,^M#G4C>>QK(_\E1(44*A-1IXB)Q.BA#!
MZ1(ARXS:8E'HGV8J9!!==TMR])'YF/'L+KB><Y*CE]ZZ!K8?(O0Q2:%%YE8:
M >31D#/CA0;'30"R6F4J&5DTK;W<QY#D&(0+?61]#$F.E'D6O%Y!V@SES1C
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
MS.?,6=S(GSP5PIS2/< JI/:X?F*2V0O+.;!B'*UN25L&1@?:"*<D2I_CR3Q
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
MU:N,$%P,X(72SAO!^,-:]J<0AGY;J;VLU!-4Y$X$/>-(]W9!%.NSS^B !))
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
MCC!3%B)S#I)/4I0<+.>MO<=G 1V_'E1C%FSJ(76P-OJH'[_$LFZ<VP%,7RU
M[P(Y<L^HPQ7UD ('2[E_U>=8<E0&2A+$:\$9!"L#:,$PQ<@#:^Y^#Z#RKKVA
M^M;X#L)MG:7["<?XK[J)K;,"0THA!1M ),5 )9<@E!#!RXC92N--+)V\SH>?
M?(12]?M+>=)*1*W3:>DP&F6:U"A<K="(Q-#73JP^2@\JDU\:0LTK#T4653+3
M;JO+\_1'G['&#A%2^T3X,@UK$V+]C-4PR:+5GBQ2<LE5S@B.L #3F66+F864
M.VGMJ4\_6\4=+*K674#>7<XQ?5U7;)7,)68"^.434!T@NF!!%RS6$#A\6!]Y
M@\[N?NK9ZFIOT33,OYE-YQ<_P\4UKZ)Z?XOCF2NOG7:A]J:N\ZHIEI(;8!ZY
MRCJR$CNEVM(0=ZP5^NJGI;)Y])?JM#22=\-5^C2B=7/'#IAV<5AVYL(Q_)56
M.GI6Y0<(N.'Q^CRV)$PV!B'$J.C8,(+XS0S9YT9D6<M%Z$YM+4Y*Z1L\ED%U
MOH-<>_!+;Y,VUL[8NFU[]M)$CR!5S2M.9-QYI6C73-SQ4'+FF751]PX>Z@8H
MPYWH[?0T:2_D'A[?O)],OTT(&/XY&=]_X4A<1D__@HZUI1@7&;P7'!B9-BQS
M99QHW09I(Y@7H/\V@NYA]:\C,?7*:V'+\(N@ W/>:8A<UTK<D?[FD@6F4+*,
M4:!O7;+D,8KAK?C>KT$.%'4/R__>E#_C?+Z\&*&)_[S._&LZ^3ZJ9^6,T%I2
M7%' 1*3)<YLA9ET D\XR8DPNM2[\MAO"%TB:'E742T><N^)87H1?%!2>>1[
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
M-EX "7_? :*3X3X:!EDG1],)-#&GZ:Q'SXS&E%RW=Y?;E'=WT#-4WMXRZ\&
M_5 *UK<W>&N[?2*#NQ89'*?1U6AQ ?ENG:!>C?$;^KP?]W[Y FO/6&44Z*3K
MU:%)$*-E8&3)*7.N66B=@=D ]O#F<=]1^:%UV8.?O5E$%R:07&1BH&OMUD6N
MC'.J=@%(Q@7C2&ZM\^8VHWEYY&DD^1[SX*I?68NASIZ!:@47OBCB*Z\5=(0E
M"=B<@9<@BK8L!=OZ+=,.\%X>:_K238_);@3U]U&(M"'6YZ;_/LZU&-,HWLQO
MLZL^A.F89C"[R HU%R$"9R6!TM:39$(!E"$S(6R4S5]V[X[R19.J#TTU3'Q;
M=7Q;':"+(Q4_EM]'UZ/Y,G7KP]_?1LLLKK]P.IKD"RY]<3&+:J%G4)EI.E^=
M ^Z9+LBU5OI!;'!CT[SNH[X<BO0K\(9Y;0N@[\,WPG7U4 87/I-=Q9,%:UD$
MY;TB=%Z#22I:U%D:93J18,, +TS?+<3X6+6Z#]6^NUZD='W"^<UT/+M0L:BD
M& /O8BT/5Q%*Q\'9& BB*YS)0Q1]?[C7H?8#1/R8!*:Y<;H!-<E!T;83<H3
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
M,C,Q7V<Q+FIP9^R[=US3V=8WBKVC" C25!"0;@BAEZ-2E"HE1$(;" 230(!
MZ.#,*+U)[V$$0DD(2 DME%&:U @A(%UZ[QT$+G.>4YYSQCGO\W[N\SGWO?<^
MZY,_LO?^KKW67GNMM=>O'7\Y'F-@5_- P!D8GCT39KC(\'<Z7F1@4L7"4)X,
MIQC.GK1M3KK&SDB\='5UDI>00+N(6]DX6MN*PQP=)#RLG"0 X@\E&!15/)RL
M8"A;U[O6MG8(M!+O"J6.]R["1HD7 M)YJ./TQ/8EXJD7QM;02]<(YH6"R=GP
MJBC?5?20]W!P<K!UM;KKX6"/=I'W4.+]\^3R)_]_ZY;@O?MGB"M*B??1;P-W
M7^@\O_O$$6-[5T8<( 9[^/#A71DY<5L;*TEK(-P*)GI7\J$D0 )P\I,1 \C(
M2P+E 7)W_T*\)P(Q-G!Y U7UOX@[:2GQ_F5=[N[NXNY <4>,G01 3DY.XJ&D
MA*2DV E"S,43[6KE(89VX?OK#*JV+C ,PLD5X8B^^UO;RMH1ZZK$R_O753@X
M_6W:[YKK/P%U=/XUU,'A;V@75P-;^+]&NQAY.ME*&-BZ.&(Q,-L3.-]OS$[R
M3S"V5JZ.&"-'1_N_&O+Y2T=71Y>7CDYW)8'B@+L/( BTC:.[B]"?&71TY)^A
M75RMT##;9ZI*O"<]X@B$C;P4  22 CV4DY54DP4 U)X\>B0GJ0I2EWDB#5)_
M) UX_%=>54<8UL$6[?I77IN_\S[Z0][?W.$_N&TQ"#=;&W6,H\/=/Z]9'O''
MNLC\L2[_P6OSQ[K(_B&OQ(DR$O^TTW_M.G&?W_[^S75/&G]S?EOTB<=C3ES[
M>)F!\<]V9K#Y]22$3AT/,KQA./5?I]-_IS-_H[^._7GXU'\>^2_2\:\,3!=/
M^5^I.'.*B>$TTZDS3*>.&Q@&3^+\]%\F_TL*N'SEPL5+Y\^=/7/ZM[X_#_X]
M/URX>/;<^9.1&PRGSIS]38W+5\Z=.W_NS+D3X-E3Y\Y?N,ATD_G2/9;+O*QN
M\64R[N4O. #D6])LD#Y9C]MRCR3Y:+WWX^@Y[%:/@?R!%?I2+W-GC5P%#9X8
MQ@@PG6(X=?K,Z?.7&2^>.WLBEN&W)M/9<_?. Q[I6]W$./\45<0;7>PB=>&=
MY..?F?F AC06(U80VP<#Z^X2UUO271D?,^^O/GG-/S:Q!K.I/QY@N'HRR6FF
M,TP,*@SIOS+\OX.NQSC6F8C3"LO:; >&G2K&=]A[PR*NRMD_3;"NTBX9E+P8
M?Y#O%I_S@U8,K$8U?A"M+VSF*5:I"1;!HW; 5;/9R83@$&28M2?L=A@LP5[;
MS=J2I4\-#-8!,H.!;YKOCS&_6;=/Q#74%JT>_)M6=&>LF1-!KIK_3-.YIRL[
M$9+!Z5!J0(#VDHV#']](QI)0L_@+C)_&9*6I9Z:_%):99;3 6YPI-67'#!&3
MQD3?[0^^)3KAF)*1_'*/L"$QB#>XB3-2M<(4_=Q&>N-Z*5EZ04LS!II=FK>#
M&78CID!X$97:[=K:5@! L34LQ-K#:D/-U2Q#W#21,*S/S,QI;>W6T+#6T'QF
M/OWZ+_\F"_P_08"1H8$7?E'TO>T1ZK(4>2QY@J7&=H^%Z@S)0Q<_<D-%O2LE
MER] A.8=1-6LXU;\M((<E(P(SS^UVCK:N1BO)WDT;;6.)RZVKVUH7*6R.,"F
M2Z2+/9$;D)DKTG/).45,H[B+$7*JP);!]DCQ3]7-T@<*T2MCIG)=/G%"@ 0A
M76B1[SMKLW[HQRY'-ST*LCL5C %XY#Y^L)D@XI 90KK]3FS%;QE:3BFS$^2Y
MI8X;-M+EEL/YQ;-2!?T#+XL,*XU17#S$F] ^7$OF!%0D@JFCJREH:M636>9>
M0\6_R8*RQPPS=FVC^Y QM*%ML[CCGP84#C%;TE<KT+N&I/B4,/G*]^OQ?9KZ
M3?HO&[G,I'&(9YZAX9U\P4=+*%T*9C.R!I2,JF2?PAPSW(;<;_?6],8Z3"9F
MFV7OSM>Y(5CUT4[MHZM"4T'I#A!D6BKMX0<>:J28"$4VW?FSIU);KTLMT&SB
MQ5)/]'YJDDO/GF',\@OM9*&MG9H]&>=PYQ)Z68SQ^*/@TR$DEGF$V>$Q0[<?
MGM#DUV,% [)30:U.(90B?[,-$.:A.[/1_G2"'&?,VA[BH]PL\79.I2RM@TE/
MI';F[/*?_COL=#W%K;I_\89%E26Z;%"L6$DXCXVS=+9L5E0@V("0@V_')BX9
M!.N@Z)HY&7'*N1F4.%>'!KK1FBI,(GDA8UA)>)H79Y)ZCV3B*"=K];-\Q9Z[
MJ.R<=?+  5=9^U#54;E-7X,IF.1P=72X<OM>CY PQ'\@I+L4_-*>]#*YX[ ,
MDQ22F?!UH9X2< T[C'I:)&O>83N'TWN3PS,M2]Y>FKDP1;(U-TUJN\HZ9:!"
MPI;VN[3M*\J#&[:[!F_Q8Y#%\F3+5:_=&A'-[4T#K\4'P]<F"U\+N01&("(.
MGW\H]-KQ"H])SB2SZGDE>>C-1$TY;/]RS!"=&G08S7/,T,79M6VY(^;+5[]/
M=:NE'0V/#JG@-.+*!UX?:6+XMI^J9,AD+M8M0_>?_&W<ZXI=&EN\6O^;IZ&M
MJ;[9O5-03;0'XTAQG9I J0ZRHCS<^[26PU;A.Z0:$]0+81&89II27:K+'$<D
M@RM7(!*:[G7NPF$PD!XZ>:).6W);:1HQM1-#47>HKO\,2(!P(>,^N?&',J$J
MRT3N@8E[-J$B0F@2+0,"=A/R&P,1%@:LS89)?CTP8SV 4HA H> M<,W$YP)=
MENE%#7A%3NN'$G;X(DV!\^,ASU('+&WWL/;")-P[9(I'QGW'1\)3O*1:=V5Q
MKB\OOR:ZT[:&MV/0%XG,J;OQI;_3%GCGGMNPQQ')B.IE&Q,&?_K?X5G_?<04
MO!WIZ96O 5TXXK*&:+#7.@C>6ZS)';*E"ZM3F@NBV>OS)1<T-TUO2SN@,,@8
MW5"-Z@<+RSRS>4!Z;]1J?TIRXY=5,0\6[+2BT)*AK/>RC?/"&?"N:$V-0,^N
MNX_\?I3R5;?Y,-\5^;OLO1H^]>L*Y\W#S*9,,&;0+>2GM85V_J[*LI2I:!<V
M!9U.WIXX_IN_Z(4,DGI+20]*#3]K)8AU>0T;%S2 T02X@.#/UK!+$4.\*>XB
M9$Q*V;3U%)"9N04@V["-A^=<V1.TFFIFWV(\+"K@O=.Q]B*TU<&9:T57*0V*
MI"@[1.:)9%@XW*J.9XD%0&Z&U-PB*6FZR2;WDE'R#AV"AC5O"[D>$#_@H'8.
MP,%L&,^S)MEXB:<]+^FN@R;S#YNJ?!Y,$J3!W'G-C/;\I0)%Q?^>O;F\K[A0
MZ6YAY (1)T_T";?W<EP#@ABOJ-_''V";INPJY/./&43"U>,GP;T'<>\^+2D/
MQ"9)#[J"MG*^9AU6>FD,>XFQFH4!(4>2!2^"(T_CZ I.XTFQS+4<A2->C:Z#
MJ9A>97'<L\3TRP7#IH")H(![Z[E3<1Z>'4KF[PMV.'[M\W3%(X=)X.IX:YG7
M\.(Q-<P&" 6]D5@1\(3CW%3K/MAX:?[QJUK;%=VXG=IP=PE56&*&O"LVK]D&
MF\GA;6_^A:X\URMF6>#4UJ=T>9_L3#5V(I86=0EK=L>],S( :PH)Z[S,RA/.
M@0J!<J#&<7A?5I'B7U5F_V^;S<?^-5]SD8+B8J!P;7]1RKDBPJ=*2\DK69P@
MW$BCB"9XKD\A=.V=*C*N<"<5^M)WL!RSY(RF \$M7X."DW -ZGV-;?%+^C+B
M=);!B-M)04&+[95B==\V?&JE8#$.\34)+B.>HJIRQPPQB"ORDD0D+H,PR/*M
MLK*CZ(>;L(HI$; X=R?T\[!PX34PX69MX;U*S@^XCP128ZAA,\8+.-Z@XSM@
MU6973GO4 M.1$=CZ-%[._6 MY[)WC#A@.1WQVM4B09+QIXGENE^M1"H3^X83
MO&OL%89-2?(&,&DBJY.W4IFYR)P6NF"RV\O+^YBAI+C%JZRER]_D6V-;'$:?
M2=7=#@]<E..:R=>>\J!%%:&','U HQV^3*;%2AC99T2Q<7M^4N"@572'_><=
M+].R^14OK!8@R5Q(\_W0TBMT\TID9M?AW,T1%QK4W7636QWB6NXNM.YIB@6W
M68 .6-N;,?<ZX.5$RXX#GPY76HLZB[=4@YX;]$J\G4F9MQ-I4+X=D]^] *Z=
M0GO"G[A_6F;%:$97BN2W-51&>T^*L1 6ANE8O(A%S;4MXBU[P\]%:E*&+=JJ
M&N^[ANN\#LU%MNCF9F3M]@,)4:_J'W_;S/.-"Q&6&.+S&NXEVT_#_6_*N9'0
M'UZXP2T9VU?<\4^3K/']QJ:OA2%JX.OOQX4)^N;RW7'9%& 6PK.B'IA08JG8
MI:N45\^^I&650,<JYD_$MUMD)HL0&:=E]=#<'#TX/YQU5=<GDDU2[[4J,?V>
M6._ADJW#N.N],I49@SL;EGZ/+=-?X5F-:H15X[HT=\SG\#=<^FOJAQ?;M0<S
M**#U+K,=XIP&YEY=ZTI37?Q'<8C:/"RD"E:GI^Y=(DZ:NX-(,#>CGQ[^A).;
M\H@),;B=$CNO'3&89-I3+M(=PQHT]:QA^=87>T+IVHWA[O$M)LT\%FB5C 5$
M8;X/H M"[(6(1 BC56E*$7%*#Y)VBO;-E?5ZQ2WRA:A3\YG;N8D$16@5D+O_
MD)&VMM)>^(8+1ZJ]E3<I<'5;#^-<T?5>^R-RZ\CMVPRSFO&Y.K;VP>(A1VHY
M=).PE)?<B#KL8]5[UH3D+"?-)=*3V_I6]9?S(M)D,1U&$TPK[Q.LWHZ(<1I\
ME"R?W7VV _( N>41+^%ZQ6:E'#[_<>1-'#.(*R[(%M5S3T7/7GOWX_KIPR3K
MWD7,C%/EUQ<%554P"4#LBU\F;S QPI^0G5'$2.#EKV]JU#XZ"+F%9"!+NT,*
MS;.6X7GYDPCJ%-IVKL2H714,=H:\!C)_4--O;)T"F:_2I,*63+@ZV.9KM%7;
M:3HGERT"LJALCST.VDZ<K,1^[E1"@[G*@9NT9?S^3.>4(BI=M<_/:K8.E+SF
M<'CO'R!W_H;X=P+X[LU+O!0,2$E'+7 KA2XHZ_ZII:RI_N-6@8+\,4, LJ+L
M 61HY7[9^':P>Y[T4A>V0KVTJ<+<U"R!/91_$J@&OB9+T&=M[E@^7Q33.MQI
M3HE/,2;1S1K %D"6!KHL#,W'Q0<'<B?40OPVPZ:1(P;TZG8S"B:9%Y[\L"DO
M!,8EKCT6MO11\/UR4CWE^>\VT,G1^N!)JFBOZ06%WKXEJ];;[AW>23:[2O/F
MF5?H-\4D"[ZD+6,#)GA[OW7TG8;USF3_"9IHFO]P/IF S/Y<D)>#3=CRS9_&
M;&](+T]9A\8:&L' [4X$7MB=T#2*VU("<^+H\!TQO^H:MPV@>=5TTL<3I9(2
M4Y4EI>TG/4:K\SZ\HFN(UO+.'3,,%BWM.1;X+!LV56[JW6E78ILNL1"KRU)>
MSSEWS #F*MX-S3EF0->OCYKM#>6$N\Q&_OLAKRXI=Y=?9.*>>M+C0_2#FH)A
M)8+7>O3YJI:$EF]L9I?;][$[:'X3UA(WCCUFH%C^ZM=,]'6\<WD;PDBF9@9.
M[M=WO>]'@2*-([,\TZL_--[ID;CWZIC!N/R8P8RG+GZ@D#IUS$ ]*%1IUP%.
M2YR<-CLXPH52_(>^+B;@EI[0UZ?>'[2KR@.0P>^M2%@=;O/[@JY 26TWK]Z:
MEG -EF0OSH591<*6,ZE)B;/2)(+LK%)_* 'UM9JE!6KVP@6)ZG<:#J\61GH_
MMC"7P>-E1)9'&Z)SS-$%-O)5]K'WKA5I1-TS:A1/ L8A=D3&>(-US#)CY[/P
M/(L-E?/'#!XOMTO["XLL5U0E'5:F?[(L(RQQ)PL> L5"ZWTFJTLW_#60]-8P
MW=Z#!0<".0FF</VLMGO"T\..3TE)5ML*F!O=>($0MTBAB#SSEU7X*R107[F*
MIZBW/<GE3@F8U1.D?13_L7-[>6D%E90AN)U!\"%8JSQQ(J\\\.@K(W)SU+V5
MAUBI"'[(?+[:\<[?QOTZT_;LA/-P.;30($<C8:#0M2T<WP,AL20;Q[W+;4<D
MQQMV%^^0&OS(K*KN\(=+9;T@,070;-_B4-(A="YI676\,_N*U!\G-2<1\>W0
M7:T 6T_E.Z[TH1R_F>!)F7SD^+>K@@:4<W.](K$I9N56"GSNC6\G->ZK@4T-
MPZ6K,DH)T<E;>(4VBT(0L3>O1F>H4+W*&L91 'O3I. G5C\\>LC3,9!/1P&[
M,_*"?XL#P6OI[!NCGH8_'S,0(DQ\U&C'#.4PVM_\#O<JT4NB UYM^NJI[Y3N
ME2."G.T:F][1<.!4;>5&I1['3->=_X\!-GM77@[^:&@2MICJ'A7O7P?5_[+#
M[1XDORD/;LVLTB0I",]P&V4@1H^N1/25U;VF#.&P7I2^O*0@HH12R/RAU)/N
M]!<<K/K,4M-\)6HJ&94V!Q+IS?$U7:T9;FU4YX:N:=/,<I)6JO+P\R64VB<\
M8,%V;_0\2(CN2G@YA;!TBH-\MNZK,&W6(Y>C"QI;7VG7"X3O#<]7H"%Z\) Z
M52WY\5JG(VA22#^ZJ_4;#T>Z^8V0*6.N8X9SCXWR+H5K5D\[!L$ZFC6"",8$
M3)X.Y_P4JE^3D"CC_L13], '[T)/%EY'QCN0%H<'1V@@5>QO7FY5^D)/HN)=
M,2MW]9D8CNN *&'2NT39Z>%?T7W"55LFF<Y#94_J*$[6!G'WJCQTI1(>X+/C
M]*"?>RVZ06;E6;:%74S-TO-!RV.O[>S W1MW[B45F5'Y7=MW (WOERH&2>]Z
MXP.AV$O.Y9S@6X/A!;$&M_RSR9J?2_M((GIJ+U$5TGI75 +MG52^_->J;-$<
M@2*K%YUJ2;8RLF5F=C>+S-?M0]9 K<#+-.OW@Y/FZ!TY-#$#&GIZE+79#.Q[
MZ;&(83>=F%! @_?H0% $H:"3XCJ55P&S2\&$2L_7N%F+=6FW4^^KPH #_K9#
MGR=)!PD^*8/>1WO/G/L[)3VO-"ZN#Z^Q1?S0&S!8,O9B1U5(__-2"==K;DEA
M^LU /+VOREV6T-OZ<L"AAD^;_#;S4K+0:DY\WJ#1]K0=X]./LG$T2 ^*CN6L
MG%_[6%7-/IDM;<B=6\_C8TMLZB!I OLI4^631]CB"L<X,T(*VJLA+8_ \7:!
M_,3$3P6-5/;](<A?"+$FD9CU8.<^OY##M>P.?C A=NF!NG)1:?J;(L<79![6
MNM,SQG:_XNB&@)7,J/O[M71YMF4$F]V'POI,$M.8!CI5<(0J_(.-:MRO_\JP
M<CF=Z5)'RIZ^4XD"W)5.2RTQ9MN,2LXM]H4+7-Z7JG\-/=V/T2EX M' D +]
M/\&ADR*$FS0]WMQ-NE'A+W-22GT]H .(A,U"B8[T?(A=#DAU A#1&<[J%ZA
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
MU2BZ.3N=M?%E@XL>$D&O1\$&W>BW7QJ('CA>*+:('C?4#46K/PH3O-%Q_]V
M0=KPCIIP7(X1'42HVDBJ:1H>ZAUP ,,K)\J-FHL@FG_.9?LKYR&V$ 1%C]^U
MX0#01>S'YFAX:W_QH1J58YY$L!V<P8W=7*\!1CW^-"Y/WC$HR+G8/M2,-YTH
M+A@@XM=1(3HHHQS"RSA,THIQ>5X320&H8UF"$5#IT)7=?3\O:5'DH,LR?]LK
M[Y#H$KF'K+_.8?[K1$[2]<N>SW.?@\Y_J[>; E*>]YZ+53ZZ@BO0>9E^4U04
M(@&G8FK%_,5C#>,GVR/[#@J,<3'!/>XNT.XUHIQU!9EG/OUR.D>JM8*''K"$
MMA.HT;.:(^073%&>+CQ?>"M?P/M%O8<.'^8[&PB 3P[OQT1ZB%%METD_A2_X
M\'1UW2SL%YU70\QI/0FU'D0%#%A46DI(=G=77WR8%"6I9@B5'B#J!ACK\:?T
M2#29\J.)"3,A?/VX!Q$FJ;QR+_JKIR'WK%WDVF('2[A<E!N<V]=589(A=V1]
M,\(F1#%+/Z[&<+M83F"S<B7==;$._@KR5>_,3;92@3?\2NP]8J'=(8:8 N5=
M'6SY38+&S^LBO49=2A9?R $P*'%,W.D;-Q"@C27T@]SX+LX0F )*ZOH*VK]T
MY>TJ^-RY9 0SVD)\S2F1I8(DP]51J=,I@H(4..6Z6 LP]>,!;_&*B;JI=\6D
MS$%^<G?P6L[P<K=M9VQI=JRF=Y]%3W=LCJ9![/U0:=$IDEIJ#4L7''<9$104
MT:#>X.FUM=C84N-71:1 KM*!0*6DM,*_O@?QG\B!C:TRK86':RH]+OD"?*3H
M.M0WQW&7V(8?/=O&B289Y$_N8IN;BX=2#:_M/HU3'TR_31:AC]J"ET')N/#L
MA5NU5U20R:M?B3\3O,CJ7Q:=]+BT;+/G]P-BW,<P,@)A'HBQ[((.8+&W(J#Q
M8:+$:9]=J0L"YB4HTE$C,>(@&0O[$"@^AH&2>5 N6)V'-..KN/$JE6"S'.6J
M7;>#C]^$O>,'TOFGNLZJG22!5SHA);>ONMR6'2Q6EDR<R58JU1!3JK*^61M8
MV\^M#I/ U4NDI*78_4KPS/;-WP /$&Q'7/-$-(W]]9^!'V3E@3*BLPAI+[-Z
MTQ!0X[A-HS%NRM$_6^,O^92!Q_=53[.SS\V>.\:R+4K+@MMT7 U5_#G\X)C!
MV7S>=/U>T\9[S&\Y8I#GK-\AE_B1:,7,UH= #I+WJN+*>D)=H"'BW1$HY@C9
MMR9D4FT<%_8[&><LJBL/%RH5OCU>3L\/BRWQTALS<9Q:VKM!&B@<]TQ7<6F+
MK^$\_Y\Y;-- -3MW>%P>)!U%]=^&E[1EN F.VALO?KMN$>'?1?5>>2A?:5\W
M8&8N7\GH(LE+.6;P);-7MD?H/2^1\UFJ$A_ "6=RR8U[6'N.6YN8:"\[WO.2
MF%R&H!>=:;*P#L '0(?L1T.NZ]M!BWLL*=)E,V+QC!(87_L_^=>N4E!S35E5
MM;D.'?YO/J*U4T[WEM(:*@8>;,J36MT_!+7>FF-;J"U$E;/"7>6S"1Y^E_,&
M5X1Q/(TO]):T%Y]Y"1QU86 2)%5#R%GS;&GO?0^*U.)TT$"L@$PTK#(\H"O.
M&C*HK!<V>8//W-Z$4043Z'%R,1K#F5F$OD7!U\S=R'D2W9V;)=O=XV]0&Q(5
MWN8N.I0"R4M&TV1_>P%=,8:YC/^^:25ZB<F-K@^NRF1/3+6&Q0O(6K[<]?WN
M!@M_&GVEG)(Y9P?S>5]]*_#>K+0/G4=;1->;YN@Y\"W/VD4HY!_PK@G!.'LS
M^OB5>*(Q:RG<3GYD^,62B)&#9DO[:L_@EV7-'U[@$H2J8ZY97802WIC,?(03
M9W-,W6*7Y#I,L:[FEAPKT! @\)@!$WD^W],NI-"763&&,5!K)!RFF9C=T5\H
MP3->=SE5CB\BW1O U1UWS'#19VTWKW5F25;]8Y2NW++<5N1-:5#:\(32:YL=
M-H31+KM?D^&M!6N\XM;-^#'SY#(MS[[G/4@M"":/%>4=19C3EUE?VPI+]2;
M/F:K(,-+!G/P7"X_ZW654[7I J*CQPR1*3CAG ])A\G;&LA\P1" 6_X$]_=C
MX>^DHM@2);;&KY<NK,C^$%8G:=\?2>:X+QN5;-AMJQF]_K;=8ZW_<3R99*3)
MK-E+QC_P:] Q9*&QTQ5O?$L*L482G+)E;4U5DC1$+:<='[IECP4#YF05V#A^
MV'^7 #7E(>87W;XY-A'9K4 F=EE\LO#2&7^B14(.46+R<E2[8_$1PQW"4@Z\
MO;JP*[NN!=CYL67[;+D,UA4/[#/Z%JJR(CVX.5/# ,>X/)"#L\TXOY;%< IP
MS&!W)KZEC6S1,+8-=LM8&<BV3XLB6K?ZQ?FI4UJ7C71A=N4E)Y.'AM@9&H*P
M!@0RD6].TPUD\?:8(=]<\*N+\9:W_IH[[)VE1>(JW*NGB6<C3<RKEJ[,)N;R
MC*+,G3?7U4/P>1!!,O7=USW[,NI?6?#&R':*LJ]'\Z9.@L_[EXE*4"]&NT[:
M9(;EBY&4^ VPY]-/T5"YWX!77KR_TZXM\C5>;A=WV[CDCH2EA?=ZB9ORXX@L
M=USIFM?OA9S3/4<$?__6\R4O[X>CB:EUNZ8Y*LR+O/>WDM;W=/&=AY<@].9/
M\/WM SJ_M-J<Z/=83V5_.YP2HP1RZ0ZF=,W CO1?+%XI1E%\WI0NB0\*"I#L
MO]A &]V[).^+Y,=V)@\+00]&&1]7><<X_S*'17&0\L-@JUAPN$N+F@)R6UI#
ML5Z_ &DT)V\^M/@-+S6FBNE3$-IVHTIIEH;6C,R]HIA+E%/>4,CS6\XI[I1A
MP=K)O!T1?*M6B>"00 M6TTVU,GK$-$*60->"$J%])"T^-9;!#+$N)A9#)B:F
M#TQ<3-S^'@551 *J (Y*:H)[P.T"+!7W?7[T"W+A'YQJ3#]M% 3\Y9.UC=#[
M43>I"LR$?$*F9BA_W+W9=;[J-Z0KCW.SA&-)(IJ?OR6&9" (@&P/JP-FJ7:P
M]IB1DV;KBOB14?VT!A/HUI)1T+)M23ZB<=M56O&L\7")LS O-4'?F:\WM[RY
MILU6YJ4]9)AWV"FRCV90OL*8(*]<Z,U_S( 4GM.GJIDB%L>6X)[6QG?^U#,!
MZ2;92?N(TOQ]Z+3B@B;E ;YH*XI W!]^=/&_5;*>T/7].*'+FI\)^&<DEC@!
MLF9T5A^))9F&/SGZ<"$_]1SQ[S6YN 0O#XJNNDF%UY&LQ!5T%QSJ>=U,3X5Z
M7UI%7.=HF7R6;1G\+FB>Q%=RR[%FJ2#88%Q!=;LO@5ZNHD:W1A%&?YVV&Q[\
MF-2,2T=!E &1BO(.$M[8-''KH,K52H\=-@#AX72Z@YXT<Z 4_M5'"7D+09>;
M.IF7*68\GP]P4U^;["P6M6(Y3-:OQ)3.S7L(>,1^+)G4DYUZ&6#=BNQW>5NU
MB12)S7$^R6=)A-DUF=S(P)9F2H8@>^1 CGTS7-ZHF2OKD--[LP9JW6&X>KME
M!]1N!3P .>E9.R6-!_[ J$;_YS@YU5@(<)078_NXXKM54*56[HX1BA\-V^9S
MJ("L RVTB>;LWC:3#XWP7@>ZXJ$[$:<7G*#Z1I\PI\ULZ=O>-9652W97.V&<
M'.X+VA[@+5Z/.J0;QK6L_FW?3AU_YD1"VYCW\\,7Z><CJIOO+#:-6$2T/ Z-
M\2D>]:G[(BFMOD\M\ R?Q@&E32'NN>.)X61ZEVO).'L/,KO/NER0K'3$(?PM
M+J?A[005K"ML1Y/*#XA*V"][/*2OP;5*-UJG0ZY2B[B8F"YZZ].! Z23Y&17
MH(-=TS@GU<P/^,"T2.61[..S[OM.^F'LVG/?ZUJIO4V!]2G<'L2M3&39-OMK
M*Z^H-': #LE"F4K[U/NX%>-?ZI'!!/N87HIU]&@@]W.6B<B^\!'NCD\H@#%,
MPC]<W6TS0Y%C9GM<]L29I=<WWW_HF^4<Q74+I-;". =\O)/2+R<>!N,D^M-2
MTWA8!G;[6Y6XVQP<T ->?')ETR^&JJ0Z.OF06]J1+!2Q.J;%5Q+-HR1QV<-Y
M$,)R=40O8%]((Y,T?6N0Z(\5 RIE3=N)X#)>5G)QQ6F( 3\ OGS]FBIH;4TC
MB\83$\(Z-2L*AE;7:8IQ&E?U7@4 PDD_/;S]]7LA<Y'!<^N8P9"[<57KN>^+
MB?L[%>F#QEX[BI6/4E8.&]WS'#\%<G9^:#E!GK'W8#K8=*+L%D^D]YWG0I)7
M?MVH:[4XXM;)#MSMU=LC6C;@X6M0XX>_D\'JM3ZS4S"YLG:ERJ]8TJ!C3L7?
MMBZA?/)Q.;(N>-KGD"H.W;1G_P>6"\^_5573=M)/88*V@Z+A]FB5$<&NH7J=
M$7'=;B[Y3U[$A.B%2NKN7/UZE7N>;E>I\;E.W+BIL#-@4GU:)A"[+K^55V M
M-C.NR!G%T^B\G+>-&,>QXV+^-&*_'(AY$)R2=#O]\A"U1/4@N29X(N)2\*KS
MS-N!]-BJ=/9A#DO!R%@K.54_4J5NDWB9 O&BXZBBG4"91X22;8MHH9SZ9!.&
M/$<7E\ZY[9P#.8OD\'/4ZJ!'=]*Z:O0PL!""781@R"O=AZF2M[\5X.-RY&*(
M>'C!HAZ7MK.V<_,LO/Y2XO?V 1Q5>^0KH]'=V;1GY2'&^.2S_1Y!,=$X=2=[
M9(.\9] P;<CRCPQG*!9F/.[>,2$&:X<F=?='W?6XDXU,;1Q-8YX=B$ &N\;>
MT[[XCGQ=9WL[L;T[AU>:Q&W=&'RI:?4I)#:OW,-A8B@?1V2%%S/II#T)C Z9
MV<Z0%7@%57!6! PL'^W!-RMSQ'#)A3:R<J@,E9-S@F_+C@QHEKFF4[95N]GW
MI;>G)\D_1?Y7S*Q4NO6G18R/1[1I1D][4#<GU#3.L7)P2KJ,O^'MH$'&4P<'
MQ0&NQS%/(3*Q[9,NK+8NKF#T(?.;AF.&WB\X]L1^0)FT@&(!2B*M2-=.Q QB
M7=$DH+)@TWRV82FX7S0$]K_X[,-9CVJ94+=)KT>553<5.#[J'XKS&B,!Z*KN
M'Y/L/W)8 P\TCQG47/$O6XOV2"9Y1D+B[PX&T9G'#)?,%92:NI77>_D &$";
M[?L"S_D=IN&(!.M4V2&__?DZ=P2S]=!84CM,U<5P>:;RZS:R.?C41X]')S'D
M4'YN3\YM[)A!&'M^[\=*K=+Q)."-C5 ;L +88FOZ3W$F+BAS=@>$:I+F>QW/
M75=,Z!.7+U8#V61T0(X9[0%]D])_^?U<G]YKQ;BF 3L*NYY4NW2R.-XX)F^
M:ACY.+GZP52&&YB[HXC*) +(3R :/X.7VA@+K2W'*VP5GYOO< FJN\G?1'<-
MZEEPW2UPS0GFL='X/,YZF <6-FZ=+1AV04]J0[3;M3':]HDO""+94TR8X*:0
M# '!>$%[K;ETB5_^V)JG.4=H=M1"]J/@XI7X:\P7B'J/VO<&?&*U%CAIF!%D
MH=#MFUH:=T^ IU"WSNP%^_O<;%9AKA?NA4TM+%#]C-'-G_1[(C9ZO_L@)>]7
M,K+VNU)/2>C!.3>8$XX9KKC.C/N^4<65*%L*]52.OA/>K]B[.FHQZI65_:F&
M_\?O,=^S76+#+&S&U*R./+!.T..\^7F-.68F-UBP(1@SL.=;%'CO2>P;L+W\
M-I-_RQ,',>&,@2C/Y+;8C)2Y9RGTZ9@M^W OTI?=P8VNG.00.\=P2)&.9)#,
M,0-XO\DM7+SG&SBHJ<!K/N*ZMUZ)T4>9K)#($R6B+Y2\:[-9\-U(=H:(4 RD
MA6J^B@C\.A!_R!EZ'66UO6,>=UZ,);:4MH>[5=\"C:\"]RVN]JL)EPMI-EN\
MWTS/GWQ %U.7L==EQ0KC[GA#BHRH-Q\-78/,[\UOMI7X$]?"E;Q@KT<-%VE,
M3<F>5_'?+UE/R-IA;X.URB^X3.;304O"V\T%9;=(8?;*E<<UT\1U6^-G+UFS
M_HGC@I]BA>+Z]LSMK!=8#7[\)&?F8QECL?<2T7=VJ"\7'I@;#(J4F@O6#E9&
M ,_QA P**IE<!6D*W'\C/6!=^6&%9](6]( (RFZ4=OD&Y&*!**[Q].9-!7WT
MF$"+S[COT$ Y.G+FZLB:J*_!8P5!T^E8IA8%6(A'C#'=V])L^=L%S@&.%$#Q
M3"*CZ2E*W&O^]RWY08;LEI7."2G.U[3+S=XIJ0&%N;+[$Q@?WVI;*IMG"7ER
M.[_ CM\OOP =0AK-<$K$W3FR]LB6UG8(_O#0ML3$9RK$10XZ5]#H'*;]JK=E
M*GB0N1AVZQ%@Y.L_K+F3,KPD>TB8\JTS%^O5XL==)::-K+FG< PBR:8_%%<"
MT6PB;YI-@L]?E5W*:S;'(AQ*!0A@A*9Q#IT%@LG-&-(!MX\Q,86U4\^J.K=-
M5\V5:_>9->B?="P&!4TDC;]Y5/WYV\[*;4H2X\]CYY;=E/QIO:3;"7<S]AOK
M^-N4Z"9Q*+HKQ%^"HVD^1$C<(E53W!!9N*W:8%NE(FDV'-Z8T:RA0J*Q6HQE
M]UTUI%J*'E'/.D\H\ J-Z&P7[&CQ96K3['XF5C-#0%Q1!V; QC<.B76*&\7<
M;JJ!9KX[0Z94Q?6>A4+Y>4(Y-[:1KN7<?(M UR2AH+TUR&=%3$QOG/@\DY*:
M/"S;O^M"UP(F)(1E7MW8MJ4@9ZL[T2)O&XFBPPZMQ.BUU-K.P-R-+\M65H:D
MAMI^F]ZX>?_MZH\+&K"*MI8G>7WS4 LM2)LN1$D5@O80'#94+*6R[.P*"$@#
M-Y?T%/!P/F!T :*2"]!HA %S.1\S3#],RQOT=-K+1UCXPJ+6Z,8"99.@Y'X3
M.3B^@IH91 %=*_7:UBM 2RJ")CT&" 4[+TA"3F5;A#N/!S(QZ:_=0[$E5=>H
M;P9=]))6T:I.&$,S9SV5LVL.3;RHX<.9EH7XH^NVU=\T_%77UCN8F[F& ,TE
M]EO:4VF_KT9.,@[#=>6Z>5A%[27D=2*7#6Z'^0!)M9A)> #T/6:H*-@2V[LQ
MX?E%[NX)U"'RM(I?!-NK6V8N^U_KPXUK=GG<][1&Z_-*/Q\S<+0<,X!0N['Y
M(R*:3;^3<KK0PNQH:RCMZ)Z[7J^ZIDF-X&I^^?KVMR#C)<B:(C6]<JK-(OSU
M/VG6K2(F = ^9FC;P93[1:Y$Z.!=$#?$#EZ;2<Z#3?%%_GE,Z_FV>3?YZH-3
M80[59#5H3P"^.(>W.NM=0Q55KCJE)J%O_=4%6<.TS-OEEO>/2)8EBCXQ9;(/
M<8'NV(/]6XXY[/28 FMQ_;8[I#MD+K-JYK9;G"B'R#=+BU>8^O='>7^*_R&)
M'G+^6>BD="-)'^V6$B/D&:@H\[PG,3J9A!P*HKZK9+)\W.]Y$7M%36393N*5
MD%]U&3PIXY!5&\S<"#AF,!4X"=#PX!F)Q)*4(G4["2.(=94U(G$B^)B!5%3/
M7.Q64S2^_9T]8;5QK$O7Z=HL*:I]87'ER=M-3F5DI !KCM)<>?62GU&17&SC
M/^]BMZ/8,8.D.7'JH*3+J5S.N=TU "(O*1V1X^9@>&N")^X)J+5(PL228.)"
M-/)Z]6:G N[]- L!7EQ-@Z6.* VU+NRAPU_HIV4H7DET\NLP*Z46U7,Y*S&N
MK#"B'K=OYC55IQF.=45>7S)L,<*LK>J!?N:0\4"):R#;-3!SWW "IC].E\WK
ME0SSZ>LHMH575/1=T>F]4G-_H# >L23'8:,1G0#[Y/ 4K,2-.F57;)*F ++0
MD]/N\@O^"*L!*#H#R@0CF NT%.)[)'O@ZW%JQB)AUMYK@$: @H L/EY;_8_>
M1?@SG7/'.553"L4]B>G#]C+"';T<4<U;C,69DH:\P_)](4/\Y"A;IY[6!=;M
MC:LDS%2SKU3&4-E^,AN43G!][_TNZY"6,9@Q:95,68M;;Z!S"NV4CC%S5:S_
MHK-(]]OJ%0>K3L23UUPQVH8*R!TZ#*"8B)&#8QE?GDAF+ET_,X67:;Z!P*]K
M)>0O,DKJ!@?HW[SS>(I*[WO3FE)@UR5LSK5J3VI,LM$TB&B"#?+U$@BI<T]E
M7KFFY\X?,YB5L]MN +H7(3PC"M["BW3%8*(S6:]@SM*P4G:T34^C1'4IP]L4
ML:BJ4.;4^:]>BP_8*>W?6&A2R;"G3+U6_3!/^^RB[);.?W._:7.H/)G8JJX:
MW?7I-R"T\<<C:RO+LT74AM56<N*>U_[&:%Q*T3H+EJ]Z*R>TY_=3"SN)00M_
M_*Y4+5I_P+>&J6.&C\-RN^E63(+YU(16K+C[K&9M@?(3F;[RD3RA8HEG/WR'
M]7PMIO"M1S-KQ4I9^?:+W(5RE,_C"8^?T-&',,%[+2,98E_\1&DM&;%#89E"
M*8RG634A108*Q"XA$N)]=^E!5?8[U#W4H%D!KUTTCH.P4]I 1?R4-[,TEW2E
M<J&V=Y@9P%7R04>IZGW$0/'58P:YEC(W;))]6/?XU(0$%1.Z#8L9YEX8=:J;
M3'@&"2VMRB9 ;.^D 9 9"(M@/$+3ZX&)?4VH)XK%-K_IE@.-A<85Q?3&^_*,
MWU9[Q_X&6PXGF0[27F_OE%S7()X8]3J"M,UHF+?-R%RR&AJR)!=0VYIO$@%R
M5C/#\XX4#<:B2#5H?,YMTZ(% 6&#!=^>S'#ZT\(,LJ*+G+=)=8TG:BT\);8#
MR$5CUQJ4\%LV/KR= O0?Q*KI*Z[)?NSL!*UH6\9PL!FMI,H]Q8?:C97E1]WH
M7K<1I[IBR:J?BEHD!&*U8HI20T2)/B&TKHDFR\<E\R:<56B_Y<<[K= "6 F7
MX1?"P\3IN'!:2=D65WC^5B$"$X1K6&N&"[+C/. ;EY+_P*?^=^\?_49S=@D7
MDN #Z\<,7Q9K'+TFDEZF9DRWI2CH4R2#@^48^8,*IBI^SB+2%SWI97P7,[CQ
MSQL_9,=P0"HRQ9NG=R+=UI./3"^_SU32]F"34X$70.TH7(!FYL_+1VOP4M$F
MJ0D+S;S5V:E#@J=PI-W/'MFB3-V4=#,,,V1L,-1@\OUZ]16YDN9J$_&B6^E,
ME]S2BI?<GZ:U>O7YEK1KCG<&;-W\]DQ'+(=9+;OTKNBR'C!GFM@R/9<LT26K
M[9<X%3P6_#5Q(*W8L[WVE9BZHX@1^.3R2W!3[W[SV>:KNDT& ).[?U_GJ4G@
MMV.&RW0/N$:1M+0>O/ZACWKOX<S]EO5+)-,EZ5!7OP&A/4ESDA"X8KY[4"<C
M!+L3'S"HF0HUM+2OM=A&;LGYU( @?I4?A8*:X*\6*NLE1'86I_+IB>U@%I,,
M0%):U(V?ZY(+4Z9=.E!3?<_G;[N'L86ZH8A!\"MH+?*D0M07<?*+I/->K5R/
M^YLY$N[TBL6K&02AR6C5A@*#V]K/ZK'EZDVAJO -9];Y.(WK5TV;0W!^PH0E
M]79G?_<4KY4%UDZ("% ]A?G#!QFY^>F)$&^7\JNR$6X%?_0$_+I:T-2>\:F8
M+R5F=_AJK.7\ )APCV:,/69*G.I3;'ZO($(]W;[R S;8:4JRRNN6OT&-/&W5
M."=M0;KD%J'$+QE58F0EU0YC/CD6);0@Z"^5.@L@'39$JK7U22G[(E&GK=6[
MTXYC*LQ;VG_2MZDM8%T3>.U)<[$,Z^66D.61B%W1C*X[1"91"G/1T\S>['V0
M$\3ELZ$N,9B'=83468G7GMF<)=3(>\#LZ8XE;1I+SD[@-B#/P@JVQH"/+U=;
M/]=9[YR, E?<$?7.-<6HT9*?W>_^?HW_9S[#.Z&SX8K^BDWW$4I)S($I%ELT
M X>#0Y%\\7*YEZH.OF0T,E/'Y.W"O-[K2/L\'JY7ET,([#4>5QPN;56BC15&
M:X;#EJ'8,+S*^B)MK,&[BB^R1..ZDNRZJL+AI[X9P:1P09#*&IK^5?L@>2:T
MR/*"*:.)CGT \\7?J<[ 0.3S_;:/CL2GA:]_7(5R!?[2OV'D^9 DMZ)3,X-:
MQP>W9S_X9Q9N]_6W&T)U3EH84#B\3R2\/EQ!?<DQL#C?W")QY#86D_O3!<3$
MY^A '!*;%(>7,>83K)VQ=RS+Q>Y^KE;6\I9!CU!B=K4 3'G0X%F]"YJR\&#<
MLQV@<J\G+Q)K2JH&S2;5O:X!RF/[(U+]\E?5G+_LZ',!V@!73BVQ>1L_0I!'
M\R$/9$+YEX<OK]A1!OF!\H-8LEDF2'(44]X15L[7_EJ>[Q,VQ]3@[00R(P;:
M79IWJD_->"$%V]#HVM[0L)B8.!8<\4(W%J+3:ETE(! <9@VSU]8[VRQ5&[R^
M_P>A\AO).<R<:VMU9O9/.ARO=T4S=@TL4?) /S_?3ZY0K9IZF'52DCR<[7/I
MD L<1R0! @^0W>)200,+1\((BTQ7U\B:K117LS!,6:UDK;906NS!_/O@"&U/
MKMZM^3KLRQV1#*?VX=4'4TVY@Y":G-N+8ZT%D^]?WOA-KKS#%&>;S=J%Y(%1
MD3KS/%2O*2NU2YJ.T=J$#S*SM4T_08]&40T^3]@# J< OYCAO(+7#!D5 VA0
M??K6='G)LX-1M4KD$"RI?"T6LYD7W,1'TI7:A@L&=RT7Y.T8%Z&77 *@,S]9
M"K Z:6\A/WHS*1)O::ZG_^F/#7'1T5LG7;D:MB_05OM"2IN'I'0!.(-8UY?(
M=]1I\R149]D\$^/Z\;? R']Q?5J =56+ZYO>5:))9$)AH=*>">7./0T#!2K4
MH^;W,D[GG*83=K\K]6R-4J)CNZ[E-S%:>O VTTVO]CV?'(,9OS?$^8E)H*^W
M[WQT"N]F_/=8_R_JWCNJZ71;&&:.SBC6002E#R @(&#HG1FE*%5** EE(! (
M57J',Z,"H9<$$NH(!"00D!)"J(KT*H00( 2$4*2$WNNG<^:>][[OS+GK?&O=
M=ZW[/G_DG_S64W;?^]E[/YK@"<WY]6:K[VIG(OC]U^") L+CDQ+:%KIBQ]ZQ
M)S;>\7K>XGH(F_IN,>#$XRNZF3X9EV\,-S%V]/'+BT\^4XEE4PGX,)OFMM"0
M!M]7 %6R#J?X[@OL3CEX6,*P)TPE![V7,A'OBEHL3F%+-=;^^<N*WTC802GI
MB(@;I)E<H,\Y$_N5Z4E0RJT\G08X_W,<F(\SFBXA5ES:4W:US(5A#+1(\@XV
M,V %C=[?32B< >*@(^YY<<3I_/)3&=615N/=4"S$@":PRDB*+VBR#L3&K.A:
M:)JGO?L7^&FC;B^(^YVRNGNE[*=)\2^-AC%XS0"^4Z]"^RWF>LI2/XK_.9U3
MY?K\S06[X$_--&V.W$FH(5V>U*CE_#.HI2/#^M;)ML>/+ZHW#V* 9M$S\E3]
M*0Z8G-D*Q _W/7TS?S@[:F^-QKE@.E.FJ8UQ564^=9G)%*G^8"1D39*L]@^,
M;;HCMZ&PX&S8H'[[#W:VKAS\/F^^GN[5"/YDPV"=L9&P>&+L*=^;4V_*BMOG
M"EM@$;Y]P J1&"/QZ\<O6\-&1PH57QD_Q<% 9K^(%6'%,L7AL;//43EIK-R
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
M/C=(#&G'S,7UO3Z<5(D5P<"L5HG29#O?:?X,:[V+Q-_6HW)P,PX5\,'!.FP
M<*34T<CA>6DFQ%64$JCW;*BRR:C3$4(C<<%62+60ZMK<H)Q$+1XWY%>(W1@Y
M9-G"6P<LM$=_TV*=<M76Q^2>AU6$/OQZY0U)-YUI=*G7E?PE715)HN":51;&
M'(%IH,=5^)MD6L1/YXBO\["7M;,D0B34%)>/Z]:";/=XHN:6(Y^-BE9:SV3T
MZ3P*F9H-;;[9;(3ZA?1G;/V;A02W//<<S\*#E78,8D[>^B6H.1W=  ^0YPJ]
M+-2ST-MFAT^3DX] 7P3PP=,X3O? ?/W$MKI4L*FT0+<3@=X\O#11F^LT@B.
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
M.DI+3][0:Y4LE07%&P74.UMQ,?F_+:NV;DM576_M9:DQJ3T-1/2%Q-<,8K*
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
M>8G4?7?PE7Z 6.?E67BTL"&N]RL,SS"ZCU)KQ$I,W+2$GN),"DOD5K2$:Y9
MYLCB_-] +&VX,MQB^YJZQ_Z\@-,'!Q@C'&$[]>A-\V0J/1Z<W5T@88:#6;QV
MO)W:<ZK^BF!2Y3IN]V8Y.+Y0^S:UR08P%EM<0(L7<O1KI%#\J!S$;%>B*SJW
MKPVR.CL&L1W\2^W^!;X\ZD/K4I%B>X8M,[5" 5\#4JA0<;=*#KN9AKRY $PQ
M<Z5^13@;'8("]G?O&GE%8>U .#<@?NC6.5,I3O!3%44NKG*&UA$7_B3O2JB_
M-N]>L+%"&8_%C"_[3ISI)_#&RLK7Y_.*O/<_Q@.$!?\#OS<CL?)0BR)YSV]J
MWUI-[4,YJ5*=V]8^)@TC/9YC\P-RP^(RG(^H9:5^^(Z-PDK0G@:/FX>-"7:X
MF:,,7[8 6C Y@4#G6?7WA!^N;1G=;MHB9A%5^QO)\%9&_>R;U3;ZY'RBHA7]
MMT!MD2Z<:)E"^HW% $#-0ZHDV"NQ>#Q->(31(0;T[5R[47EVW7.,-G[S'0IQ
MQ"(F S]KK7;>LO!;94PFG#,A\=8DU8/G^K[Z]H!^<9Z4 ="(=,!V;83A/(N9
M+^0#ZR!KO)&J]&%,[[^ [?]SD?-+BVAIH>9[)=OS.B^^NQ:X8) %V"O0C+XE
MHQNB7V)B:\*1Q*MRWV04CX4_@H%&:S WQ^!8ATP(9_&O?&D ?0.@X>W.:Z6@
M;8[YEP/.6RNNGND8?=]K/G/9CX'OT5.9$[OI]PF_09YZRL!U/Q'#086V0@#;
M]1O^W4?^N*M\#?5F+A,&98BV,'D>L<7T^MI!Y^N(MBW3*]N-G(7+1[C).?V3
M&VJ<2F^*'0, 5+/.![TZ!E3]/S;^S9C4/5N013SWY(=5B^.,DA7#G_(E<_J6
M^'<5_O;MVK829B4>/0+T:']<V]A1]M[G<4^!MP3!*M&\^47*M(W(NAI[0SJ=
M>\".+CJ/BME88I (EV<R8?ZA6=AP:MF05O<'J<C9Y3DX>D,$;]X7E%]BR?GC
MT[^N.[G ZC6(PI%V#"J;=:;T&Z.+K;9K@I^U#X:PK<O9I8E5Z?V(^^'K?H77
MH4:+E+0\S;&DWDM/2*-VO\TW,FQUM7=]EXAY<D8(-/--S'\@_<K&"5WQQ=48
M55+_@[&<$G8<N%9 T-/-,@7R.LXI=SK5*+M#)_:GQWRK0P5T#D>.!.WX7#+
MW4?$; =D5OHM\:@)U)R@%>C,32XY4#Z$.@A>*<;I=\AT*OYFPQ@NT!T5SQ^Q
M3V_@4582$';FA%2:&;*TWU6R])=T_+(TWQ*!&]:F/#Q*PDE(RM-=L=P>;>:Q
MCS[6C'[YP?IC8$L8G1O=BO*=5X82I1A\I$"N'?EITYRM -O7%#2F%5FL)1/8
M!="SZ=AFZ3'6*TZXLGS<5Y&/R-VQP+@9(G$.(ULM)B-><P<XVW+4JI8I"^U5
M&LE7PYJT"CU8 ^67K/8#9%:K2W[M_QT.+/Q[\<&-1(*JW0O+Z^,PN.M^@<-Z
MM("*8;>"R 1TIORY$M"C1ZJ*QM)C5U0U:S8QF>+N+98_;L,,(2_ AXIP/B<>
MV2[XL4_EY=-X^$(IDMWKK#K!['.MB*.]S<#@]=M[335[L#DM1<30/Z)O:)%4
M/@055$].]!5)M23?J:Y(SJJ'J?E'_!T9D>CN"TH\X8$G_X3JYX'\3$-A2ST2
M"X=K@PR-YW>SMTS_QCMMLY)-]G<Y\K#;+,F6M&!E+"BZP$^?T//\5=3*@DRF
M%M8:G4J*+4:^^"EI9A!/>!*,];UUYXK1[5 4]8/ZM<PNLL#?_T1>EV:(5 E"
M@T=K?S#A?</XVH835;*V-/O)-H.@XGZPII7C5?<3@EH)?9_%1I9?,10RJ)O
M(DUJ<"[AIL"O;\'+L+716;F$A16%16+MMX&R%/TA:\TAP,LV!AP^ T_4O*4Z
MJXJ5Y);JH]% MF1OHG>D2@.0.3'/JDZ7% QLG\<I)BP8@,'(-DE#<4QBZ(K)
MDNW;0FS%ZXPB0_#K)MD5^0A,#BK!<#) _19JW_C8>"U?>:CZ;HQIJ (4)[!/
MD?:6*:*HY;W AO>=]1VC&8:3PD&N 6N ?>\P.\'^*A5>_AC+-:*\:9K-SV.;
MJR&=WVD-;(8T6L\IW)KVJ*7.RJ^BTX2?^M__VD#8!!MFT^#97E]ABQ7%Z^OW
M?6TA_$%&JL&\W)9H4&K6;^&*BHF)AT*#!/B5;MY?O\\E=4,BF5!^\HMS=[!:
M\$N&Q#,N'[FI#Q@)5C18BOI >FA6D^BL<#\1V( D8TOJOOP_(U8VJ@E/3MSS
M\@]I-TWITB<5:3)RF8F 3E5$)YMJF SA,CS/GV"2((P:6,P7&RF2U[D&3GPR
MCPU:GOV4@.K;CYFQ>?L7(N+OE_+L=@&3=A?QE\B)TD:A\%.\<X5O+X*C^9QI
MTB(D_23&NW&5^RL)RG?^PM>B<[4E3E+I]+E]1ZGMR4V5$\SZS,B$2V2"XSE3
M)OY$U]R+#0/YTQK?6%1(1H:L&9XS?=]0O"(H]& J[< <?!@:H2D>4'J0ZSPX
MN35?H?W^*X'=J#SD.F<RRY4Z9UJQ.Z/MC?=XM>PUNYTS\6UZU"?TG<WW1LZ=
ML;E=O7*6^X^Y;Q@'4]WVY"^E5_"GF;O,=UZ%7!ICSV S+WDR2.?8DV>,KV^:
MT\2!LUN>UTWSWY27A]S''K_R!R-1V<U;3N=,YLU(UO62;(W^%ZAI+I;(P&H^
MG([V&P;P[CE3!ELPYI<?WWU98\KK01G^1+SO3G0&:@7$G=7BOW8/^UK<!-L1
M&0JYB(@=NOFPO%/0,4ZWE 8REL.Y(DE8MH(IL''HCP/&JE8ARYL0S!$7;K)!
MWG\2X]T9D1D&^WR&1 H]M_SY3Z#Z[\X0^3(2BVL2, (+J@:CX/)[8BKA)"Y@
MG":QQB-\Z&U.GH</)5!W4@?D9VMC_Q:C=K:0L[P$ MJP\1\1!_ISS-=TG=\U
MN?&%:]+YYC.S;Y;]?]1]=U236=<O.J..!6;H4AU!04! I$. &:1H:%)"(+2A
M0T*"! @=QE&D!Q$"A#IT24B0$D)GI JA&$)""46Z=$&:%+W@^WW?NG>-[UW?
M7>N^:WWO82W^8#V<\YQ]]MZ_O<^SBV"6W>#:H@A 7?E1URXL7OR("N1T>1OU
MR\DR9U_GBAR-!J6EHF/0AYA@!#=R--V0# +MX*29HN+UD,SWQ7S:GORO@Z+[
MU+F687H'=#NZ&3O+1D?BXTF#C\*,VGSB&E?[H9P$$[D1JK0^$C.=#RNIL^T-
MX61K$$S^)R''9Z+JSC7(":LL:60W?BSA-72P<N+UPDT+88KJP.!I^5'HJU\@
M@\4TWS<;;%V/>9NS<RIN"M'S@QG8C'#@>D$V*:EBBPR+=<X4YLOQB'<+RHO)
M[8?0M@+DR<W&$YP6'[=T?$\D>4"RHV9WD$)&40=V=T,>V0W<&>5SW;CSYF8I
M$!_>$I*U3>^(CK2L3D3\'L71[F9.O:+OR5J< O0$6H<66_8;2'E+.-VI0D07
MJ[-?#7!_%N1J6Q646=?;USOQJ7.M9Z%TM7>OX _5Z^CX9_^5XW<Q*$094&/$
MY!X=5Z3(#!':.,.-1X?B#<)3;&HG)BT";7X4)!<]T+XUD7L]B6>9*6$VX0^V
M1OOE\X$\.8([!X-YX3">@M?E,^LH9SBG1GIG;HBA3Y$#>*P<2.\36=VWV/=#
MB3-U4.*7FK:W;JK]DU9'I^-?6$+@OP:W"@\!?"IF9\W#>Y47IV0_7_0<Z!+X
M(>[8+?29>;EOD[;!CL_6I^:BYN,'P>PBH'\^DZ#.Q]GY"97%MLQGY9WK%G&5
MJ@K'7;8V/[5CY-2FB+,=KL=YH7!I IMTU)JYLS6W<?7V9,/2<!N!;=C'+[?1
M/[K/-AXYZB65\Z!\7!\E5AX\&\ $';8\R"+5M<EA.Z/G8S7&]^Z43/UL:?Q&
MYS_7O'  [^+W8:LF5:\8&"2< %R4@ ]W_O-J:<637Y+9GI!@3].V2F/6BM9*
M90IO*JNOZ+.Q$NBX>+Y;B"<Y/!%5+[F" 'H[.\;K/0ZLI=R#V5VUMS[CXPW/
M)RT_0]PW"E,HM=W+!&9?LVK %-^ID*>1A_!>^DU9GJNMK]<72OEKDF"*%K/A
MH@4.]MG)F@=W\!4RO_.?W_X6=?X_QZ9_'=_[A!5.2 G<GEDHG&07O1[0I%6]
MDM ?GL"(TQ.JEF:K> 29TH?@_^JIL+DKH+W$!-Y'5IO!Z#+WFXGR53"+AB3L
M!UE(I]J0\< 6'>QS[:"UNV-"B8'2:,+7FEC6,C]#/=?S+ S??(T<N"VYI=F7
MEO')?7.%X6*FV\9![&QU8Z"O^WOR"&%3#RE"#PKZ:_NL.EU_-8$>2@VFF)GK
M2 C!/A]:[0O-]SJNP=Z#A.HENHY&2A+ZFCXP&]*ZF*:TDCH[JY"K:CU(])^G
M2]SI$@D(%^WL$ZH.("(/^#M)Z.M^W46O2LS:R)Y49F$(C_K%CL&710/B+6_B
M$#'  VY)<[]R(+@46^)2#K5>L1:X)H&J+:D0] 4,=<H#WK8-+,(]/TEAF5]8
MQ!$Q.;V;^F[N/Z"#+)7)2FC'!E1X&-GW, &!S>GJV; .UY6?H&:,>_MF9\QY
MP*5A.S9>7+6I(A7 73F^:J6<&*-;_Z5,TN)O,_,ET.UZ0J/3V%F,;Y\;8E%>
M<6&C7YD(4C1Q<V\29!=\V.5V3_!T2S>DYASFBP=NH%A5#>IO7TXNV-$]KOF0
MR=HO^]FA6LF5X&6@ZR)_G5NWB[75LG@B#6A69E1+KZ6;O>WMC/["$J[\PF^\
M92)([57_1$EK^G1^S 8(S"NH)]_%L:$L&^#\L&4O!YF[;XG[X!0H153?IG51
M5/2Y6KUU;F&_Q8$_<E8J=K*37P&JK%:S$,RTW[!-J6Y:R;-DMU /L+K+PJ&@
M+C0C[_U@NAW':M"5TCIV%Z4H+$1(F]<DM,;ML]DQ7Q;)7/= LA.+OII^6E[^
MM5PE"N#+%Z**YW:MXNI 2<6+B:/%/]>87#$>&2OWS6F&J(?$ '"D]UE:PMTU
M>LID!"D$38;9U3$Q3-6:OISHZ(Y"$2Z_.XU,GN2;M<-BSU-IEHS>_L[T%Q,2
M6N_5NU/HU74#]KC,@-M=73K][(;3:S6'&;7.9 &WG_3(#75-LN;Q&!RT#K%Z
M9-'NK*@'$((&BI, ')@+F LIEA*M @KP%K*I>U_0K\_'7HP55SXK'O';J9QG
ME:B=V?>+!'4NNB ]ED?J)JG,&1+CMO&;GK#N)-2.-WP"4=?C*E=@6!RH(C;7
M=0Z$U!=2V%U$7'V065%?4PW5)&6T-@%?3L^0.=N, %4=BJ@"-Y7=N9GLZ&^0
M_'_<=WKG+>7/I0"'+RR,EN.&M:J4J8BUT.'/6C-,?P'L,27U"TOWD22#A_L8
M\(^9^9477(5B-!U"VQ &5][  1$C@QS,M;RAF_NI%^_F-Z?48L02]5[T",(=
M)N]%YY="+%-*&R=*TX>W?*]Y%#0/;@CJO+=N#'=JWB)I=YU6,F=1$HTV5AF^
M7=N\8F!C3'J3<&L6H51TO7-<KZ<S)3+/D\ 5F6=1Y D!$R1A.X$Q@U6F@&O@
MNCD#+> HSK58);S"FQ+YY[R+]4]_H\&_P');F,I<^)D!GR=1+M\KDS[X97CW
MJ*F:K N"-_R^H-+_B+F-$W)]<$^RJR'-?CU'B)LN96(A53 A0',/W,)T"767
M=!;C(@QR)AM,0P*J+$RX:_$=.,GC2_.7?_K]ZZ'YYO1KC/+*G'5Y^_;C.N[U
MF^,83W\VNC]";;)-$;,;W[$.,M?CFEB2 9.+ &#>]RL,TE,-)U/J<"E^IW+(
MY!,^\6V&A@-]\.UR(KT7?&T^/\*@V?W\^K<$_V3HJH_ISB^6COF77_:1BM)?
M7WE"WMW*!RY9V%QO4CO?T%Y\/8T+DP_OJ /'W :DE')'P8.$S)H+2Y87[W<V
M9/2-C%YEDD>SQ.H;3"/EY"@6HM>LU(A<3.J:\6CK?%A"A:Y&76<I&NK*P6&E
M>ZK+SZ16K0E5^:>REM1HNB< JZ8/I_A:7(,9JWMY#?/E_#TR*MDSL7 +@XIY
MO<QS=5S:I=0WYD[-&719\^*;\;LV\N&[D#Y3Y3(0U[!@LD*'Z:JQ4'KZC*M#
MMQN2 7>3-9>#'LN#."GL%C3-7N>1]!REFW='3I<=10@CE;ZPM/<;0(6.?]N)
MPO_N^FI^:LTGV]R@93J-J\ZC3VZ]VJ<:%)!E'UK,CSM\SER^AS$*D;AG@U]B
M[-@I[6HO7./3F09@],;<218ZNP)"X@_KBI:5JAA?6-;H-:J>V1A]A%@(3*G"
M-K\M<V9_TC-VO&#2)[[YM7N/'*5=,:"]?L1[]_V>C4:/Y(%Y,V EM&9"-X(D
ME0<ACM4YK5DBVFFHV&+L?]0PX8/.\Q)HP4.SB'HGIR GYZLYXYJ?%@[_R0G^
M*[M%_=<:_U7P&.@]^NSH</X+RVMIU?U91_:(LH'G/?[K 2\?A!,U'92'R%.E
MLMHW@'_^\ZGJ!Y3#[0K2 ;01/B4M?UT*>$7K"TN,HDV%'3[UT_ZDA&9 ,U8'
M4F1_Y:D;GV$=#9LTDL;KC92"K;PK*8J<D!9=3^"?P"<]@VYT@BF<%GI<AV./
M8M"V[@EG-BSQ>S45R/FZ+FGOOPI>.&&SW*= \;/=3WU4G_GU>YVLS7?!?/F(
MXK_:RVFZ0K'SYJOIZ+F]CU;T7C?W:O!K,H0*R!HFZ:C>1XWX(<N!SW$H_?BQ
M"0>=?)+<QR"\ZFU2[Z33HRH$%N>>(1J7&RN*1FELU<%&>_OX;!N=@^=-#?4!
MG]'6,PGELDFSPV7ZUYMGL#?K=7-%.F65#8._L'BDZ13;$7=<LXYK5A I*1(>
MAM'R!2J#2T!&BAELD*0!'\]?JT<PTS/]=0Q-;ALZ<S*CLBG^8W4@?%)DCYN3
M\PNG1^EK!K/7O$^UQ'WPZ,Q\R?O$Y* + ELAY7A'V_@:T2V?.A-4V^.:._M5
MXJ, R=I(9;X@8Y72MV#J_;)2^*_>$Y();Q./?UO2LJ%)#,'UNUP7O36X'3EG
M^CG[A"0",B-Q86!3O$F=BG6O7C]TB2FLX"SXD6KT/I+SYV\=Y+_B$I/-.:A[
M)DG^1VEC\U]2F)= >*Y.9"VZ,==?V/[Z*Q_!)#9]9$)M36X0WFET.2?[C?]]
MD$?DK26RVNKHI"'!M,O.8G\(=*V$5[6I)G]]?<$S1]*IG ?GOBU5>EOR[.G\
M%T=#U#GG>K?VP]57\C-(WMF8LQP>3XL)G4C:,SN>2 F%(EN"FVT.&.1?KFN6
M^T?*SU-6%NW>Y^7:E&[ENKT\OEC^"(I]^RCGAQ9;?23V6&8]2YYT.NT/E2$/
MLO#(@5@H0MA9^1J;_6\?0Z(\JH3&B@:Z\0K=J6%ASAB=/:4Y@QI]X;#7##K5
M T5E]]N3W.X1)BH0LYGU32.C^AW4T6S2 /1.8M@M&H.GY"T)]H"L#MOO.62O
M3%_KE]]P_*G21O>74XI6VRK,],-[FW5A$Q>?WGS3/\\K">Q!7COCW='VRL8L
M24JJ9X$J@0^3KIDLC6=BM%U-4 "HA&20HF)&9ZF[/HWHOK$6Z_PZD8$+(\B-
MY@C?[PS,E!8U;,(OKLUYK6:4M.;2BS5(=B_?G<8CN<KD#HW(Q#"N*N4P4)8^
M1[SVSF_ERI C='90ON -< =6=4YIF#A!K&3,E5:"3#@LR%E!898D2U*;:F9+
M3A\XJY<^V((LQ>8,B-_0_UZ?2T>[S?5NS5UKZ%VLQ_L1LJ&._O['@2L#@FLN
M3_B^483R9'RJ7&6$/%TQ&@S#,97F'<,M\$*=ME<KW:U=^I\>UWC%&9(S;.-\
M/TH/9J.71\VX9MDD+A',<(,MIG9^- 6:/!>][>IJEOC5KC3$)&7!(Q]W\B.&
M"Q1GK8AW5$%ZC8Z$B<Y_TR_[M[^"8[WP\4%CA>/6YOSV$I>N3<2#>90+U?MZ
M;. G <-9*DR7B &F8I5U0+>.9*3R)99 K+LK5&7E* G#T!WY<>8!O\8\\=9;
M7U\M>8L 5#@&?BX!?'I1"5<^[\4V+TB;T7B,TSC9&M)&7S_,ZZ:4?[1#8:-G
M]]9;#",&7/KZ'GJX?/=G^DJ:"",ALPY@#6N:?#J]6A,L7==0Y@KO$G::2KMZ
M>%D-^+;B[U#QWVOV\-]/!3@A<Z&P:P3M,+VEC='_25YE8GUJ]I/6PJV--J-&
MA\=N1QUA\Y[SS\&G5&;)'*@"'\:M1<Q0U YRJ3<D5D0W*0X]YD<&I<GTQ7?D
MB S\/FJ01W0O\)L\<V86)181NUQV67X4VT?-%!/X?9:WL46\08M6R9IXC7R_
MWM8!J#98#DBG8O28)@W^/=2+11:XA[N4^?6%<FIJA9#4L&2L)]H:VRJL&K=;
M62/5.YF3D"&141PD(LIGJ=HC](4%@TQ[+F 3X>;WP3M$]G9VJ&Z=#'W!2TEI
MD-[ V^G49)%GHM/I\U+N9P62>5.[?C[FM ^=ZW9O)$'V.NRZ^Q@D7U38>AI7
M'B8OSP1K&&@$F W8#=CO[DEAVUZHB*B;L@L5GY-//]7<(\82/AMB\V 1?YG?
M.P HHKJHS&./;*1C;#=1*[ZK( W0(NZ?^]?L58;L>=OY8E))V-6U(\F\<KK_
M98A];H!6P!@SWTTTE7C)<XTN)U03CGU>5[JXY@(/@6':#;?T6<W'XMVK,TJR
M],_+$;+GQ^(C0#-K]QH_?'X-ZU5TS1]KY;Z>'1%IQ5?A%I@"&<P131I_??U@
MAQ\N&6S!U'$QPYC56_)-L"(7; +#.14M%=PE,V#8X^ 2?NAF#5(')/$D1,$F
M*/N[=UM#T_9FZ;CH1'KQ'5PNKS> ]@-G<N57-^%BVZ$&H+IX=H8^B_ZD2.GJ
M#V3Z(H22[CIHSX_O:-J(P+OX_,O9PRM$M^QW8W8[3E2JCZ/96?7Z.IU!CIW'
MA<<F%@G:0Z%Z;DH?;4M<[14<P8#M9*7IY5P;FOAU9+BZK+KJ>SP?>FY6D$J]
M__,[N[??9)A_L[L\-HN@KJT=P/UI>W^9-K\RUJ+:][L%##]TO9B?!%90@JMG
MZQDT@_Z^NZ/B>P-_+)>1&;UOQ*,<V #,-EY<NA8"LYR9<\94;6*V'#G?T39P
M;>[+LV\6E,F@0[P^T2-+7KGQDBKJT'.O>I:<Q@8*G/_CZSW_&7$M]\O1+RF[
MJ-8%86MHP:Z=97N"-]XNI769EOGCS1JE=8>PIS-)>L>PJZWN^;Q[&.#@9]QV
M?J:1)W]P![WY@K3W?9*FT!1;<Y'\N_8=7'S8LMY.1%&HC-L" 06X;'].R#/Q
MDG.%X?1&QN+:=YL:$*VT)/(S=7BA[85DRU*^>WA'Q<) &Q/^0@'$ZZ>%IL:@
M^DFK-$3C?APN- C,9Z$=8EU:,2X$7JG7'T(8J\97;X<H@.*I&H3JCSKZ4M^%
M5[>40BNRR5>M>CLU8F==[28POKT#HD\N^,V<;FWISGB#R%]W5QW4VQ'(VW66
M?,]'*\N@F^S^"!#Q.''<>0*N_,-*D:=%$T>HWKC)<2E@ T).)X'BJ-P0(K;8
M.57L3OJZQNV)$R="><V8UP,G&3.7GN44@E=127[C%8%I]!Y2_\(B4(AR]@K5
M9AU<@<?.VT';,&WF-?$# OD,4FUY]RIQZJX0%VY/^C8U8N^E9;:-25T15+F2
M5P4^+,=),6&59Q8[A<#XBMS7EH/#RG::+Z?H]")!KRU0N)AG'1D+?WV+3?Z;
MO3T>-(PF?]J96Z0JB6Z]'E3827NOZJT.?I'49'N <.\SGQ?3OK?TGTF<W^F%
M]@G'=Z5-W1F69O!Y0BXXW8U\8P,G6]^];7;UZ:#%O$=&\U&7S;T')?7F."-.
M.BBO<>(E=G@K\-&Q$_HS(RUP052[;_;U!^X]#)Y'P_Z74V'PF^P/V/[<> J^
M G/]33]_8;&*2.S:V@Y8,5)_O,_UZ>!PJ&'P$7K\Y-EKFT @1Q'! F@.+ 6"
M/%**)$H@I:!RH%E*D8;BV>IK=_KU-7HF7382^L<W[+MD5<N8;&>KU6?T]!K:
MS.+-+Z'N<G[F%/XT K_2'R:] RSJ\0\#@4# 2IN6$CU,P4AWKR/R5@R^'!P)
M1KK_L! -AH<\S#8!MV3%=(X/1VH 0_E#*JX. "@&?92O7AIG^M;Y:2FU'Q-@
M<RA7SP]*N3?>M=9#\'+HT=J%[.B#.2>>_1T[R9H(Z>PO+ ,W0)?R773MFN.*
M>%[_L+%.4CTV6%^1_\+"*RW/.> [8=*T6]&M(6,Q4#NFX.*WT2BK?Y35[BS(
M..X-V8 #*JAS >/OLM]\ZY3_V?@?%5/'<!!U*;7W%'0D<$*H7!-0.T\@(\8H
M\&.-J:YD]><U=0S0OWR7$25Q8M0Q^<J/(CIJEI7E#].DO[ D[X/*)*4._@/H
M59+6SL(#Q_8H+9+MGO+T]4R\TTI3T)E4.YR8.L]PT/'-B7&@#<2^\)KI7S!A
M[8/ L)LWB[ZPS(K%K@5<D%)-F,[?%6;-]!_6J'VO[\U?@>X$&*N'5YDZ_X)C
M:'*OI)@*E2X-P"X]RND7]/@/?+I@ <"0QG:5L?J"SM*Y'!/1MEL3,;XH@NFR
MKA[OD[D F#I=UR+#O+V'_4R&;+GET!HWT+*T2(JRD>.\?$C&YOK;FNN$+.>+
M']76PP<HQ\Z!R,UUCPQ\;HAA;XC*;2VIF>"_4?6<M<#&(LTO[/:J=RKO'V_G
M-,X/9!1T1WH.!,,WU!TPMXU=Y7[Y?_7H/#ZUS9=-YT".RNH!:Q!"U\5*)T/J
MCRH4=%/FHE6Q<&J2Y<L2P?SD$((E.AL'C<T_$*VO7E+6'IH\\>CD.FSI,S20
M0U[_ANM(5<,HK@0=7=*)RX@ ULVT_?D5Q+.]JTI=">64]="-,\\B))1WWS29
M=C:$/K!PZOACMAE 3"D*]6.T39N70_:-"@[5?@HH4SN ')D?U 6+CN(B@-!Q
M?C4U+OK!\$JN4_HQVZ:@5,VW>3HAK=J9,D6=?-&FDA0S$7JE*O!^8OJJGC.^
M,#TXEZ>>;OG21#(./O*^MPH/5>=!+ZL*4Z33)$8V=.]_+E=(+'.'T8E='58?
M/!;K+. G1[ 'C9G1;_C"@CMV$-=+@X8K[44ZF&%'9T%"/6X_-8GI:)^NR3&W
MBPB,N\\CG=U[5#-J FE1%3>%GNN&6]A8PD(V%U?C,Z1Y=15JU@-0>9 "S=BB
M3HQWK:+]RP :9W GO1XT1B48]X3?771#F9I Y7#..=@98'BY'S&!5S&DHJ;\
M[)23TK!&76MZ#K0@0=*:?22U;=/U3F]ZI342D#XH<*_WON.<!#D]+(VC>,*5
M0;<HE2PR*V14$]38_0S;9P7$.%R^MBP E7U";UI_%OQX ;&43A5*?$8*.BIG
M_%@'(G"0B Y@F9$V(\!*N<9-U/>U:_GW\ 2NN09?W-)@]>WP]>6D,D\>WV0M
M(>K[X>$25[LIN"#MTDXCO\N2&FF\4+]]=K"@U')D/<1Z,<9CNL'SE/7>#DB%
M6TM%"0[00Y16? ED>Q=Y4-GNA.4:).I O<^E+>91_0#NX6QL7)1]P>MF^JV2
MD%@2E6M;IKI<JXD?/,6O.$Z20SNE+S%7:*_9&?&>>WV[:]!<O^7=*D5C'LF<
MR#!@K5MP5:1=T7/66B8ACY$:!?&_Z$,6 /$P$X@I9CR1Q23@V^IA@I2)K@?8
MF#6Y]96MNO/CSW]]FVG^O:[FSIR1U6"S![\XZFO^K7:"VAU,2>@;5T2H,;V+
M*&%MBFY0</5=O9_0<Z;=?%?TUB0@EM4:/#V4TJ49RZ<?:P_T)^H5E=?U^++Z
MN0=NFZ^+UDW[&IG_H!ZFZ-#H'UQFDX4<#?5 /\!/# 2\7C7GF%D:_6K3AI7!
M!)O=^(2>L'=*ORBWEC$/)CFG[V1PW)ICDK;V5.-<BT?9+YF9G9:.@Q<O008Q
MD*4E31G;_+YZXD1Z\81"[VD_<#UYC9=A3+(=,V6,S*DLF1Y]ZC^)DJ7D XTZ
M,V5_VF\HV68M3K+#1CJM2DG7Z^X93?DR9XE3OG&##N:&S4?66,5.(Y' :MSH
M'\^L/Z]X%DG9DTK!^.6 JIW92/] N6Y#KV* 57S09HYB+'5[68&@Q-"+E\O/
MO10$S2:9H-S9O$1C"/;>MB=./![!X56&I'CMM;G Q&#DG5AK6'NV^/6VW_I1
M:XDZ^1+Z]@&WVPL'?J=H=,-]<] D_P_)--=ZM?()-7H#II\/UL+K(,9MZ*BY
M6R865#$/(Y<;'-+TZA#177+>L[?F.W.N[@W-"F6I<C-2N<_\?D*^[W%AF?80
MLXFPL5#Y'J)=12675BU)TE4S]J9R@Y^')2$QOFTSM<0N>-[-Z1Q# ?4R=4RW
M?F:K%*0*2?(N@XL7(1A54"7:9H ZYXG!6MJ)S0EVCA$[:**K*4X,RO3W--]%
M]WH1U7TB307I)ORV[88IWV+T*T8MFDYD$ZI2YZ=K07>WA+/=^ZGS]W@UWH,;
MZ>&&N&[IL]5?WS6S":N5:V\<QNFD=5M(U,0Z_$GJ1U*0A !]H'@AE*YIYG)#
M,_7W_YA3]<FB8JI<U">/K1<A> 3:SB=+GS-V\$BR[OI1F\MT[>#;-N,686)M
MNTUF.;X&9\;OB3"5RI?,V&9F0[V]Q2S39W"X1HAD+O5)YN1*A7N KZ+)%9J1
MIJ)?UQ+8ULKB:ZD>SI;=P+*!L:-&I_Y@/#Y(>'64G%YM+N6IX/C,IRS( @XE
MF-\4KG)$-BTM 25)^M-&]^49K#Z6'_KDUKU,A3X=2U0]>IGA=Q471E]>;+J6
M-_%=%.KT[1=;,M#'#@+[O&]"/Y]KFUS-67G60'Q4D@F24%0U[GG.$&!S)==7
M&[E;.=H5VG$.$SBB)<'0>A3^SXG3I*%U!UD+9ZC4$KV;6M#:&E3L)+%6K=Z7
M<]BBT^M0_*A.P4]B!?QN=3$:FS-(_J,#_S6Z'Q&1-L#KYLN9QA^A3\<".V7Y
MSLH>\KA 93!D6#Q(\WA^G:%M$:L=/H^(VP@%P^QCLA5C_4 PG6&C1OY"CP.C
MU?6!R-A'!3GU->:CK:@!!0/O/,\3%*NIM EG@W8V0R688)22/J"5HNY??RYG
MZBP-&LG#A)%:XQ US#]?C7L\_%G;D3VO-88O)>_EIE.7YRWXQ2*.?Z2<<S?C
M<,128AT6Y\Z'G<;F*$879W@42Q2+2$2WBKZX5OWIGU2#^"<*ZG_:1]/G6UR?
MB]4"WJ5.'51TH[7"O[#4E/NO?7JT$B!Z&#MLMI@D\87EN8CO/^:]?F^-?RM8
M\\U<ZKG.<53P#:O:3PE-_A1/(8,/XZ/J(M*XY6T^[B)H>WGWD0PWD2"A :7L
M\1E)Y;_$F7GL!!0;VQC5E=K&R[A)MN847>W4J"\F]NH A7<>E^HY/RPP(6N>
MB_7!E]MS1D&SU'WOH'VNUW[%A&NCF8,FMC41(G6<:LKW5=#<3D,J'P?D)\<S
MB?# Q-0Y=)O/ QQ_FAO9T7)W'"2ENP\V'@O!$)\ZKTBI<\U7'OC+3X-MQW,Z
MY*CH5;JFY(,=_^2,*M7X8ULN4RY]M](E$Z0$>MGQ>QW,WS3#&4N]PT_;$]<,
MU 7F(]]5J_[X:]7"RRU'B.]D9DC_\+P!)];P%-;^7WS L^KA@S*S[FPS8E4T
MJEN@<O8 6=0DB;-];6=<V0IBWVB_,DUM)PQ84F1'MIHDS#B':520[H/+]'YC
M;^BP;[+PN4P5E"3Q4>)6!^("@PTA[6FYE:0IM%)[.";*]X5%8?!IGD+>UVN:
M"OGNQ.]\'8*@/K$3-S$D]9^[*LNVS-)F3$W(V8N?[,T]@J-MT#>KPTULIXLT
MLDLAYKK;ZV9XR%XS^'-%(S:C8(P&4MBO-C<\E)/XZ.<5>GY]OC07#E($S8)
MIJN&:L]\V;YYUWWFH[=RG+VZ>_T<;_<FW-) J,9_9M,O8]DJ$DYBBC0H36O:
MK!!^ZK7RN6J#EFE^FJ?X?Q:/1_-A1W_Z1*R'4Y6ETF,E8K Y]]%\ED\&-,WL
M@A)[FDA-"ZJJ2K=C/S?8MY#ZP?JW(;-")DU7X55T&E"137M-CB;CQ&Y,M[UY
M'TDR2RVR[/: V/%K8F"B5_V62O@75%9.T"[ Q5='NP$6C('4E 2HJVQ+XB\Y
M!;Y,2.GR]?K82V)ADGXYV<8;2!IXGEGN_DXM\>SCC537RKL482%T.\CB&<BW
MQ?;J[VT?A8'@9<;[<$7[%SN>8^THQDS]3<72Q,P^ZVY7XFG3"_C7IA?"&USZ
M@DU;=;"ZWKY&0G3G3L],^FKO]/C\7&1V8\1@;9K@=O$K:JV\O[%<V9T530GO
MY[-&56++VS]L$P:_L#R"X^@X.Z1Z0^) FL4AYL&+><_WI1#Y3\QZ-&H]^ M+
MSP01FN,5***:?R=Z(1+]9F[-\Y-ZD)26."*Z6/7#-'81V^F>8_U[FVN![QK_
MIF;FY7N_C>,[I?U")*AIEA6&._MKDI6NRXV,=TR>3R\L<W;J)T6SM8031&**
M?NI;ML&#.*:T]78"3@Q\+7L,*ESRR*]TA2;@/&6>&/=3(OD+B\%^: )_=NT^
M4YZ*+[58W82V=6*U1["F7QG!2GVNE +<RGP:: 'X8WZ%*:LKG:V>#=ICK'[:
MO/V3<_GWW2Z!%*3!Y/$T)9XR*&B&%YN_Y%1_( 7\17VQ\'B8  ;5MDE'S$K,
MQ;NWHNE6TX*F=[+)6A:' WKY,L:J<==XP;>GA:_L+K5Y"[;7SR&-7WY;X?Y[
M9::<^7/2S;8ZL4U&:$V#S.9\Q3WMAXM_^0/ 0@7>!B.?XLQ^MB[6UX7F6AE+
MG>,H3R2-QS;PC\QPX"0>*#-)A?U599 >PU =$^-%L^RJ66.N+HV'U V>4GZ]
MY !%SLV/0OQJ.UZ)/'*XH'P0^?[S(_(41F*OL.?%QQ<WNI_/3(;?VY V!AQN
MJ!2IK/37XDJ!(&C1:469H8H*=O:G7M'@.BRV$]7;<BKV9Z8VW"G1F(G0DEHD
M[ZT:^M&%A#OI]6-28G?MG@0PK:4X?YN12P8G33?8FHW%I,42BD C5>ED7'6^
M71'LM?=GPHZTC,*A^>8G;&N0T[BC8B M$K"IB%3/;A]LKBOM#U\-U;.70S\@
M^L2&6G42/=]OE8AH2V2=K9M2:A8WC\X:'=T/>T$SL*\9F =[06L*7A7#J16W
M^VV[[U:L!'L,\D%EKB57:#(H%N:QAO?+I/V7IQWW3$"'4[JDX+HN>80F6[,]
M!N#+*+E4DN/*LF&<MF=9@:2S/[.?VWX_]Y[>(63=J<[.YBDDFGVRT_,>L\4?
M*"JCC3N(W59AG\9$JP6EL@R GY;5FP;F;(/5WBK2IOM>K"[YUJO[& 2&JDAP
M!B)3CL2$"Y)(I2Z(.>^C[#&QG/9-$S=LJW,.7T8X:CT[FY1=M96Z$K/:)8@2
MDXM9P&1GM#@[-3RQ_2T3?+Y69"5JU=;X-7;6G#88&SZ09"-J=SUP;6<]4;K8
MA?IC)1%]=\LB<C#6R!,XD$&QZUY N'IW\A*&%7I]VZ>UCI!E"!LYF'):@:*;
M#PD9C1//<.9M  B_^SNO_2L^?O\P?_@@,U5)O,/.J,BIYUY 4TN->42:0#/)
M9A_UJK(;XU<$,?*TV.FIC!,9)%F6OA\LU6$T+W&(X^.S)NB(13? 9:57>_3^
M@2V:F=9.9&8<Q+4LRR0*M:ZY&\W\[%ET2=O]WNE.SCAU):.^7VC8&IZ9Q]T3
MOM*P+AXQX$)L"IE3?O4QOD"!U-Q,J!K^PB+:U*$=+%[R[.D!Z'@'G/VA92=A
MK@\LR#7,M9]".T6V/;^R,(> RJ$!5HL^>T5SBQ!.MLPL6L&IWH!H%"?TSUWY
M,<$V[+%DM;%1BJN-]\W8V%W0;2>>3I_;^IT$#5J945*:'5W'?VTC&F.)(;!#
M@,($I _HJ#_/(@3B239ISL'8]2=H#'FN\*I2*]+>F&N.X?"Y(4+\H;B&Z"<O
MQB1/:78Q,D0Q%*H;98O( 3M(OS>B:396O'S$9R)2^J)?-%;RYJ%2)KL?X6$#
M2A?SX#&?7=B@PRLI*M 28W%O1=1LW[ O6S+F YSV ;.#&S5!2'2&<!=%@#,"
M[LF&6! !DHOOEI9I-<0A^E.4)Y K_L7_I:G=-\;/9Q:'CPT#>%]+_[KC')\\
M.1,!MUX9WYH_[]VRQSU9U"(BZ*U^X<;)@ZP5[_0WJ*T;,Q1TA.U5']QPRW?]
M7U@D0O;]E3*NS5IK+1 B.#"9'9Y6?_UM#= *)7>R(;FE76;IX$VW@7+A9^[4
MS_9329<F<)_%L1_W '4PZM?2 M]5"FOG#G49'W$PO[!8JLIU;4SMTM>;6F2$
M$',1/I!EVZV;6EO?&__VE;<??J)0RJ2>9CWJ)Q?;OJR247I#JH2-6^\UBE>%
M)08D2J;7W&TU6S%A2"5VV>*?)%@2]4@=+P[,<"2F77-4X22#Q']7R2?6S8=8
M3L_7(#GDJT+3T4IX"-WK_5A8$+/6R/2JN<D*6).A9;AES@D ,G;/!Z7";R_*
MCJI.S.C]FN&.O;DHW>.-/.0X[C^,R#GN690VJDZYVRJ$N6Z7H)12/:AV_2+0
M'&C6-;\*Z1DID'9*+^ZK=\IP?B%R)S*H)7S=;2<H[N-@DYTYR)PBKT)Y(UQ^
M*HI6^/DSG?JUY->L^O&3\,][BP+"ZLQ<+4>O?8[TEM6KKVZ.K56-F?WT$2QP
MGIN-CG@1N8.[H8M,V?8KDF+L07UP,#*1JC)"WO1#W>KB0WOBB^3Z)/;\%99H
M?@:6*_&RMOL]#8J.3U%..?$F #4_7YF_5Y'E=O%NR36B;E=5-%O97[[W?%M
M$YHHQEVBL41N7 NWJ%!-Z6#Y?W23?V9?S.NI417M6TWFZ5R_E5U>NX&PS.\:
MCU\6BM22>**XQ!3;I9M. >L;\\;&&EZ0E%9#U&7$4G!T1O!XF*3?&D<F6?1*
MIU,X1Y 3-OY6(F_K*OV6<IBBRI!B!L$FR\MU-D]PQSG!=^)#"%=;_*+3W"\G
MZF/7AW)N6.J-EQ4I5G+1X:Y-'_&UV].ISS<HA 5?GA4_BV"I]3F#%T_-/X_E
M\LJ80B? "&,N<TYY0!)[?/,:$[?6 S>].FS1?AIT#7%_N3-?9;J<[8XKH^O"
M^6D.TR/G*HS(>L]KKX:K([IF5/5H0%-A49YM?,F)VX:)4$['*V<T9)0S)^I
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
M65\40ZNL=MGRT^6YE9 TA<U1S>'#3O_Z:?Q_L?>>46UE2=LHW>ZVV[DQP=B
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
MV0ATHB+#VEZ]DD;\8.+LB4H& X55B#?QC#T9!IGME6W)/(1)C1\/YJ*.>.Q
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
MP7TH5S5BO"XK6;&%EW$3\J!F-D/V(8GC5LCUN_"TKM]N.G30+KT:J>MWB!'
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
M%%?J.(P^N96S]E.TI"["[?JM5S'O+=:\W7+21RHBC40N0#AK*W/6/.1V.W2
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
MCB)@O>/M6.F=";>#]+LYURYPZ((JL3MAWPT,.8-#1TT?X][@ELM!K( .H\M
M6&E4+N6,:2^=(G7=9S 44R=DJ^#T6\9R#RO=_.?<V5V)[A[ Y1@X([?!87C6
M*+1;"HI>!.?4VE0J96<1:6 4#F.V-ML%+M6E$:NQ1DOW<#&<Z[2[7<.QXA"D
M"%*!7^"';8Z>0R8\BSI[WU .BG*!S\"S':9[0:>[W&2K7EHZ$+U/@AMPS,\C
MSN(9-^*-;C!ZEJ]$%0X=$2M-\+&S>_1X06-Z^D6>U_R)=^<T511<JP;1*3)!
MIXE4I'7OX'\G4NG9DK-M 5DJW(9_3*7.ROM,7)1:8WZ?SO[VR9JK-YVS-\'.
M/-CAMY;G+Q,N<*"Z'%^2Z@;=(L?!7[R>OH^E&Q1C@FY+YX-7+,N7.\L9\*Q4
M_>[NM:_HE4_0L'F<EBRF5:O.EE\@2<!>QX7OZ9?0OXT2?_"RD)<2$6/<W0 >
M7H%_ENX9\A93BT"@)H)HNSRM,KJF#$5T:KE^<1"-N#VK5&=\7M &=+.<7J<R
M?,RR#=GFKUT%LM)2GC$OZ@U#03B^H[I#>$'P&H#Z4C_*XOII#]\=A,3L.EOK
M>I:_CY@&W;<:YO%,O&HV71VZ152$\0]H?:!=WRF9'(7%/6PK+!\<PP&-'E6I
M-J84E*J?'8\37AEU1-.F+M4XM10GB>YXC7ZNYU#W8A!-5WEO9<D)\[19![%U
M2>]'K02H9#H,3\7Y??IGQ?L_AV[VRIG@GY6)AHF3U1)JMGCMH2'+M(S#M$6*
M&,(1C+O\J[YN]^Q@#;HL:'KP^FV+-^FFFAVOA<)M2VK$*$3&90%F7='B=;LC
M5;!D_"."*DUER0XD35(NYP[;LBE=2$S$J?%E9 MG1FZ/#C?G!F02?G06FOYJ
MJJ^]W78/B+)(CX.3>6KH-J J/.#Q(A\D-C._JV@VOW>(8"G8\++VM?@VM;5:
M.Q1%O2+D1DH%$>H^QH3:N8S>%'].*W8]<.AI=2W(94R9M<M()8?:.#\9]'E2
MSRTPN;P= $4IL49(*F^I0Z;_BRF5[]6<*WX,@[^H,L(3'(=:/FM5.>>1T6\3
MI3JNJI3HV)+2N6"F<LO,R2P">1*SIYJGJI:B4*+1\_#H2:^HZ8Q/Z60SBA5
MRS@.P*7OW8I6F2OF<N=1G7DUT7<?)S!V#WH'-O<K.1$HCT;6=4"T=B[ F1?\
MCEDLWI#C?8P18D2@_M#J;2OV5),T/?6!!>HF6F&^I1@H#^1);>LD9K0I(#GH
MEA27?C\]@LAV"C5.>=-P)#0NN??:P!EWZLG5G[GKK$)(?VY07RZG>D[2LW+4
M.7U8:A\0Y66 $]S7I!6IN6;1M0)JNEIU%:Y!= O>;#HQW,Q00#"(6RD%E]=I
MV3$>ZV95X)S+\&Q7]FR_TR(LG%F?2(;T/,F6H)>+Q@]>MPT0ACN]2J$_R=T=
M")KR>=I?>I]M.,,O1K(2VQ@3I!P\<-:!X ;7%91QF7%.PI%21DI2<8*I^68%
MR6"3JCGO=&^%>KC26@0=2 :,Y'+-GGR?+.6ZT(+%/.1LOU)X*7F]'XX_/V>_
MP9'T!QW\-S?.__=*J46[^<+%O2%3]4:)7P^T2JI4]6:B[?NU^AH]3^=T7@U5
M@F26F87,K^[.T.(8P3T\;\J6"2VE'X=4=9)+[0!_<1WM% ?/H&PSM@.<,F4K
MI8;U:=YS[V;$![V7UDS9 $N>.LI+#P&1N3V.2[V,ZIF06O)M9TN#3KR0=GV+
M T2*6*JJ]@6Z93'XBAA^MF5QW]U/K]1[<T\T,_\#!D5T?N<R5B%E$9 %-F +
M6F52XZ1U;&6!H%V[)*NQU-H;75^LJ- 8V2:3;-'RX&#GX@-*=ZK<C8#0=L.?
MGBVT^%ZIK'@F621YHW[E+VFIWF2IP2G^E*)NK$2MN=;Z^HSUBM<ES(AF;#''
MPZ7*T>?16G6YV)+%G49N-1AJ+EI>I!BM[QI_L-9=1%9Z1-E$VYPY62E9VY5E
M@#04K#=(OH#[ 13RX]\>XM4I?J5K0V'WD#>2.?4D=))O:CP/C+JD'"&[<;5R
MTHQ>5C>"2A4T0YEETE*+-;:%;+WBDJ]V1&8TPUI1)4.U+S&A;WT:+OB'.D[<
M2#.*U%M3*IG#V($(-&?>38@D5>O+6_0@^CG69K_T@+T:'MR7T45O,OK>UQ0$
MXP_7K7(4-XC9&LJ]*989G/Q@K;BJ]>1Z>-]NA\,T O@R>OB>!FEXP>E!O8Y,
M/W$J3'8J%FR[5))XH(OY02/)D8E\,\HQ2*0*GD>8%V5;'[,X-/+Y0PFLL</U
M6F&]&D1(!<.R]<G8A;LYB;!1WV!>M4WAQI_/-_R#POTO!D.=X?=B+JSUWL^]
M16?H+9C%G<>N#A3%]UXKZ2SKGEX644DI"/D>'X  'XU?*&4N+((NSQ ^9[W/
M1LEC!V_=VPQ7;W&?X3N7[R"2EX$,KDA8\/BYT/V7?YP)_UDQT;_/5/9-!,R&
MNW:+\&81-A8W$"SNGO^P+'O*:C)0>78?A?!OS_.O[LKAF"[U0YG3(\% ZVJ,
MV + >R0M/WE3;P?C!T5EK&A^:NEVWKTTCK# ^6"T $O="G[U![^%-&ZW .PG
MAM(<\M=OJ*SRSY5Y[Z=D&3@,8FV+)@,[*^D"#YSG"PKIB>Z(YWG>1:(X8%!(
MVA%T]U$DT>KZ<CN';YNJC,J-]EPOG\#1]H]5Q@#'Z"7+7$71;&5PG?%KZ:<3
M-G=#<\9 +N82@;=^Z_ J?VC;)[H_7Z&A$7#KH^--43S4;"J]*S;;??=)16E_
M]6O_L@X)T\('BPC!<U[(H.;^*A_.C4UJ6KURV$ALL"17NWNV0+RE.:)6$6DN
M-*N-\N&<BAD99,";@X%VRH\_E4->SV1<T?)K!63;_=3B7<^.4"?:*1CD3CQM
M&G'D3T$56F*N/UES:@Y+P8B-3#EC=?N;?BOV=]E";T]N19>64XUC@?JMK=M"
MLGJ1]2[+,<DN6S+&,#B=0[.UW5'857EA_J^P3&S[ZX_G( W-DTLA>DH-M*F&
MZN_%Y;6]-]L'EGO%2#G1BYX\1^H, Y 0D#;Z#3/T/4F>V</ 8!_ZUR1E(IY:
M;7Z<>DA5Y23)V_MP48T$98)12J;R[9QLK#S7LG?4(#D0@R]B&_&P-G9J%U!U
MMIRAS=;+!FBYTLGC@_F#IJ$%0@_VW!,0.7'KS9_!/*]_']XP"WR 45@U(,Y!
MUQ%1W<C_ >,$N,JW1M3+6+$*CO;0[]\MQQGJO&FK<KPQIO+MY9ZIJ.;:VQ_6
M/* 17A OD.MK;XA,]HP+HN)*><-+Q9K^_C7 #@#F[2\Q_1PYZY+IA83#(U%V
M,5Q3+2_2/..R[S7$-6"61NLM1A;QJ:@R412_D'-[@@>GLG)B[/(G0SFM7=9
M'^99-WS]*X[D53C547G^.A&=];!^A$]O27;R3GO[V[0'!ZIS[DD1_M7P1*'"
M"E^L-UKW[DL?^D:#!3Q3I#R+_;.^L2';*!IA9F3[#&"/%_Y+ER8(R&&#?B54
M5Q$_HW+344E2HO9IW08+]<NFOAYX@BN^D?2[251$W(3\3!YGA5;!X[2%Q>TL
M'OD'8*RMB&&U>RI&1".Y*:,IDR#G(W.R,GTFF\H8P;S2@7;W[<3=Q1WF"T9+
M)I'\&2O:/VX+_^MZ1=9KVV]V@[+*=3!?K")'N;UOB3^$.'G*<?B:)"<R\A_%
ME*\%1AN8U&3C[2A%HWG/S$QXM7K.I,PC#Z\-HG,$\MUGJX)D!^/J0R/SKI0S
M6DW9]F5T;HIMO4!MED/ZE@T[0Y1RX-N)(U&9Q55&_&)%!;&G]N9;^UL]?*SA
M CCW=[.<%M#/JW1KS1P?=$XJ-VY^A,E%0 3Z+5[L_+_8>^^@-I!E79S-ZX2-
M,<9$+\: R2MR9M<&@XE+$$&D!8%  @E$SNRN309A@LB(-4E(0L($D8--SAB$
MR#DG$2UR>+;O/??<#>]7YU?U7M4]56\*]-? 3/>$[AY]_346J-&U[_0H#&^4
M;W2L.HS&6_%<,IC55#9#B&MWL?,T7R_Z>MS7RC3)N,;E3R"&W[HMJ:3V<)\W
MN3CF.1TO_-BVH2NOVC^^W?SL%S_]WY$D0^0*?%6DN!DQ5KJS$8L2?=LBV.];
M>K=.,5D@H7P\2$PUUN&6;?]C94%0[H!0OA%HL/K$.G@YI1#4/WXP3(AL3I83
MB@O2Z?$>5< \G<Y_61M?2T,8?,(U*^-S!,J+C&2:2Y5]TAQ2O[:%^_<FV[+Q
M;=_NI-VD"OF/A;0C#.&L$8PXLB"9Q-?$$8%/!.5;U4-!E$'S:%GBLLA :IFR
M,)#"8J14 HC11UJZFE>GU .C2T+'A=(A\OP"5U ;/9BXCPZR5WNG47+2?+_L
M]X5^7W4/>170GRCX*!"V7Q7>XIM9T;"^DM"QFSP)"5KL,6!+R9/+&Y2N<&GU
M>C^,7CSL?W9*42?!V^0S[K/IB\QQLRC7()ODEGF&MH)QAY R-<M,B<,+,9)F
MV\?'X[#I1VEF2C]<^3OZW7\7G,XE Z/<A"YQQ"0L'7H5V<X)O#4!ST$;#I/Q
MY5JW7E"(SC;JC^2\-:Z\K?!EJ3O.WEO:<MQGA="$X:W'-5OM@NS;!A(U^!@
M:9=UZ6GEI%UYHW>OQ$39OJNS5OTX9S6094V-/ZDDHRRO+39WO.L_"+#ZZBT!
MV^"K 5K'=>E%ZR?DGO_@RS(8POX6]'[!%-Z?&/PQ/?2+X9_-GFJ72<:H6MDF
MCQ2S>?LECKX^@PPUF6 1K)NH%?8!6$0ZSS6@DE_IN_3AI&*X\,CI3>%#VE*1
M:6J]'*A2AVJ\I_94<E/9Q;PZK?ZI=0_8NR8G%66>UG07B;2(JZID.=K'O;_[
M79BPR_!1;$._S&RS]<W&8^'S0Y':1T$U@VB=HNQ'&6(!2>\-KL8;#R;I"FJ9
MQ!K]5(N'L7H<UI.[EMT645>AA^4M&E"P5$\H49+'F==Y?"*'E]M\#D^:7%"N
M>)-Z?><_U?QM6X!FH'Z!.<$+*UX2#>1L@'46;8AF\"MJ&8?3MX!(=ST.S_25
M0^9K=_OXZIFDL#5&::P@NI9R3\KZ"O!(A#KU8/.(%8S5L$[=R9%?QUXYC%@9
M9DS9J7;V)U;MT/0?-Q"-9OOK"8Z-3V)2F3[9!1WML;JE?/<L9&F57])DG79#
M^<N+=]3>9T':?I/,?%5EK#*E3^ (;VEF]IX"C2PM/N5NJ^/QBR_]']PW&]=_
M"X&O'^2^J>6Z>C+PL;YV9%S %3#U +=3'9"N.[9#._+T@@0^H@$!*B>&0;P/
M_UQQ\/]?2/(9C5RN]/5"]ES%.<ZO ]#KJLA+5NO=NVXRP;X;;[:+DQB';/B4
M@QRJ>@(RNSV!N,42H"'I "AX"'RUD);9*N^_WD71-4\M\ <8SS$K&4BVQ@E/
MB-\5:E27Q^$SZZA<@@6 5)1\Q$)SO+R8O!^+'WQ^6,="\;#LT6*F=B]^) $\
MIA* $0KF\_O5*Z+GU&MZQ'YDTTZ.-MZM\O!%5;.'D1L4+H8&FEI'\7!I!,NB
M:%ZC;9GE%$EF7:DY8QV7U+3B? "@/>Q*MOXD<9JL+KM# # S :2!L9+,%?P/
M,#$Z^G?E:N\7TY.KAXXV731,?S9#5+?F>!:Y^'S=YC)*1*,]UTR974J:GS.W
MV9PO45E A#6BLU%<#\2#K3;11]J]-L41A2_ ;?5T$TN2NY?@K47D.Q9D3N,6
M(ZZ.@.=O-_^IR*M3=<->-72;U#B1W?2VO*>D +N-UW854:0BO-AP^!>.$A5"
M-9ZY7@46E!*5N7Q#(C:?>3!9TJM,%32UF3^);!HRF =KG #W_?8N&8 C^R8[
M3?R;U(4YFY/,8UG:IZ0$UL@ _YJ;B377/ 272JY9TC+O\]<#KX)@![)7+QFN
M[>5P&4<-&*N=>77J"&-MW)>"6,Z^;C3I"@K1Z;$__^#P&'&E1:[VP]R2@U,R
M3E#Y8-E6!$U2.<;[$,SR>T_=4%AZ/-?PC.W!NWUQB?(:2J]"NF@E",EBR EO
M$4)KX4"#Y<4@EF0[.S<,2WQD9 SXU_.;;_ZP[TC9??HGJ7ME<P@^.OAY,H?'
M)4-%:;U67<W+NP>7#$A(S?OC.]4O/4EN?_BKSZ#B' #]#A6%5:7[34_NQZ>;
MFMAAOH ZW"@[5GQN1N2^S<36GIM_XR1;RX!,O).OW.NLAQ9FS/>9HW,<7C)8
MT[U\8&GFNBHC;^Q%S,^UI8PF"WC28_A__N.1^)^5)^C]I,/H)'5MYC>+D/5V
M?KGSTXOQ^I'*I6;B9-R6L)4V1@U[\4-DSW^J)W^R;5:<O;HUO#H.4?= 8<_,
MS3(RDB:"K$K.0H>2\,BV\^6.C;OJ$(O;IW@0+7$BQ<4+MFW$S7=KWD=!I1[G
ME-+ S&=Y=J<_5(V60^IQWV]C[G]N0'#R]RYSGMU/"K37>&[I0L*T['GH 7I^
M,TV]G\)-V[L8U1WS\'9.@4TFV(?1&^;*WGC+**-E*-:E!-UA49O4.AM Z'VB
M347#^NE@:"W;V'5^TJ#[.]EHON*E$V^EZU3 W$3:A+Z2FR<.(XAJ:=%K$21M
M77@\;GQ7/[>$S_Y\\6E7-3:!9(;IT6D;44;]^NJCH(QQQX;N8Q?<'D_,5F2%
M$U^2V^  ]DH7:5.G2=6.NBY[35Q]3PY5C:].E@=V8TXK7VC)_,4"]+T"WC1K
MFL@O'<1.BP)S]C)1*KL'L5$* ['*51B!'VO9\]84ZFNI>FS^*Z]L3$BJ 7+
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
M:[^L RN^<=TOZ4GN!BAS1KO]MN(:T5Q^R<#H4.-Q52TBP0*?AF89GH9JP:%
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
M),PRRR5#OI+=-=W?_Z#N?XW\[G-K3(_LLH#XQ=VU_I;3;R.5(8$-1CB/QL=
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
M13$X @"!>]GOX13,_"6UJK:5?E8\95[3N&R.?9,V1YKT6<]]CLD40+!H<<[
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
M>'9SX#LL-%#@PUIBW!XA6[&L7;G[%LV05]YTM72EU8DWL%7+Z[?K1H_DOKV
M/UM7")4'\!'1HL.9JZDJ,'OE?>/]W: DN>Y4A)+\I)['^Z*.EC%/RD%W=(ND
MR<)W-TP03\8_I05W>XCE)NX@VO !TNO#]XM-R48OU=C-O+;%OI[1WS"2Z\8Q
MPIAU!?:?>49I11.XYD05V,MBH\5$I87W&C:B"JW^.L))L*PKNK#N]9Y*VO6]
MA#G2A9X)^,T<L^%/<ZZOH;HF=#]B48.XT8/7M6 Q#"=HX+4ZZV;EB%M%>';!
M#L>K0>"KU@XQKZK@84>:XC*8<XP C$FH $H_"5+_VY]G^?35/-WL.3LAEA6$
MS6 JV0X$5^4I:_(F=1F5+2Y?^338[\),:N!;>OP2-3F.S:Z0-VRKH 6<!6C\
MZ M:)<OZP\Q[VI\K&WTAT6PXOI[Q+ME3V^ZH9>[6^T1Q-/)T<IO;>2N#FG85
M7:>3#GW[:N>Q87VBI)GXIV@,P,UD&%L*PIMAQ(@F:1@+O!EV!.\.&6Y$I<9R
M/O_]]-5^W%![]3E\CR\P>I+>+8G&5"HK"XZ@&V,N!?K @]M_M+K$XC%M&,(_
MWWID<2&@=VXXKX<Q]F!0N\J$;:K!3I[/?BFCF)=DS1U41-G=&L^*#5O>+*)^
M&( 9#302_>_W0+UPZ'M)KGSUT/(PWD1F[L/JOZ2)_^Q=IZW+^(C8)8.@7#CO
MS+2>.5\Y4&\7EFHCKE5J7);%K#08GR%!(/3"S71NL91N,_ -%A'$L0B^&DJR
M6_4$ZIBW.@4SD0; /ME7:CXW5UR\=^8]#;GP@_+Z6UI.8@UD?UK3FGI;=8"4
MJ5WV3_U]WF6K\U1>4_R#Y%2[(MM2>"S&%_MT?#PE:Z,?9'S/Y6U1&@8 XO(4
M3B<G=XYWCN^KFB\6J2\[)$$#87G65=FX[ G&!&,JK<X6;(1 ME3P7FN;USO=
M>,%7NQNZ#I/I Y9!OD2^GO&++!T/ZL:9NB'U%;VJVH:K_8C&Q/YT&B,R+<"\
M!&-26UP.-A:;(7\YR>B(%?,O_BLW]D2+OT2YU&2$WPP$E,^O6%CXJ_ O&9F]
M,/W7A?GORQ+VMA9K-3+\%;O9WC_SOO,21C6>:ZY>:%#8RROORA"5R3I-4IG%
M59?W8[J_GHFH]=G0:!8TLLJ73ENR6?LC/<PF--*SW+/!Q-39+N7$?[]K,U*Q
ME\K8SRZ\644DHI(V91]9+4Q4Z+QIWY#BN7D>6CY1?M#OYY:>+,+4!HSMWMWV
MP72TQJ<5I$[X\:'G/2]]&EO#06%?S]B&.XK-%1#.EU>T62A,^5R;W6OZV^&4
M\$YN_?-EB5:J&O&_=E>-K5;\S:]]PK6M>HEK$"]I4$./P?+"6\U+(5P1)K$/
M_L#ZXL47,8]GHSQ^_G(YM?G$5T[5OF"]_WU0ZD'<[I?SB+J]P[MD3.=LI(%?
M2#^W4W=P&/U)3]9,;:!LGG6JQQU1PQ&<X&5>BYCO51RIQXS&-,.ZE&*/4"*P
M\_U-51O.+0<+3I-4,D^@5U:_;+I'?DKV*I6_",W0Q%WP8%<Q^8OGG[M7SU0.
M1@M[E2L%O_=%7!F8V'YNS/+_HS9X6]?[GE$QL$N(A/I,-;W9"@!X=&)4;U.:
M+HAMUZ LL!,K0FMP:#3E%M/CR"4T1_1]\10XLE?%D: +;!@O9P2K^VA-9S=\
M-*;O#HX7\]577=S2^_[77TZGQ-M&2PU[\M7[>:S@D<%*GG8.@E>\BK\5>IX4
MXAR25A>28H/!W7CWNQ:MX+(4F=72Y0<(*/>])3.$"A!,+U:N'S]6;4HN!AH
M[1QK9U"NV2UW5(J\Z*]TJ^Y_"O!\@+/KI<9B43+;QO)@,QTEI"E[8@\T+#HS
M_,LR.N[0<"4_]M;S_>*S^YGH0_ER[F*??9^40X,IKM35SD]-U:MCG]]$G6!V
M39FM*2AQUBS<9JYQ,*#M[6%EL/2**BG\GL/7,_-)/?5[8_A &G^FLG0U8\-5
MXY\>7+@EK;[K;B>OR^S56U$,A1C5B19\&:R#S43R?WEVU-T7AAI),/Z_(O\/
MBL2T/)?WE Q0J_._0R(Y4>!;3UD&>;$3HF,RW3N5PI4?VZT3;5SY[W4( Q%K
M+\>N,'Q(((<NJ3@_F6%4$9K3C##E1TY1C)+VQJ69>LJZU<04B=[ZU!,H2_:\
M!.8874#F4.NFO*"2@XA:@@O!5)93WT']7EY%%>S'U@Y8=I=/Z;?3P-^I&?T\
M";%XK:;L9#*7*6TS:N.4Q_9=NNZ4Z2#,W;W0I(@E7M@H%(NU^O4B;S>/JP%
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
MFPY)SU=$->11;:A3N9XV!#=T3Z^J<N$+90&GRFQW*PEB/2:ZF58KF+6LY<!
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
MJ\RE6>96F%[80<JVH!;V+PD3HOY6P\ZD.YJ5>&O&0N?XN:RWR# =WQ8&]M<
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
M^:28$J\;Y)GT2CCDU^6!5:^A(#RBF+7O9:\R8(;#?YR._WI"Q#V;:D2UY4?
M1<-O.\T64S9OP]!WX[*I;A4&C7<:*0UVVQ!MZ)+>=H:&D?6!(R2-0:P$6I'P
MJ&2WU+P(!7^1_<Y-1YGA7&P'M%$$HS"]K"*\^<O&[('%HNM.:._1-=]_'K96
M_^73^/L_M*"6XQVYG.P?>R2\I?ITFV Y=,QR>N^MKT<@R4ONH';AB]]]JX?6
ML*U3U7S,PKZ?^>,!F+1\S/+TCV[%Y07+J0/!L>G@\$/]WP/Q ^C@=T?.-RW&
MG3)TCSY6!->^^(?747^4]T&5[D13FPB6O2SI2NG,/6;QL52;?+@/\:EN\:;>
MF@K^?\LI^;\=AC,/Z:HVO.)C"ELO( @K#:?VM5]F;NX'Z4\E*<2/5E@&SA2/
MH,0*\:5;5<\3%V5U0%BQ1;PG,M$DPVD>L&E>4S#M#$[MF%DU;^M]#M2[H2G-
MQAO@ ;@81:)ES[GV)K7.2@P$%;CE"CM/LDLW-+#='_E-C_$7E_6_^TJ/K6,[
MW-=_7X*Y+=&0KC?[R;DWN"UG269+*T ..1QS+9V!J7OYNEL*N.>41*Z[1#^_
M@N8K]9 THK0:& I_)>@+]<L9;.RTNI>'FS&H6X,W^DN#ZGX=7X$L#IWW;#-:
M'YCCIK[Y2M W&)'U<Y:0I_))KU<EMM'EX;KYS<Z$!%_+TIC)RH#G:28\C]T3
MRLMT*<GO$NJNPB3J)<6V:@$:C^(6Q;K[A2R0:_QDO%_L7(&$]6)%(+=E_NX7
MBP(!5C@<@FUXUSD>UHSPB2TI[%/$BM9E!<[[+OV#+C"W_L%"R%^\<-Z63<\I
M/U_76I6,2+,52KESH$O30C#$(*';<*SU7KF15?E@=AZUHGK6+*R5:FX&U]&Q
MH@J^ /<7O%[PU@$?Y)E3T-0Z*8^II44Z(.1@^"VAB)W7Q<./7%/EZ93T)LJ#
M\^@^ID,9L);?J"3-7D]*>=O\%2]9\?3,BS;A<F1[!H0BW%6@?&9=[9-WZ96<
M?$ RR4,$<-MR];YAHJ">T;5RX-7M83C4NPJI[;0*AD)^JAPV=N)6&2$"HG<Q
M&=552K8JGV#ZR*K1*D//:*M^^_S:^JX'U3D6TFL.YVDZ_ SW,O.'1 E6\N)5
MIHLL7J*,Q_+N:XD+NHC$5_!"J DNX@,I@$<X])===-,?\MMNI 4%-+AD9B&C
M-U0W[*95%+LRLEN?2_I_*/3%?\:"XZ#?P;_Z>'+^]X-5*]/WA>J#3!4U<<6'
MWTO,(38,Y0B9NNU[^(#7S8\")?Z^P.(V#S9F<AOJK6=7<4WSL]Z_#F,CJYVW
M^\%F7%95I<4C_BY!(_9LT):J"7'^J)'K4+#>X(&%84^DU]7IY'+SABW_&I2#
MZ&YD_+J1ZBQU,KL(<GW%>>?17)!W\!)G]5ZKT?HVDVFK0@>\A]CCU(867U6
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
M\%W8O.5C%A9QS(*0)V"Z*J8)<4)73+8=I;,=*M "1]\M8+.W'3#AR^ZHWC:
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
M*SJ6P7IZ;'.N/-!.4J5&^1U)2EKG""A+7F2@KC$>QY]Z$%>A7MYDLTKO/O^
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
M6Y/WZY_G[K\'^SM=EG%9<J"!E<,>R4P&,THQ:^;#+ZQ(8F2721>7P^^V[(=
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
MPR2F)70 M<1!-H 1O\$J#RF_J ;L_&C6&[QPG*U[:'H >)H5V!JDA% Y9HD
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
M0TA_-;/_?..!#("4 :3KM0,N\3( =\MK5P9(#GH=[+]C@)(!M-\QW=T1V^\
M_PN?.'["A/\^FS%3?7IOAR<#?(^,V.AJUY ![A:J9ZQ,KG_[]- CKC6D/*3-
MV?.'VY2O_^=R>=+>SYM3!>??"?T##P@]V2CYP[/4%:<JFK2'Y..[(8+43?IH
M,N(@<\:/M:9'H2.)2'VNK:>(3EDRP=S)]W?G4A@@'M_2/!\:C9EQ5)*.J\X+
M,+>'@_VP>6!EVYMI7 _%=0RP"3J=%];M@6*S@AN77PO33!FL[@MH'(V%AW\8
M<!SD2"OU=66<BKI7=-3@J?<?ZZ/"$BUVWIWL%;72A@UQ$!"*O+B9ZSOYA=V4
M?NRH8G'P'B;IQW[=,N<K"CD0ADKOSHGZ2<TASR0J^HU 9V@[MV'FH!)F\T3$
M9F5(0Z7\_K.3 6:^R%8F7EL&P/D#%Y\F10FFI)6#5ZNJIH+_[E_W2\UX$:1V
M7!Q:/,&J7;IL E22.Y-M'1!:;./[%<["O7(<JG(3:UUT@J8#=2:',AA,!I[M
MA\OI^O@\.=7[+9VJDX1]DN1S]<E\@MC*Z^<_9<$9BC1QM]#A;H^%R]/=_JH*
MGPL)U8QS;O,!R\]OJZ#D$D\>6_1"W7D>3>G=N/3+TV&]H9YK13 2@SDUC)60
M&(=X!XY#TPW5K#SL8C&K<DZ0$F'-ER,^J&ECX@R7C85SU0JS$0A'!2LC4YA%
MIW/:D+KI[P=0E)GJ()XO"(P-[=9KT/XUYXYYNK.6'7?-OLOI+_PJ4'82 <HH
MU]",.JAP[X^BJ9WN7![F(IFW.2/&SU*-N;E.M58&BYC (<3]G()8;^W]%L'5
MW$;(V-B-\[:5RMVQ96DUM#+(">O_SO'_V\'RGPC7&_@KKU?[NNE[B5".VU&J
MOKUM5W"KPJ^(/IZ3-1'0>6]&$MA#<,$RKVM@:#Q< 2<!N#KA*:9[9= (327-
MBL4XU5-;-XC3'YI.4LX<A]O-<[0 GQ$1.=^DXM7YU0J2 R>PK=A65;75 /KB
M32(EGO]S?ZU#5E"#-26D?D)T^Y'5L:6UCMR3@;9N'65/YUH?SZ3J@L7E\L8U
MM  D'CI,*;+BPXU<E%U AGV8#V)/3M<'FT,ORV9H!]X [;__G6CI>]Y;ZUIO
MKJBS]I+9'FQJB)GKI_Y1WB^R$,H17?_8FMX1&9<E(QXV<XX_ _6$,CT%5NWS
M+S> UMSZ F),C0I26FB,D1MP2G5;GB\P\Y?B7IZ8S],.EG\4)>%1U>X;#( S
M.'(-L,MA\(M<V*?A7:"NREN*O1M]*Y]W1WA8;?U5L_,:3[]:LVM=6LK7FHBI
MG/:N#N5.OFDMO%7I]_+'! 4O" G^EJ:+8-:RW9O@N:_[30(^^H3X^(1F%W24
M\A!!,UR'%?!'5];L[#<?%/O5[>.Y?S2G^H\R5-;#/(/YSUCFM?7\\BI\WIH,
M@.K1F-L("^R4 10YQ/M!"2._9B'XR)%"<:L(SL(.<UD.K3#/D? O;%S 451,
M,FVXM),)C'_,-"E:VEOU-\KBPEVZ$VPXP#Q=J4?CN.> K1SXDZ8K:%$N\]L^
M!.'\H\ >\?6":P)ER @E_#^],85/+6H,RM\B/14<>]TH-#Q2Q](*,:)5Y^_G
MDVQ2DHFE^C?9=SR@]/O%>RV-1HE66G Q=-TTD5/Z'O5T_@$H5UYC.N)N>-NG
M;;6,'=OD_!74PI>US^"C[[5+A7O&P3G*06TR0'UV/Y%Y-!<04A'+XPT^%^G1
M'_C5,W^C8M=KB(<>?II#U:X?]L":O]HAF,:YP5978AZYPUW':4L6XQDT/$2H
MHK6EH,LAVYIC[7DG.K)&F#+ 9WRH2]L!*7ZHEKMRBKA&BFZS13Z1 1S@1D23
MX^B2\?ZD ^7!_7(:V> ^Q#/@S,5;H&AQ<(LQW5GDBS(Q3L4^'H774[N1(2IJ
M?%V.^E?%3-=:^@'",8E%*K?O)0JC<"G^($-IT-2ADIT\JW<:ZB_'ZY :?)"%
M+SOM-GVVC,B7ECAAB+^A*JY4XA+SEK$;%*0S9;GOU?7M['"%MT=;>.<'8DMA
M7!VNK OL.BMH4.L8WL@?FC;-T]9SL\1IM[ALR0!:@^"+506HC3IW&8#]V<S*
MZ?$#N)K^@\;W1T^GKU2-"IT.!C'X3>.MKQL8JHBN6G$8W3@!:_"V/A)U(F4B
M-;I,\LI^M<$D8 WQ#XJ)NX!PB@.A6>KQNUIVII+"9(!G*=V7FEJ.'JOQ1O+[
MIJ$O9(#T'V#ZO =MZ2_Z33G5+Q=4?BS/F!*^O7 NS:F1%>/6?Q^)$1#02EGE
M/PBO)PG<2#I3LT.1'((YC@.SUVM]0;P_4Y.[8U9S7^):K1]\KB5B(NZT*DX&
MB-(-ROQDM5N<,_""5=0;1$P!0XN<D;^\N)QE1L"6(NMY9Z^IU#;:$;R@EPQT
MN%&2-88RO[:1>52UF=']WH/56RIE))&&4%B,8 #G?^3H-P4Z,.Q'[Q6U[5>/
MM<]Z:LS?;=(VG4)%X?5H]R:>SZS66^F!E.!X:]V9Y#&G#- 4["8C>:;TP SX
MZ6@%VD]J*"JK]BOPT&(T<6&V[UEK*,%1.OY$'R)V=1.CQ)^D@V0 <#D2QMLA
MQT6%_XWU35?+W13/+Z/OEV0X=@]E+51:7+J$E<0M&A,U^X#+-9>@XGQ'R0>2
M(^F4TBOYHY)\&RUP3"[7R<*P8QN[@6TO]!Z>W]:_J/Z#Z)JTG&VZ8 :/%F 0
M59/@;__/'\/_QK_QK\<-V=A_ 5!+ P04    " #R1E582[QO=MD#  !V!0
M%    ')O8VLM,C R,S$R,S%?9S(N:G!G^W_C_P,& 2\W3S<&1D9&A@0@9/A_
MF\&9@9F)"82 @ 6(6#E865E86+G8V=DX>+AX>+BYN+EY^80$>/D$^;BY!<0$
M!(5%1$5%>?C%)<1$)(1$1$5 AC R _6PL'*RLG**\'+SBI ,_A]@$.1@6,2@
MS,RHQ, DR,@LR/C_"(,\ P,C*R,8,$ !(Q/0C6SL')Q<W$ %6P48F!B9F9E8
MF$&N!LK6 N496 19A10-'=F$ Q/9E0I%C!HG+N10=MIX4#3HX@<5XZ2B)DXN
M,7$)22E5-74-32T34S-S"TLK9Q=7-W</3Z_@D-"P\(C(J.24U+3TC,RLXI+2
MLO**RJKFEM:V]H[.KDF3ITR=-GW&S%F+%B]9NFSYBI6K-FW>LG7;]AT[=QTZ
M?.3HL>,G3IZZ=/G*U6O7;]R\]?#1XR=/GSU_\?+5QT^?OWS]]OW'SU\@?S$R
M,#/" %9_"0+]Q<3"PLS"#O(7(U,Y2($@"ZNB(9N08R![8J&PDE$CAXC3Q(4;
M#W(J&P=]$$TJNL@EIF+R4/4CR&M@GQ'GL2:R? ;W&,)?MQAXF!F!D<<LR&#/
M\-?[2M3+DM^+DS;L?='9PUUP--DHX2V/@XI>X21&B[=QB7^W?YQVV,CWH3_K
MJ\4RKIF/N%>7L5_9?'.#\C8#[:LO%O!;_"C_F/6?X6B<QOX/^SOV*-8^Y!>*
MC#B\8H]PK&-YKHF0]8*,M,Z^-S8Y2XP6OBALCNN/"\_]SZ#NN;+^QNSL_PQ+
MKXN^FL(0Z"H"PHQ/R^Y_*IDU_6_GMOV_8@OC5@X*M?IK?BSV^-#_UD'ENJFU
MKYRM_Z&"VQ$GZXT.3#=VK]2V*=PL('DUQ2E$YF'CT6H5<<$[RUXLB61W"FT\
MRN#IJBK"L"70E:'"_:@_R\&/ZQ]]_L%^Q*KU4X7=_<,K5YY?>N/$ANZ32W=,
M$WYV0OS,K15SM(S^/CM7W+7Q8?Z-Q0^F-[U-WW;)3C[SVK7/%A,?5Z9/$6.6
M_/G$XK&LK7;>[7]^DX/^,VPTN_Z?P7N=]E4-IK:9BZ)>[,I=-S]98NNFK9T)
M31P';LMD,83*'6#06/TE@-%5)(!]ZNWZDY>RXK^IW?K/\++T:-72RMCM?^:J
M+?W/D)2[_M_TF/!58'6T4QM^14]E\\:=.[JN1=],ZIVKNT!+96:#BM(TQ:(J
MWB-\E<IK*U?7A'S<>OYDZH?R(X&GK\SU#[FLT"_[+^-=JN7+8W=*GU]AW(86
M/<$?_C,<_F=PU4X]J\[L8]S493]*_!<?7'(K,\S\;:U&R"S/*,\EGQ:'YIP0
M3\J3U[3NK=K*( *,$F1<__\F %!+ P04    " #R1E58[&S[21I9 0 C90X
M%0   ')O8VLM,C R,S$R,S%?;&%B+GAM;.R]:8_D.)8M^+U_!2>[\5XD8,S4
M0BVL7AX\MD0 D>DQ$9%5[R$P,'!U5Y>YY"V9>8;7KQ]2B^T+*:/DRIX!NBL]
MW"7QW$/I\)*\O/??_M?WAP5X$F65%?F__^#_Y/T 1,X*GN5W__[#[U_?P_2'
M__4?__1/__9_0?B_7W_^"-X6;/4@\B5X4PJR%!S\D2WOP?)>@+\5Y=^S)P(^
M+<A2%N4#A/]1W_:F>'PNL[O[)0B\ '67=7\M_R)QDM(XH-"C$8<H"B*(&28P
MC$)!4QS[" >SN[\(+%*1Q B22!"(PL2#:80$3)B("28D0L2O'[K(\K__1?\/
M)94 RKR\JO_Y[S_<+Y>/?_GYYS_^^..G[[1<_%24=S\'GA?^W%W]0WOY]X/K
M_PCKJWV,\<_U7]>75MFQ"]5C_9__]Z\?O[![\4!@EE=+DC/=0)7]I:I_^;%@
M9%FS?A$7.'F%_A?L+H/Z5] /8.C_]+WB/_S'/P'0T%$6"_%92*#_^_OG#R>;
MQ#_K*W[.Q9WNVT^BS K^94G*Y4="Q4*AKY^V?'X4__Y#E3T\+D3WN_M2R../
M793ESE,U2JQ1^K%&^<^G&OOY"OB.\"X/L3H 5YO[FRN,YSC]S1G<KTHAQ/"
MMYJY&G+S0KW+^5CO[KJIJZ$/C]C5:U$LR6*$UV+3S!;DA?[%1_53VXQ^T!DQ
MK=MII7L+JOB^%#D7C5KN/!ID_-]_4#_-RX+]??[EGI3BM5)9_J9X>!1Y58OW
M35F2_$[H$?'U\^:23^19_^KF#U+R=_^URI;/']0(4-8C9W6K1LORZSW);Q_U
M(ZH;_I^K:EG_Z4/>O$KJ?_40JH>,-T7.L_JZWXKE#;O/Q)/@\R 68<@]!#$*
M*41IP" )*8?JEZ&'_,!7 ^)\N?Z:YB*'OW_I#*^MFZII/UCTYO*$*I6B*E8E
MVXSG#XMC@[0:G_6(GOZ<DP=1/9+V!L6/=GX:ROZCMKP""C/XXSYC]^!Q8P!@
MG07@#U*!O%@"TIH!7F4YJ.I[?_RWGS>T_ZG>LL5_XW=G,<)K [57QL$V,V"+
M&D"?P?9U+3V@YF<&&H; %D6@YDAYVR0'+4LSL,434.]<P]0,;'$%-F0!Q1;H
MZ/K3OI>\G834(/Z;OI\[-O[_[^G1][1@.[PL](RJ*/=?A8)-^%5H?".-3_D^
M0>@'S=SMGR>(^.<#C;@INPX@);OP4K=7_*R&3"8>EW!'?V59/$R]IY;%U&6E
M^0H4T3^ HN2B_/<?_".=MA;V507O"'F<_Y64&:'*_5>N]MOB@63YW/-BCEF(
MH)1>#)'DZM,/PQ@*+PUCC\8RH:&)>WFZB:FY>1U"H"&";PW(_\=LA#Q#Y'D/
MR@T] WLRELP8:_)EXS?SQDKAKBV7I*(U]/;NG[5H_BP6RZK[32VCM82>:6 4
M*;ML8"<I!E?V^[3?"BG*4HF4TJ([47TJ%AE[_JJFO*\76L6DZO'03WP8D1A!
MY!$""4DXC##CB&+%I" VG_GYYJ;VR7=H 6O@VGWL%Z@U^_#=$3:P"*RY:I$J
MOZW&"KZU_]6@08W:H328T>-()BXT-JIDF!F^+Q^&=]E)"1?9_%V^5$[+7XO%
M2LU'RN?WV4)]GO,H%1Z6D0>]( VU>B"(@X1 &C#J>XPP%/DFZG&RA:D)1@,2
MK%&"!J:9;ISF\;Q4.&%G8'6P)<98""X:?^3;KP3[Z:YX^EG=VWSVZH?-UW[Z
MB:-\X!<-ZK[IRQ?V\PCTAB1?+<2MO&&L7 G^47D<V4+-*43U5?L>FR$L2AAC
M29C"B&KO(.0<8AS$D&)*_8 F8823^9,H:6'J'Y@W;O-R;T,8[AUO$8-WW_5T
MS]9;L*#=S',8ALJA%T5;T*"0H.-S"S?X5B,?QI>P)\R17V'1\*@^ACTA^_Y&
MCR?T$ZW#Q[]9*4<G7\X%)G[* @$]#RD?)/0%Q$(B&* T];G@,A3,9@9SLJ6I
M^2+=YR-ZR=%I0LW4QPE- XO-$8&9@1:F.UFYR(0C%3G=SJBB<='<?8VX?$,_
M2?B0L^)!?"RJZKT"^3:KE '++%=-W3Z*DC1+I&)Y*[^2[Y]$^39;K):"UVNR
M<Q\C2E.E%U3&6$]<I!(-+F 88X0P2U,AD)UC<P6:Z7DZC3% =S[@6Z: 8FU+
MO;O-B\6"E)7>$&]VN@TWNEUTH9E,C=0M PM9VQ^OM!T_-MVR;0K8V )(SO7?
M'HN*++23=>*Z&5!6Z[\KN^L=.-":WFSSN5-'!QW@2#^O03*JPCJ@;%^#73S2
M3J6K<CG_K+?"?A4/5)1SB2-!4Y% (E*EN+&D4.EO!",O#&D<(N&9[2?M/7=J
M3MD7O5M?+3.FOKY?!:E69;-_;K>=M$_>>:V[@I*A9WM]V3"6F1.VGY,,=<N6
M7*A_;:1B_VFC?/8G3.@^X5-_[NLT/:D.*,KGOY+%JO[N/XM*E$^BFK.0I(F7
M$*@^1:S#ZPFDB<>A2(@(PC#D.&#SQ[T8;8,!^%2#-N_I?K/#O;*OQ5V6YUE^
M!RA9Z/UV6X_F)+])&DL4(P\2JCQ--3NED. H@9$?(NDC/T@3W/+;Q1&/RN[Q
M.&FWB\1\"&)-/4$75 WNZ+4@P1HEZ&"Z],DN4>',Y3K9T,@>U26##QVFBW?T
M$^"/62YNY9M2\&SYGC ](W[^E7S/'E8/KXNR+/Y07\@;HEX/]?LY(VD:Z>UX
M)+4D!W$*<8PP](FD02PQ$3ZV6=NR:7QJGE6+$] .*& M4K#*>1UK*$ IGHK%
M4_W'VD@@6ROMQ,:JD\SD9RCJ!Q8D#5M/$QO@H$,^ UUWK,&##KT[G>K#F2/E
MLFIZ5"WK0\J^NO5Z1N]5NE)Y_N*M:/[[(6]GG'4+V9(L;FBU+ E;SF,4Q@P3
M#CWI><I!8@+2.)8PP%Q$J1<*#R,;M3-O>FI:]^9>._QUD'3100:DJL2R6>!9
M;.V8Y<TZCI!2,/7G>G&(L/]:9543)?H7ZR4YT_XR7H$;H!>&7W"KP8)7'>P?
M=6>LD8,6.OC6@7>X3VG/F+L5,M.&QUX0LR3DR/J7[1/ZR=WK5:6TM:K>% \T
MRUO'D15W>?8/P3]PY5-FL@[PO*F_YAO]H2H9OLFW]T?4WU8/@K\AU;WZ@XX7
M?R(+'0X^QW'J\4 &D$<!@R@F*4Q322 .0U^Y.G$:8Z-#?^/ G9RL*H1V:CAP
M=YHIZ'0Z:6#5[0P%6Y;.P,96L&TL:*P%G;GUP+@=2M):/ /:YOJO6U:[4^MQ
M>L>1P@\,=M1181SB]T>2D5KMZVPK&175LMGNJ<\5S8.4<NG3$"(2)A %/(44
M(0*U2QW1U(NC6-IYU0=M3$WG.XC*9=,8;1W@0PY-/=VKF!G<I6U):>#-FA.:
M+KW6D]8[<T\/6QC9#SUIXJ'#>?K2GF&[E\X;5J<.'-;_\U6UJK3FDWHG?E-O
M27LX+0Y3%@8I@YX2"8@$XWI7UH-Q$E-$B.][H57PW! @IZ8N-5*@H?8\)#A(
M3YI)U$OWS\ :9],U]N'# W+G*M!X"(CCAB0/2/)!\/*0;=F)?'VB_$/.5]6R
MS,BB<S*_B#O=9AL%PA/L\SA*H!_Z:O(?4@IIRG7&),)%RE*FY-LXX\^%QJ8F
MNANX8#U+; %;Y#"YQ/!Y$77-V^ .WTG*P+<&K>' 9?9VFF=D<<CA2#E2^KQ^
M=JE)##DYFRSDTC/&2]]A:,U.0@W3>_JYSY_%D\A7XK/0*IWE=UL9-6[I(KNK
M7R!]LHOI;'/9@[KD5G[1X6N2,/VW)A&'/T]C$DO&$<1$>A"A((2IFF!#'$8^
M$YZ7!-)J"=85L*DI]MJ@G71IQ=JD^MR*M@DL:Z/T)E:U99:=3^VL>\W\Z)?H
MM(&'B]8DO=[:==QV8J:-63/0&0:^KGMNV[99F]G)G>OMFFY'[K8S6*.ZV*[)
MW'>KG3]_H/62WOF9?BOR)U'IY+JK)K0]P10AGT <!0*B1#GG)$8<4C_DC& O
MB'%L>4IZ+.PV^C/.T:-MS:F6RB\ JSQ;5J!8+74"[3J U#JQYOCO!).<<TP#
M&*01A8@G!*9)$$'FQQ%&-.$LC>R#J2?Y7HP8F]T$#@.R!'0=IJT&GP;!G^&U
M((BE2>)1&#$U>T=>&D!,,8:1QTCH(8F(D+8QX!-^*88/*=]Z)43._UPO@Z,E
MVY?HWH%]T2;5Z&O#E*2OKTA)NN9 _5BS,.)ZL>N.&VL1V1GN::TLN^X.Z^5F
MYP!ZK4'OGWOXPDKR^"CX^B\W.:\!;*4IG2-,<*!&,I@B/X8(!SY,I?)YB$^%
M)T7"B6>S--T'P]36/SK,(%N?Z=$Q2$4M0F2#VVH)ME?G&*UJ#TWYX(O=AP>G
MUCVP^:,RHAT&;L;L :NU\:%[8K0E\X[TIW6/5(;?Q$_.%M6O(?/"6GNO1X^Y
M!'^-[7LK\U<]JN?ZC7I!ZV'Q5G[1ZP#WQ4+=7#6#X?H, DYX@/5($\6IFE"Q
M)(:$!@E,$D$H(1%.J-4).:-6)S?4=*#KE=@MV/^S<X,-CBE<T0F&$QG7U X]
M"7'!JOVLP88E5QZ_49OC>NLV-!QXVE8W]]Y/;$Z:[IVB:S;#<<12+)( LI!$
M$$D1P]0/B<XO11$7B!$:6VX2GFYM:G*T!KM_:M1Z2^\,P\;[=&YX&W[S[3AE
MER,U^FRF7>;$W0[9F;;&WO:Z;/:1O2R#FZ[-P_N;6+[79]CU(OIRM9\-%H<)
M%3R*H>=%"40>0I $*8*!]#!A24@%\?HFX3W;\O0VA[;.Q>K3_C=,S616B[H(
M[:="R;I89FV&H=<B%U)]1YL=Q[[9>L]WCJ'KXY[PH9V?K3R].E-< QHTJ$?*
MTFO$E?,4O>=;?:'\O$94G$[.:W9[/QE[5Q\\OY7OOK/ZZ]252VYS?;1)___6
MV:;/0D=WZ4W_]MS3[B^VST4*F8:,1$KC&)(0(<8@)K[2/8^31'E6282,EA,'
MQ#@UIZLQL<X$T!H)2EVMA[626>2 61]_':)OS13SA7ML8'7==%9G7U-:2762
M!MT>6=W"KJ.R.K/:2_3"V=XO=^]XTZ1XU$[E)LFC.YT>L(<<:?H0"$?5_P$I
MWA\KAFRJQS;4#?+\O^N3%>ULCT4I"XA04^D (XABCB$- P[3U$MY'!**/?-B
MQWL/GYJ2*W2O_OXC>%2_M-B9V&?,8-/G"AX&UL>6 HVMSU&%?2XLME^NX&2D
M?14K;NRV2TX8?W8?9/^>\38X3J#=V;DX=<UUM?2:0[U?R?>M(_W*Q9Z'L2\(
M]@.8<,X@PHCIXNPAY,J?32@2+,#";J9^H<7IS=#75>*:H_=@2;[W+:MWBF4S
M!](A<P.+W9JR-LN[PKI;L4+!=5]0[P(OCBOJG6KM14KJ73#]5$V]2[?UTY2M
M>.<Z^J=:'_:4-([4%#@4)(!*193'PV@">4@BZ:7JKXEG,P4^T<[4G)]3X=^O
M?,LPSE.\FJF' [8&5HUMHAJ( VP57*#!D4B<:F54<;A@ZKXH7+J\YY9 <^#Q
MLW@L2IV;;KW#3K 7"Y_ZT(M\-?])$@\2SPM@&C(DDB@@H6]UZ/!40U.3@^Z\
M\AIH_TB&4]0:KN [(&SH)?L^7-DOSU\@PM5Z_*EFQEV OV#LP8K[I>M[%[\K
M5OFR^D2>]<I]5Z@MBB/J,T^["/HDLL\0)*%,U#\#IGR6E$;$2A2.-S,U2>A0
M@L<&IG79NV-4FHG ]00-+ %K;EJ$PU2[.\.!NU)WQQH9N\[=&4./%+D[=W7/
M]8:C=9IN<MX5^/JE+%:/E>509OG4";W>1C7/&O2#C'T]F7,UE[9L?=RY=3]J
M#N;:/1]SS=9U]B364WN][:'3>>8ZSJ<YG[-\+]03R:+>.M>ASCL7SU,>A9BI
M>;J@+%;S]!3I30D!)4,$QS((D]"HKIE#3%,;L=<HZQWI/CO0UW41T['A#*70
M2Q%3DR<B((T\#Z:QFC;Q*"(I9_-<&)[!'JN#<--!':XQNF=)OM==--.':)G>
MRKA[@>XR&\5&_DX&'MG6UFPO M<A ;L6S?1!Y]8HL.FXO9OJ!"S,J=OGD&ZG
MN_O7(7J!W7PG%![?O7?SZ&N#69M(65UJ5%3OB_)]EA,%(K]3:$3VI)WCKO[S
M7BBE&C]#&4@.8QRD$*7J)X(""D,D$8U8P'! K=:XKH8TN8%T]?! U.=^*\&-
M[FX='ZX[N=2AF7_+EO=9#K[JN-C%HOBC7AE6UH*WQ8HNY6H!NCE*WTC8WCUK
MN,0V:G\-+.AKS& #>CT;GVWUD%0]U,;\:X-'"JV]EF'G4;>] ;U00.ZU!)Z.
MU;WZR3U+!SP\DJQL#DU]4)Y??I>MBQA\R+F069XMQ4*-,?S==[98Z41,OQ0%
M_R-;+.84Q3&.> @]K)QKQ)1^IX'O0>9%TDLD1=P+K&H,7 %F:J*]L47'>V9K
M]+"&KW[1F6>IRU=UF)DBC]4- VOQ;@]L#&DKR,S QA;XL>Z45VMS0&?/Z>UG
M^TH)#FAU55+A&BCCUEYP0-I!D087SQPY.V&;\N7==S7#RRH] G2IQ5)&<!PI
MT>6)#U',4HA)[$$4^8*F<93&L=69"><(IR;,+4ZP!72D3&$G^]#047[)GAEZ
M$_OZS%_KW%Y;=DXHN]>E3GCI+%XG\?TYLG5=HM=95JZ+#?4;&-X4=9ZO.A'N
MA_Q36=RISZOZI53S@3E+TY!%'H:(!$BYV9A"&L8^]'T_%BD344JP77SQF=9L
M1&&DT[];8/41X,<6KIUJGR/83'\=D3:PDNZSU>&<@1JI.R4TH,.1IIUK:51U
M,C!Y7V=,;NF5KZ^I,[;)NS1' 4V$E#Y,DY1 E% &4TH\2#"F3 8<<6$T&3_Q
M_,FY<5<EU#M@[[P$..!DZ,EN5^9O@^XZ0JQRUUU#S&AYZ<P)LLTV=\K\"YGD
M#FX;,TO<*<Q[&>!.7M8[M(G<*0EL<G/<RK9HP,<L%Q^6XJ&:1SR-4$P2*$.]
MI!C[ 4R1FM-2R<( R0B+.+69SEYJ<&JRMHM7+URUB,$WC1G4H"UCH"^2;N;_
MN*1R8#6\DL4^$6)&U+@+"3O?W-@Q8$;&'PGZ,KNOG]1\5'Z6$&TT67[W4:B9
M7'>$Z[F=T55O5^+_"%*^SY[$/$Z9GR0A@9Z(8HAH)&#J\PARGW%?I-P+O<1&
M>FP!3$V*U&N7V@F-->5FPC,DD0,+40-]!M;@08U^MC[I^3P#RP)0 3Z1C,^
M-@%H&]QI4U_V'&F5=?.C:E=?<O:UK/=SK@V[:46S>J],>_==R4).%F^4KU8\
M*(70U><+A4;O9#3;&Z^??Q%J"DH>[S-&%+$*YU[01B@D)EZ"(48\42KH,36#
ME#&4,1*(QB@4 >D7CN,:ZM3T4N=+^T(6HM(+U9_%7>UYE."VS.ZRO Y6UQ:V
M6XV-C=M72O"V>,A89KT=,=R[8+@O,8D>'GJ#8BLQ7N=+:CD!G9U@;>CQKI[I
MOMZV%]0&CQ3X,U3/. \(<@[TA0*%AB+\= #18"WV3'!0%DP(7L/Y4%6KN@Z@
M?%,\/!1YG9UYGO (^6G,(4L#O;<1AI!BG<W=]SP_9E%$$]]N6^-BF]/;W-"#
MQF,+NQ&4K 6NE8;5T)N,")9Y$"[2;R;N3BD=6*,_[?#X88O'!F^3S=UAF@13
M;EPE3+C8WKBI$TS-/TBB8'SCM=YQ%[53*]O<IXDG$A9 [!$&D>>GD(HT@%Z8
MRI!(+PFQ[.?:[K0S-;]TVW7I@+9NAVTRA1/$VOJ)O>D:T<DS9NH*K^PH#\Y=
MJMU67L@?.FKJ:6?F^.6]TRB4*\&WTC>U@=3K ]0H04D<*B5 <1HK_R/@$*>)
M@)['"/-]3*G=IL/%%J<F$2W@W?QC+>;>J5<N\VZF&T[9'%A!KB6R3UX&,W+<
MI6BXT-[8V1K,S#^2N,'P1CO1J<KEI@[-S@SK>U;-D4Y<Z],4\EBF$$F40,P9
M@9(0$9 8,4&,3HV?;65JXK*SZ/%-(S04DO-<GA</9PP-+!@VY!B+@Y'QYP1!
M/6!+#-2_-D)P_MFC?/Q&YG4?O-G%O4*PNI,"S:K*IBC)S8-. _6/-G(FPCST
ML("8ZO5T&0M( R8@"A"-<(K",# J"671YM0$8+M>RS;.G1,X^\>B *F7J:R"
MF(PZY+QN#$3SP"JR 0S:-><3E+NGTRI.S#6MH\6.[;VF9(M>LH7=70%3&Z8N
MA)D9/6K,T#,;V_;"T:QN[7DBMDN/H),2+8IJ56XG*\ R3EC((&6!#]6\D4 2
M1AZD@A&<QA$-L6]UXO5,8U.3\4VV$>LSJ^<H-9L$NB)J<"%>9V39  7?!MG=
M,Z'$U7G1<TV->Q[4P.B#\YXF]_0N#9#E@K=EYW3%@7??'X6NBO)^M53M=']H
M(T VL68HBB33-0)0S"'B80)IDC!(HI!P%&(:4:LTWSUQ3$UB[$/.^G: F>J,
M0.O @M1: +K"B-H&?42RL0(T9FS^VA@R2!S:E5RZJTS0"\78%0NNH>I()8.K
M'M>GD%/@^=%6*9Y8>#'%PH=^&A"(!)(PC60*F<2<>XCYD32?!>\]?'HBYD?U
M=V93NFB/+X-)ZA4L#*PY:P)Z%7':8\*FB%-_1D::2%HP8UG"Z;CIYTLX[=TS
M8@FGXVAW2SB=N,9YFJ.]2>5!QH^MJO*-(WE;ZB/CI;@7>;7.O:<CKM0_U4/?
MY>I-:C+8SFDHI9>&&*:2>Q#AB$,B(Z1FC\)/N>>C.&*.$B0-:,;4!';#PNP@
MK8]A5I\96//1) >JIVTZ)]LV)]WOOVUH 5N\6.Z'OM [:#B_GOR;-?3,??(O
ME<N$4R/TZ?"IJH8T8BI)KD;H*(OT6&.@N>:T7WWNIOI4+#+VO%EA#$(6>K[
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
MJ#^[Y@.=HYB@4$@/^F%$(?)B @E"!*K)"@ZC!$42&>6%N]#.U.1J<RYE!K;
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
M=V^(>C-T\1DE$E%*(J4<DNF2;9)#XDL"PY2RP,-^PHA5T+%-XU/S:UN<@'9
M 6N1VNF&50>8Z<E0M ZL,QIV':!= ^_BCYYGH*-Z#1Z\N42UM=;TX<R1!EDU
M/:HV]2%E7[-Z/:.?EOU2%/R/;+&8ARE+/(D$3"2+];FT4)=;8% F 4\3BC'Q
M/1N=ZAX\-0WJ<-DISIHF&8J 8HX@H2E7<AX*2&3H04E02$@<L%A-@9MD0E^6
MI%P.1]9^(\-1UN:[ L1R\W9-FA<@DL12KQ#JQ%1^$$&:2@PCQGDL&0U][+>D
MO<L-BQ_UIZQK8L*$F8U9?2@8>#RZ^'59#S+[1CH:0-:/'75PV#=F7_@/_MY/
MU#^5A7K5E\]Z_W1YD]=!.8]Z=KW9)I.8^QYE*>2I#G!1TUF8HCB%R&/")UX2
ML- JP<3E)J<V$'2(9W70P[*.ZUZCMOMN#?CF$6*IYZD90(H\B+ :8U,<I=#W
M&9(Q\E%*0[OM$K>,C[/%H1>"BKQ>X51.ZUX/S ;N C-1=4OKP')[]AT>].R>
M.4V.!-N@P5&EW)R ?9&WN+-ON= V*VT3C+GYZ&Z^9]5<Q"+U* T@X5J)DBB"
M6,8A#-(H\ E)0HYBN\J@9UJ;FNBW$=E;.O1-P[3-#W268,,-,%>T#2PQUHSU
M* !IP(2S6H_GVAJYK*.!V8<5'$UNZG=\-N/J01E9M)GZ$"-$1,HOC'U/Z40@
M4HA#PA6G<1PJ;R943J+-P=C=QT]-&+8 VAVCW&/M_,=_/1<#?^U;V/ID@3SD
MP^[ :']>QCL*>O$UL3[4>=SJ2\<U]^X:]2#F<<3[1RQ/7-4[&<QC49'%+V6Q
M>OR0L\6*9_F=3D#0E&(4?%V)\;-X$NH7<Q)$D9IM,9BDQ%=SW,B'-$P2&'EQ
M*".6),2N!KH]A*FIG-Z!5 98[]/:<V_F! W+Z,!:V8$'-?H96.,'VP9L"L;.
M0&N#TPPJ/?ESER3%%L#8>5!Z$G0DU4G?)_43O->K;*&;J-04\</#8UD\-4$S
M32U3%C"1!)+!.*8Q1-*3D 1^!",2\<2GF,:<VZTGG6UO>DM)'=QZS2/;PFLG
M;>=9-E,Q9\P-+%AKG#5GVTB=5Y0UHL21!IUO:U2Y,3)[7UG,;AHYY41S$+W-
MZE3=/)%LH1<3WQ?E+^K>Y1QY,:%$)C!-8Z4_,0UA&OD,2B^6R",T"JD_2G*)
M"T GYX&M#_@W*2( Z1#7!:>RJEK56X<KG<\6+.]%O;([4AZ)2YUNN+(U@:X<
M6$D=Y(8XR/1PL_,BU!9/(-V#89^\=&*'2S"G%7Y])=G.DC68MM<S3%)4E1 ?
MA6KUK:A8F=51W4U)6>K' :$R@%Z02(AX$$+BJ7]*QE.)8IDFS&IJ?J:MJ8T
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
M!*""QYJJ,@%P#A7(<LF+!*>Y2IQR 9^,/S="JL5K4I7]=A>?XF='+0-0&9E
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
MFUK2J*Q%C7XI5^U/_N08;G@%8SM6"X#<R,35@O:I :T1\BYJQ P8]M>/0ZB
MOBNS3!NJUZ_J61#>C<L]#UI]VVLWO7[>K$S\?'WV^W[[15:?O]!5VWC[;W*S
M-1$P;>XOS9B@12$ D44"$*0I8#B' *%$:ELLRQ!F7?$CRS/9B42W>@=/RR:-
MS%^-?/Y4-=FB6Q[;SFDA)SK?-?J \W9DT9'6$?L9'5_7:A[5JM]U+<V.M(]J
M]:.MUC]J ;B+VF>E#)=G_ES+%NK4>"JQISU>GG@QSLZAIY[?NUA?N9+B5[G2
M?]E^T._D44AF/;,1OY)?M ;:&&].?=[)[5]IN=J84R+9G@=]IC\6J4*,J 0#
MFINN%UF6 )RGA;:C$R:AH)#DQ*^>7S 9/;Y=4Y3\^WU52;Y^6)7_-/L+?+NC
M5:F=X >M@7.1N7#K:?>UFGQY)BM59]2*6KTBH]AI8'KS=3E1[FG5 */C_A]L
M'T@6M*Y=</##E;X+)]K4U?&"@WJA@%[X.89U_M 3LG)5?Z=>Z.],*=H3_\_Z
MF[5IROW!!2(TE1)*D'/(-<=C!%B!$,BE1'DAH?9>4I\F(#:3SVW;Y*@K0O2H
M!_UBCI >J]*U$+73 MB1\EBPCDRZ^\8@1W*;PZ<CR:,CT<,W"''!*W"O$*NI
MGZ5MB LHUSJ(.(WAQV-_K30M?JC6FD\7%*>HR# &A"8"(%3$ &=YIED+Y7$L
MLRPMLL5V;2J66KU/1V,[L=!^AO'>F5HTT_9#R^;&.\> V=&*)PPCLT:#P(=^
M!)PIX8*N@=[XXY$G?:$OJ/3T?;UTB6<6GG[OWZLF=.4UY75>C-FS+;?&K7TM
MI79@3?,:^B 74*BT8$H F0O]NC)! 8NS @@I"OT"QR1CN5N&LL/L+D_R1*G)
MJ]5.NW]\+V^D>EKX#4;?[MT?"=&1N<%(;0Z3VY"U3G!C5.S!U;)'!^$#)N&Y
M(Q8J <]AYFF3[]PA.4N\\QC"]Y1X51=T^WNY_?)BM]EJ#ZS:I_B]V&F;9;5=
M*"X+!$4.,J(8T']+31,+"'($24'2 L;**;/.9M*Y.4*_EG7-PXW959<_N#'@
M]2MG@ND<PV2L$+<]0 Z+X^BGR8VXT7<M;]0)?)(QW H=\FS9'J)@!\T64TY\
MZFP/POD1M,.][DWB/TF^J_1(KW[P+^;8X)U^?A8\$5QFC(!""FE"5"1@!<]
M07E!8TQ($EL5*[@VP=RXI9,QZH2,C)3VK>(O@MA/(2&@&?N\U T5IX;Q?:I[
MM8R_..!D3>/[U#EN&]][G:<+M%X]?);5UY>2;1>9DC1GE -:$./C2 RP1!E(
M,4948DA0X=0^^7CPN;VT=0L8$S[^C2YWM?V]WFTW6[JJ*R@++;&C-W,,I*6[
MX@G/V/Z("6HU<D4O^U!P]S4NJ!O*F3@>>EIOX8)29^[ I6M"QGXUQ^[W*_%F
M9=R*\ILTIS5M0.J"R((BEL1 8)6:DJ09(&F6 Z&,X9_))!'8J;"&NPQS>_F;
M" ; ZB =?J1%B*"L_M6PHX:1,1[[TW\I!.HH2FK4X/@!T(T:KM0OP0PBCZP@
ML@LBLAO*(PO[W7KUZNOC<OU3RI=E);E^%#9FZ#:_-2624ZD(H#*. 4H2"##.
M.4@E5:D22!3"RH"QF&MNE*:E!9VXT5[>.B;$(8/X!K[]Y!48M9%)J@<PG]SK
M&\@Y9%Z'0W"BO.M!2+JE7=MATYMT?6.(Z5*N[70Y2;BVO,73MI3U%NE?Y4I6
M=*G)^UY\+5>EZ1AB&/S5#T/O<D&36"8TI0##Q*1@$P:(1 BD"<490A!GN5,5
M(+MIYT:WK=1WT4,C=U-FFYZ(;GKB&=D=C4J[9;"T(X.#._JN48MK*W(-ZZG0
MT:L;L+J;C$XHA;(2[2:=UC!T N+,%G2[V[/=[NT81!-[^$YNWRL3(<P3JOU<
MD0"(-$DA)F- 4ZD XSS'+$OUGTX5(QSGGQMO'4<'K^OH8'X2'6Q:B#OV[W5<
MD"+/(<Q)!BCE==R3!#3.$)!0Y@5/!4,9<^^0,N*R3-<3Y5>J_\GE60>41X<6
MG[[+$NOW(\L3 @1%!"!S?(,53P$O*!*"Y1@RYMKU9/1%&;_/R=&2M%U-IE@,
MNX_[B/"._)5WS%$PS0XU\D'3$CS!"]5IVW'V:3MQ^T%SUJG;<YB)LZ)/<M:T
MT6+,%-,3Y?/:_.C]X5"H_IVL>+FIZ[$^J5Z-$IBA- 4I1AP@GG& 8V)R$+A>
M?)F*."'#-]FG4F=N5LNGW=>OM/I9]_,S -3!.T>ZU%["D39=+NU$.=9A'J$A
M)P-S?# F/&3PS,=^FG'=/$4-+*;[@?GQ7>]S-FKE[EFL]'.G<(=19@;'*U,O
M7+!T[[!2#?;ZZW2<92.\^._=9GM<@Y?(A.0T 0HB!5">Y^;\1P&80ZJ2-".)
MDI[.?L^T<_M:=FT%FO ^<\YZD#TZ"._MPO2M@+/G$@C7"1V6,W@/<I]U7/]
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
M.R %P"E)@'8,DAAAIA1R*KAU8[ZY$4@G;G0B;V0$=HWB[L?9CC0"HC<R<_0
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
M]@ \M3H<[O2C&1/$4VYK-_Y^)5[4=1@>Y(J;W.CSS<I"**HX28$TM(.DZ1-
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
MN(A9&F-F?RC2,]/<Z+R5->J$W;NZ+J< ?<C:')4$PFOL$Y-K4'F=G/1AYG*
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
M]$8IVV=-/I^.??Z6<*G6MR^K2GNH0G\XTRBC4L@B-3UO"$1Y44":<00+CK#
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
M/QV5&!O!?/IE,ED:C5]!0S=F;Z+>>-RI9^-(-U[C8\=#?:/>,T'MJ5]#W1H
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
MY[7>8&N?&S==,TIVM#40]CTSVJX5=8G_M1UF0JG/ )E?;FRI1V<S5,$[A0;
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
M8Q_5JGPRPL#S4D+-[6"FS0M [U<,Z!4TW_/XO"W=&^,.R;ZVT,1PQT+\UX]
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
M$W-FENRI2/3ZG3.(*$[T^IV;7!H:"4*II-PI7_JBQ+$1R5H]\-SH=^T>YR'
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
M,8\9*G(U?:ZW '^LZ')EL^:TEN[R-1WJT-^']9[J?W()Z HP^5#.YVU8N-'
M9=5F/PQ<<J4G! 93PBC4H,>08DRAXE@*EF<I$UD[#)_F%YI!]3X(:PT&&0)I
MFE;V"[Y-.*$7.'N>(7:;H325O/;4WD_=FP"M?#_XND0L>L%YJ&24<'@[1CV<
M4>L.BM@_;L"8B;.-^R$5]]L])MY/2DF39]@^43_-9-"L\Q7+^OW[]$OR%W.-
M44'+KW]Y)_4[.%]-59(HF1 )B4CU/$ + :F0^C^4%;EI",A2^X*8UVHSMC7$
M1E? =Y1UX*RKA\=BIA@2])[GCXTI:^;2QC1I=OOF3,!V9'8MFH#6IB&'R&&R
M&7*H!IJ"^A\RMYDI%,2=\]750H:;Q4+AL3>W!7NH9U,O4S3Z/:VDV'WVS7*I
M7\RF:.GK]I([^EJ?$34[IN;$Z.IU>RRLJF?F^T<ZOWVN%\7_D-7*)/$W*:AU
MO[+/M%S^@\Y>Y)0H%BMA>H&I*#7;$SG$-,50*<Y1P902B5MKL#<Q8VQS[.]+
M<^K:!$V!TCJ"GT9)Q^9A;_,^V&V(C'^4>Y[4:^M@;=X>\X,=#,RIK=WK6AQ
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
M'"X;UMJDN1*6%"I%):0I$Q"IDD"24*SYA,DT0SF2PDO:]-0@8^,18R,T223
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
MWF^T:&S\>]BC+[QO3> ,N9'NH+CWS+GG"Q".TB/Z+KT. +#78FP?>T90GAT
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
M5K>_J;V?G@;S4>LW/RSFWZ8DN9<__K:L3X8NGW2\2*OIM\TEU^5MK!3UVJR
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
MEEV]5\C:%E#UY9ZO,\-D<HZ90&=U'N(N<]C#X#DF(W4$\2<I\6#$?EUO))+
MHDV+X2-9-L;[B$CN'">6=7U0+ZP"#$HQ:9B2[>=U#8[;YYC"U!5NGZ#$(W'[
M9G8]5_%L(U!V3*V_P<]QLU!V?'W@H2B/\=-^.LK=%2^!RW4H9-L,H"T5/K7'
MALYU().P)6ANI&S=@7POPHYN7'FQR.?UFV?+72ZUF9Q4@=A,%B$:%J D8RB,
M35ZFUN_7;E+0S9R31EBXTWGR<'EW$$1=4K^12&V>.9_5W?KB^W0Y$0FY4$D
MDTC,U"XAWKL$0AA4N42!N76Q\(,$=8*E S1]'VB.%GL'&+K%P^OY69C.)I;Y
M))27(#+GU:U,$*R10)O+<W1:9M6Z9&PG(9U@YGA%W\X '2WU#J!S[0[@KW@6
M<3%Q/KL<G 23ZZB\0$8YAN# 69-#LBJ;,N"TR@T1XT*F@6+OGTEY@)0[@,F+
MG-<#%</IAS#-;V?;%[M;9I!A$ XU.*QSH KS='!3/.NR2XI.<*9BZRS$@P2-
M6R33'C[MI-\!E#[BBN2!^4U8S*:SD^66BYKQ4!@SV=]ZF*O (82DP!BM7&1%
M(F^=W=U-R;CE+^W!TT#>':#F14KG9^>G-:!=-_:I$EK@%YPMI]]PT[?VTK+:
MK+D54%!H4-%2*"%3!AN,R,7XJ)OWO=Z;N''OP@8P3(-HI0.X[9CYNV7$*$5;
M@UQ$KC.",K6%F5(>T%FEB_#<RM:=ONXE9MP+H_9P:B/U#N!S&72\(\O[EOYS
M.8G*RER$ &YKC^Y$1[67O( ()2OIC6>F=<GZ72HZ:;71,'P_3, =0.3NE>;=
M]-C'^>GI;_/%'V&1)Q269D160 M! 4.6&CS2/X05"EW0A36OH7LBB9W$^0<B
MXM%^@NW4TP'Z-@/L:RD@YDG03H28-6A.#"@A%+@B$]C"$I<JYV2:)QFOK=];
MK_&&BMXU(^D0J7=SZWM7-A.!1B?4C YDQBC\M Z<J@>^5<0(LN!R^X-M]\59
M/VW$!\30<1KH!DDW)XES+J7VM0%!U!F4]06<%@%LC!EC2:7PUB;HZ4/<G[$E
M^'#X.5SN'1Q;]P69ZR'*\P5.3V:OSHFN6?KQ>1%FRY"VDSK7OSK=*/1R L_%
MX.^)RD+)B!$HE"!3'!5%%S)+,,P*7G0D[+2^*1F&D][:C \'XPZ0T/E^^%!_
M8\WR^J<^S)>K!:ZFB[63O)TQ5KO#+7>(@1OAA#/U.KZ&9L5Q<+4N.9/#XDAI
MUC1O9SX0*[TU/Q]G1SP7%HY]C_9YF%'T]]R?K-WQ>'MDZ4<DM2RG*_R$BV_3
MA)L*Y#JJ[62V_LI_AM-SG.@4.'<L013<D5@XAXBE5FX6R[2VR- WO_,:EJ?>
M6J\/MU>Z0L?8G5S78MX$I:_/%]/9R8:G3;!Z5?VY_K$75?2?<+4Z79L..B]9
M-!8=8$D4>M1PULEH@%GO"Z]S"<VMRY9[^KH>041O#=?;P_99U=0I'-?[ZA$V
MF1=6)W+7A*R%],8HBF:"A)1-M"(F[V_;Y*>A<0\:>NNQ_KQ@;*VD?OR)!W??
MVJF:,&N\9B& 2%838TZ ]YF\I6"5%O5 $.T+?1^C:B\\^I\9CP-IJ(/H;LW1
M59N('6Q- E/)8^(@4=?)J\;6ODNU^5(LV7-AA&C]M/UQJO9+Z+-_&M"U4U'G
MH-OXMMPY=#H7"#I;4.3*0C#<@)16<"9,\+S]NXU'B-H/<O\<ETA-%?23G+#K
M/WS_==WE]<UW7*3ILEZAN82E*(JME%"UW2NC_V(9I#9<%6>T#JUC\*=3N1\T
M_WGNIH9382_6\1Z_=S>#T02E;6;@,T5=2F@#3L0"T@GE4_%9V=;E]$\F<C^(
M_E-<?PVKP+%CYQL%=&N>+H9KO/E>N?D<OK\XJQ-9:X^[O^+JRSQ/;'(1H["0
M!1)_RF7PM.W )(G()1/H;\V(NB=H/F#Q_8#W4U]8/8M>.CK%KY>X6"8Q"&2
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
MW&:\SV^GGUWG_094+U):G&/>LGA4]GS7A]I5VSU&9;L'-76EBT++Z>4#A"L
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
MAWU2X=8^*0J(C@C_]OG81D'<8 X:A6*/;N+Z[KE[)H,TA!+O;"WP\[HS/FM
M+3BS# DHK=M0GR7J6$/T*TGX587D(O_R^<MJ^15W]I0+S%(SA%SJ@,A0,D0,
M!F1)0II2A FM$U6/D#)M)-<6%7=-4@OI=W";_71),JQO]%[]R,<NV:^<Y\E9
M"SX&#THI"<YG2?&OXZAD=DJU+N,^2="TU=QQ =5.$UT4YWX+),T%;EV^[X+:
M\9(5"Z&^H$J^MNYY1O+B)M<\KU6<5P^PM3%^G)II2[SC0JJ1#KK T^OE@B1R
MN9W(N.UX^$BJNCH<PNB SC%@) ]0@F)4ISF"]8';:)WU8[QG>XR<:<O XR*J
ME1:Z@-2CHMKQ8W7P*?$"MNY'W^Z2BCH78$64PK?!:>M1/D]3-&V]>%Q@-=1%
M!UT'KU*Z_'QY4:O1M]<9TJ\O<*LO\AT_+U>;^?]L__Q1YF>U_3@Z74 J*<E,
M1T?"91Z*R-Y*CMQA:PRVHGW:@O6X:)U$O\?V18QK,VL!/XFBF>(>HK7DI"97
M<\6U4E88>1L,;6C>%?T4/7LAT)XG IOIH=]&BE>)>%K/ZP>M6ZQ.??+SFKTJ
MWY?F1JFOGR[7Y.&OUZ^7G^-\L:7YYKV,$H5SQP,AJNX15SI#]'1U$LAR*,99
MIUL'6D_1<ZSMN7X!\K9<?\MM<?_T[=;O=D-F2BK)1T'.J*F[B!GY#R'3B6!6
MI%**8+IY'_%0&B<>^M0*/7?-TZBJZB)M=H^K[2"U$(.0M1#!<FUATSI!S"Q
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
MZ5J""^!3SB "*QIC3$6>\)8[!HFC]0M/>>^U4-OT-^'6(C]FKA\]>]+R@,9
MYG5ZD149'#(!3)M<N!)"L["7M3ODVZ?M!Q[7]HVNC9?1/7S3V/_Z4UA]Q%.U
M#3_ZO1/T"^\G@TD:A5G@Y/!3+(!:UAF)JO:., ?1R"1U$4*HT4;N=M8HK#52
M=*T2Y%1JYC'Q^KHJ@O3%!,9$:;^P\F4V"@_!U!&-PD/TU8%7^?26*$Z158C*
M@HBU@R$2'[Y$!SDD[3@+4:)L#;YS6+_6%@6#-K(-44D/^/IAC4DJ-:J2))'M
MTWHI%3B3$)"7(K*3IIC671YGLY%MD&*?W,@V1,I39T?NK1AC,IN4?8 4//FB
M3C)PV2$XE[A#+"+X_5)G/6]D&Z2A)S>R#1'7]+J^NV#,2>\C%K*+ICYT153@
M(_$AN1$V&>%\V/=5?\<;V8[0]C$"FUK=#Z^>$MQ*YP7HNG-&,6' "Y20K$I!
M1>N$D7MI_."-72?:T':PTH\66P>W_M '*1:C0'*00-"51\*J#U)<?9_B)=V(
M-JL23EP3/ML^^&,\SS'5UC\J'^PL8BPE$5& ".AK]V(!K[(&=$$J'T-1K/F
MI)?^_&P0;!H\/QNBPPY@>K\[6V0ZMSE!4LS7<2 )HM<&DJ.H(-%=8GWKGN:^
M>N-'5_JS_?$#-- !@O8J,3CTR11N2/E8^[+IMG".6+3:1RV3LSJT'E;YHAH!
MC[EHFRNH ] =-<_.,(X\"PXYNKJ()#J(*@=@F4XN9F\M:]V5.OH<PFD;! >A
MI^5HPB&J?!G%Q-NUU)___047ZW%WS.SUS5,,(-I3#I.4%"6:XJ1',.05@#*9
M0R@Q@RR8!,O!JM"ZE''2DN)MX=\_M;,HZGIWS787E6):@PL^@B9/" M#95-K
M]I^FZ)Q*AT.P<]>6-M3+R["6;RYK7FLZF_GL]T]@.8?)9!+[R6U,HA0!6*0%
M%0BM7GD'GI20O=11IK&6B9[$?C[A5#VJG>_"260>@E8.$"49"!7)V>))U!&X
M17OI&&O^IN48>L_)]@[!W8 PJZU..PB_GNHSO<_E[V1#/OR%%U_QM^5B\VD]
M*XJYJ*T$H[BL'?5T#QE&OPI%D?=.;GMHO9/Z.(J[#<$:(VM .W%C-??^DNL!
M?O\+P^K#7\L9IAR4I?#3\FSJ<E0-'HG-^F+71Y8U.^44F\<)[?;-5T\@/D2I
MYXI= B/.F'92RY# NA1 <1*R8YP!*U9BEED4VSK??R"IW;Y ZPZ_@Q5[I@A^
ML[Q<S9A),15KH&@FZ&Y!#L[2F8T*&>I2@@DG'&GW!*7=OH+K#;^#U7JN\*6?
MG2F+7 A5P&)-G2<CZ:*1E5EK8A LIA"GAR_];+=/Y[J#[U"U-H1O\V3;JY16
ME[7RLF7OF)=+CWQ2HP38/G0V2F5=?=6O\Q#G%_/-'->O+U<5PS=CXIWPJF@#
MK,8\2K  7I$O*4/.2CE6>&[]HNA9HHXU;S^3CI??$*_2B_>_:)9D*8;Y#$X)
M#DJ[ G3H)#!7DG;:&:U;#RY^EJAI _>V2+EKF=IJ9/JWO5?2NIF_%HFM[[R0
MZEUVW()W-2 KF7XED6RX0]3<RW"O+^G1*1=/?,VT,?(X>&DLW"Z<K;=?MNNK
M%A]_Q4 ?>26P;U?\W%J'1==W6*1YN/ACN9[O+NKK)5B_SM>;&<H4''D$8%(=
M[J&PD PL@YBYLR)H[UGK712M:)\V'A[7MDVBWPX2ZT_S/2NV>!84D<\*Q?1!
M"XBQ5BKJ4XPLA;+AM&B=-J:=$H.#=-$!LOY8+?-EVOPSK%9AL?FV%5VXV#:R
MSLN\W@P[ML@_D#IY :Q(BKMM4.""=<"-X2@I^"ZI=3RZ)VG3!J#C8FT,[70
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
MD7@"A74^'07W@+&$)&UT18R/LXZ+!8/TO&^Q8(C0.P#/X-11"*A5%KH^3.)
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
M4D'((H&-+!-_(C/3>ES^6?4Z#M+SWC,]!@B] _ ,;J*SSEO!C :F"GF\=+[
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
M8T !*D+=JP@N,PNR#I)+,IG 3I,,'HO#'IL>IS^#?0*LBV5HQ_H#M^K$5_Y
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
M,VB%MZY]POD1$>,"IY%PGV2;3^'TV(41'_"*OO_I'S@CI_9J_5[YRW0VK<Y
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
MM>(&,"J3K18AZ-;A6"/2.TDG-$X CR'7#I3G/I[,:PD^YZ7CK$C0GB)3);R
MJ%T"[M"@-RZGU+KPOP'9XV9Z1X';$<%82]E?"-QWI@29=3[IY !M360G4\!E
M4B\ZDM?.A'"ZM*X,.X7><?7TI0"\B;0O!-GW4HHY"R>]8[2GS,F32^1U29_
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
M?7E1KSR30T7J,>0(@6M%\:Y2$*1'P*!C2:1,3?/)?FW?, [6#>#L3GP3&74
MOG_-%ICFGV;3_UYO[J:7P:T=_Q-GX6K=W77=!@M)KJMM&X1)S'30K*H3D.O,
M.**. F;R#X/7N>28;(RM??D3R!VWF\#0 #V7'"^B[_*'ZR]?PN+[O#Q]?-7F
MF< >"[1_.'#HKL[PE "#3X8'"0D- F&(;*Z)!4K20A'OHDX7T'2Y7L7=\726
M_]_K<#4MWVN'RI1J*<[R;JV;.QH?N3,>$O=UBHF4X,EM!94<DTDSP?1>I9BO
M7'4>1%0G99DGHN3^]>AP,NG \#X]Q%4UU^99BV^X_$B?LBXE*4P8[:6 DEFJ
MU0#DQNJ0 440!;WBW+?NH[P?9>.57 P(B_G@,NH>>=LJQN(9.FDU<*9$'0I<
MPR?,8',VM!U%$5;K*]-]Z!I7R0V!AX,@=X1PN@3<N_(DH-H6P>1DM?%1@.6E
M=O&@7067*8#G-MF2DN)JKR*BDW"WD[R>X7<,-EX%7QM!C5RFMJ_!N(O$=)2%
M,0J],JL>2] "0FW:Y[2+,:!D1K4H6SV8L/'*W88WNL-+J@-5^,_YMW6_^]]F
M+Q_F]_.KJU^W^7 3(C=&>&#:T4ESA4$LQ8)1IO;%*EG%UB[@$63V[P\>"9KY
M>278 4A?WMA/X6K=Q48Z="(R"R&+^EA<(SB/ 2279&=$3-JU?@6T%V'CVNC!
MX7&0OWB,K(X&X-?UK>Z'55BT*9A[>6L_?PZ+3[5136VP6V<L;9.96J!/.B#P
MG,GTZ!AJQVD+CKL441C.['EAN8/0<<OL^H)I"UEVKS=_P7R=-H,.;6UJZ<@]
M%SPR\M%+AIAC'1>2D5D1 SM#D/,\;>/6XO4%RR,E=FKOK3\:%1R_O+G[PV$Q
MBZ@*>>I:EEA['U+,*-==H30/F65&/M%9\7CHO-_!:O'Z N2Q,NM>-][X*0PU
M\2@%X+P.B<B^@(\V@]91R" #2W*O5\.C^)2#5>SU!<)C9'6B3_EV=K_C[I W
MQ_?^^F>85E4\+_6U"9;K66XTLW>_-=K?'Q^QMS-<(9<263*9%%?-F"NG:K*<
M<(LA^D)AB[.NM>T9L!O=4QY/K$DQR.1 B,!J3;\"EX(F_\&1JD[)!-TZ??.4
MBGXOAP^1_\Y^3\=QN]]:EIO">U)_ZZDR+;I<OOJ9C33.8;0WTC WB_ZY7?06
M7@0J7Z1)4))A]6DVP<O+!*A=-%9I:6+K=, N6D[N[Y0^4T!2AW:\F:VF>7IU
M7;GZ =/U8OV"X^U?Z>J:6/DKG;\Z@>AZ([]WY3%!FQP]=T%XHSV4F@E52:[[
M46?(Q?,:=OO<?/YHVQV,J].:(.Y)]ZCQ1-Q!C'#BGG_Z_OP'K._D78D"0TF0
MN R@M#80\GI"JPA"V)S0M&Z>-^!VQH7^F"B=]PF9;D_/'^$+;BL#G$%OI35
M#E(&Y9.$P"A@,RQGSXIS3K?VM%^C:5P<=P.>O4!]I"0[0"9Q\<M\]F%%+NFV
M>*3XY(7@#CA+"92*#B*+"(QGGYU(*CP>_78R%)\0T2/VCI7QO"7#.T#,B2?S
M[J8_QES06@9<"^*BX1(<R[7!>5391::M;]U9HQ7MXUX0_C@V_C@P7/XA>/.E
MUK],LN0H'.U7\-J+4 L&/M52+('%6\:)(9TYOAO">U3/0V.N+?"/ ,#E9,1N
M]-.\W./!O/P4EM,49OF7RC;,C_]5P_39:00,E&MKR)6A$W-,)N6]T,!L(#"B
M+>"DL<"=MMEX)LEOOI#$W"8-71]V;LXD'=O9-2VT??-9ZP>B<<S[P,&@4[6G
M08"HR?XE:82+P4<B=I!+@)>HZC2!=@@RGK\1:":*H_7A-US$>=-1(C=[JE<H
MFVUAOMO5'[AZ5R_SWJPV+7RJT_5Q_AZ_SA?UT?%;^@>K[Q,I@]4E,@I%=:AE
M@!E"T@FT5@EUT E%Z["K&?'CNL-G .NY!#MZ(T3:TMW.)U9935R+X*.CR-0%
M4QN?4J":)-=.J#J5M3$F'Q P;L';(+@ZGL'-1OX=CX[_A=-/G\E)>4,J-'S"
M/ZYK_N)=67-G^>YZM5R1(T,L6_LTD\2=C9+VI8.TVWF&3!HZ M$IIZ*6NK5&
M.XC <:O7!D'7< +JQ=HNUM56X6J;1EMO[*'^W>1_PQ+SG^%[_>4WBT7M![XI
MS9.T8Q^,@EB2 %7JM!?K##$[>1=%I!^U=FU/IWK<$K>A[.LY1=E!RFC'V=S&
M?4^.Z,1)GGT@OP&C9)M.65%A BMK>H('9TWK].B!)([;_^Z<"K2)D/J=V?L[
MTAEK,JYWQR<U2JGL0V>CW,AFJ5M,20*/UD)",,Y6)SZ!YY%#TD4Q<MLBSZW-
MQD,*3M4^O^-RB;C^S%]PF1;3KU4 FPL 5X3CB7MPKEYG,>9J>RF$HAQ7PGN9
MFU\^OT#.N)F/$^3^6)>T8GD'MFL].:]:W;?_=4TQ;4U@SF?5"*_OT[FQ7LA"
MFXFUK1[7GN*9VIP].9<RB^B-;8R?%PD:&T&-Q/[<],(F,N@ 4(_V<-,?0R6F
M4$1 [LERRZC !YO 2)$T$1I1M&Z%_RPA(Y=PM1/TX[D>)W.] ^B\KU9_=G=3
MLJVB$%)%JWP&SC'4O@$&/#.DKDLV=,Z"Y?NU?3L .\]3,G+F_G01SYOSNX>A
MA^O#0SP0FB4$QW.BPZ,D\2%I$(I9\F$U.KY77?5E3+YL;8F.YV4/ -CBU@C,
MS',+7F*]8@H:0K0>M,LY,I%LMC_@U,N#A+5CZN4AG!M[^.&#J8V>[*)@KH"I
MUS#DMS.(PD@@B#NF+*?_MA!YAU,O#Q+9SJF7A_!O;,$_F-J84N1.V@RL=IPG
M&\7!FQ+HRY"*MPK+?BUP+V_JY=&"/YI_'7B&S]N[W^]Z>%/XG@.2 \3J]%:O
M20G*&.H+;,6+,Z(TS_V_0M*X%YQ#1:HMY= -K.Z:Q-=]O<<9_CM<?<3%ETD2
MJ6"N[1V*='1*O 97I\%KP;@A5YNH;MT8X162>DR '"G^9Z'51A8=0&O]#.#S
M_(H$LMQ$;N2I.8T4S$-$%^O!2Q"X3"!%<$I9YW)LG8Q]2D6/<4L; )W(\8;7
MX /=XFP:P899OC<_;EXV+#WY8F>?#V]ZUW/P;H:Y_O%>.ZX3 UX?YBBR?1 T
M4Y"MKTVGG$FB]:SLMM<_CS1FO>1\5_ZUQ#5_)TQJF4H08%PA8R]"@JA<'0?
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
M;/(Z9F.LEJWS)H]I&+L7TPCP.4D,P^=?MS^H?\2PQ/_G__H_4$L! A0#%
M  @ \D956"S82;M^'0  ":T  !X              ( !     &5X:&EB:70Y
M-W!O;&EC>69O<G1H97)E8V]V+FAT;5!+ 0(4 Q0    ( /)&55B=H%OA# 4
M /DU   4              "  ;H=  !Q-#(P,C-E>&AI8FET,C$Q+FAT;5!+
M 0(4 Q0    ( /)&55@H6@+RSP,  %L5   >              "  ?@B  !Q
M-#(P,C-E>&AI8FET,C,Q+65Y8V]N<V5N="YH=&U02P$"% ,4    " #R1E58
M8*ECO; '  #K)P  %               @ $#)P  <30R,#(S97AH:6)I=#,Q
M,2YH=&U02P$"% ,4    " #R1E58]JUMX*X'  !8*   %
M@ 'E+@  <30R,#(S97AH:6)I=#,Q,BYH=&U02P$"% ,4    " #R1E58LT[,
M)M0$  #E$   %               @ '%-@  <30R,#(S97AH:6)I=#,R,2YH
M=&U02P$"% ,4    " #R1E58!:[6J=,$  #T$   %               @ '+
M.P  <30R,#(S97AH:6)I=#,R,BYH=&U02P$"% ,4    " #R1E58!6MY7.Y&
M @!H,!\ $0              @ '00   <F]C:RTR,#(S,3(S,2YH=&U02P$"
M% ,4    " #R1E58J[16,VX:  "F+@$ $0              @ 'MAP( <F]C
M:RTR,#(S,3(S,2YX<V102P$"% ,4    " #R1E58!PI6_/LI   4JP$ %0
M            @ &*H@( <F]C:RTR,#(S,3(S,5]C86PN>&UL4$L! A0#%
M  @ \D956/$))/="@   >_0% !4              ( !N,P" ')O8VLM,C R
M,S$R,S%?9&5F+GAM;%!+ 0(4 Q0    ( /)&55BIM]#;Q-D! '5  @ 4
M          "  2U- P!R;V-K+3(P,C,Q,C,Q7V<Q+FIP9U!+ 0(4 Q0    (
M /)&55A+O&]VV0,  '8%   4              "  2,G!0!R;V-K+3(P,C,Q
M,C,Q7V<R+FIP9U!+ 0(4 Q0    ( /)&55CL;/M)&ED! "-E#@ 5
M      "  2XK!0!R;V-K+3(P,C,Q,C,Q7VQA8BYX;6Q02P$"% ,4    " #R
M1E58@0-'J@O?   N10H %0              @ %[A 8 <F]C:RTR,#(S,3(S
?,5]P<F4N>&UL4$L%!@     /  \ \ ,  +EC!P    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>132
<FILENAME>rock-20231231_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:rock="http://www.gibraltar1.com/20231231"
  xmlns:srt="http://fasb.org/srt/2023"
  xmlns:us-gaap="http://fasb.org/us-gaap/2023"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="rock-20231231.xsd" xlink:type="simple"/>
    <context id="c-1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="c-3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <instant>2024-02-20</instant>
        </period>
    </context>
    <context id="c-4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-10">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c-11">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c-12">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c-13">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c-14">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c-15">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c-16">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-17">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-18">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-19">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-20">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-21">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-22">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-23">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-24">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-25">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-26">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-27">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-28">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-29">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</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="c-32">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</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="c-33">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</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="c-34">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-35">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</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="c-36">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-37">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-38">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-39">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-40">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</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="c-41">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</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="c-42">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</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="c-43">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-44">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</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="c-45">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rock:HomeImprovementRetailCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-46">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rock:HomeImprovementRetailCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-47">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rock:HomeImprovementRetailCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-48">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rock:HomeImprovementRetailCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-49">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">rock:HomeImprovementRetailCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-50">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandBuildingsAndImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-51">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandBuildingsAndImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-52">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-53">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-54">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-55">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-56">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-57">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">rock:BillingsinExcessofCostMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-58">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">rock:BillingsinExcessofCostMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-59">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">rock:BillingsinExcessofCostMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-60">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:PrivatelyHeldUtahBasedCompanyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-05</startDate>
            <endDate>2023-07-05</endDate>
        </period>
    </context>
    <context id="c-61">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:PrivatelyHeldUtahBasedCompanyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-07-05</instant>
        </period>
    </context>
    <context id="c-62">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:PrivatelyHeldUtahBasedCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-05</startDate>
            <endDate>2023-07-05</endDate>
        </period>
    </context>
    <context id="c-63">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:PrivatelyHeldUtahBasedCompanyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-05</startDate>
            <endDate>2023-07-05</endDate>
        </period>
    </context>
    <context id="c-64">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:QualityAluminumProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-08-22</startDate>
            <endDate>2022-08-22</endDate>
        </period>
    </context>
    <context id="c-65">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:QualityAluminumProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-08-22</instant>
        </period>
    </context>
    <context id="c-66">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:QualityAluminumProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-67">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:QualityAluminumProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-68">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:QualityAluminumProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-69">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">rock:QualityAluminumProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-70">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-71">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-72">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-73">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-74">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-75">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-76">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-77">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-78">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-79">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-80">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-81">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-82">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-83">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-84">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-85">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-86">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-87">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-88">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-89">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-90">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-91">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-92">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-93">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-94">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-95">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-96">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <startDate>2023-10-31</startDate>
            <endDate>2023-10-31</endDate>
        </period>
    </context>
    <context id="c-97">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-98">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-99">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-100">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:UnpatentedTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-102">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:UnpatentedTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-103">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-104">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-105">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-106">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IndefiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-108">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-109">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2022SeniorCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-08</instant>
        </period>
    </context>
    <context id="c-110">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2022SeniorCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:MediumTermNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-08</instant>
        </period>
    </context>
    <context id="c-111">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2022SeniorCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="rock:DebtInstrumentApplicableRatePeriodAxis">rock:ApplicableRatePeriod1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-08</instant>
        </period>
    </context>
    <context id="c-112">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2022SeniorCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">rock:SecuredOvernightFinancingRateSOFRMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="rock:DebtInstrumentApplicableRatePeriodAxis">rock:ApplicableRatePeriod1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-08</instant>
        </period>
    </context>
    <context id="c-113">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2022SeniorCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="rock:DebtInstrumentApplicableRatePeriodAxis">rock:ApplicableRatePeriod2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-08</instant>
        </period>
    </context>
    <context id="c-114">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2022SeniorCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="rock:DebtInstrumentApplicableRatePeriodAxis">rock:ApplicableRatePeriod2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-08</instant>
        </period>
    </context>
    <context id="c-115">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2022SeniorCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">rock:SecuredOvernightFinancingRateSOFRMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="rock:DebtInstrumentApplicableRatePeriodAxis">rock:ApplicableRatePeriod2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-08</instant>
        </period>
    </context>
    <context id="c-116">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2022SeniorCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">rock:SecuredOvernightFinancingRateSOFRMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="rock:DebtInstrumentApplicableRatePeriodAxis">rock:ApplicableRatePeriod2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-08</instant>
        </period>
    </context>
    <context id="c-117">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2022SeniorCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="rock:DebtInstrumentApplicableRatePeriodAxis">rock:ApplicableRatePeriod1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-08</startDate>
            <endDate>2022-12-08</endDate>
        </period>
    </context>
    <context id="c-118">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2022SeniorCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="rock:DebtInstrumentApplicableRatePeriodAxis">rock:ApplicableRatePeriod2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-08</startDate>
            <endDate>2022-12-08</endDate>
        </period>
    </context>
    <context id="c-119">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2022SeniorCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="rock:DebtInstrumentApplicableRatePeriodAxis">rock:ApplicableRatePeriod2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-08</startDate>
            <endDate>2022-12-08</endDate>
        </period>
    </context>
    <context id="c-120">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2019SeniorCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-24</instant>
        </period>
    </context>
    <context id="c-121">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2019SeniorCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">rock:LondonInterbankOfferedRateLIBOR1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-24</startDate>
            <endDate>2019-01-24</endDate>
        </period>
    </context>
    <context id="c-122">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2019SeniorCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">rock:LondonInterbankOfferedRateLIBOR1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-24</startDate>
            <endDate>2019-01-24</endDate>
        </period>
    </context>
    <context id="c-123">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2019SeniorCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-24</startDate>
            <endDate>2019-01-24</endDate>
        </period>
    </context>
    <context id="c-124">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:A2019SeniorCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-24</startDate>
            <endDate>2019-01-24</endDate>
        </period>
    </context>
    <context id="c-125">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:StandbyLettersOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:SeniorCreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-126">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:SeniorCreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-127">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">rock:SeniorCreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-128">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">rock:A401kPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-129">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">rock:A401kPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">rock:A401kPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-132">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-133">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-134">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:DefinedBenefitPostretirementHealthCoverageMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-135">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:DefinedBenefitPostretirementHealthCoverageMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-136">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:DefinedBenefitPostretirementHealthCoverageMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-137">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-138">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:DefinedBenefitPostretirementHealthCoverageMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-139">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:DefinedBenefitPostretirementHealthCoverageMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-140">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:DefinedBenefitPostretirementHealthCoverageMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-141">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-142">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-143">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-144">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-145">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-146">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-147">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-148">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-149">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-150">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-151">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:Amended2018PlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-02</instant>
        </period>
    </context>
    <context id="c-152">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:Amended2018PlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-03</instant>
        </period>
    </context>
    <context id="c-153">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:A2015PlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-03</instant>
        </period>
    </context>
    <context id="c-154">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:NonEmployeeDirectorsPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-05-03</instant>
        </period>
    </context>
    <context id="c-155">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:NonEmployeeDirectorsPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-05-04</instant>
        </period>
    </context>
    <context id="c-156">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:TwoThousandEighteenEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-157">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:NonEmployeeDirectorsPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-158">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rock:A2019Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rock:DeferredStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-159">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rock:A2018Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rock:DeferredStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-160">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rock:A2017Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rock:DeferredStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-161">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rock:A2019Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-162">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rock:A2018Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-163">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rock:A2017Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-164">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rock:A2019Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-165">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rock:A2018Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-166">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rock:A2017Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-167">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rock:A2019Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-168">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rock:A2018Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-169">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">rock:A2017Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-170">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-171">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-172">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">rock:SharebasedCompensationMeasurementReturnOnInvestedCapitalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:A2018PlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-173">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">rock:ExercisePriceRangeOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-174">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">rock:ExercisePriceRangeOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-175">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-176">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-177">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-178">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rock:DeferredStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-179">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-180">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-181">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-182">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rock:DeferredStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-183">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-184">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-185">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-186">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rock:DeferredStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-187">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="c-188">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="c-189">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-190">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-191">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-192">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-193">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-194">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rock:PerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-195">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rock:PerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-196">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rock:PerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-197">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rock:DeferredStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-198">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">rock:DeferredStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-199">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">rock:ManagementStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-200">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">rock:AccruedExpensesCurrentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-201">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">rock:NonCurrentLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-202">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">rock:AccruedExpensesCurrentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-203">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">rock:NonCurrentLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-204">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-205">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">rock:ManagementStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-206">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">rock:ManagementStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-207">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">rock:ManagementStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-208">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-209">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-210">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ManagementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-211">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">rock:IndustrialBusinessSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-02-23</instant>
        </period>
    </context>
    <context id="c-212">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">rock:IndustrialBusinessSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-02-23</startDate>
            <endDate>2021-02-23</endDate>
        </period>
    </context>
    <context id="c-213">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-214">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-215">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-216">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DisposalGroupDisposedOfBySaleNotDiscontinuedOperationsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">rock:JapanBasedSolarRackingBusinessMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-04-01</endDate>
        </period>
    </context>
    <context id="c-217">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-218">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-219">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-220">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-221">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-222">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-223">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-225">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-226">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-227">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-228">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-229">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-230">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-232">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-233">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-234">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-235">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rock:SellingGeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-236">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rock:SellingGeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-237">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">rock:SellingGeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-238">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementOperatingActivitiesSegmentAxis">us-gaap:SegmentContinuingOperationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-239">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementOperatingActivitiesSegmentAxis">us-gaap:SegmentContinuingOperationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-240">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementOperatingActivitiesSegmentAxis">us-gaap:SegmentContinuingOperationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-241">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-242">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-243">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-244">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-245">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-246">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c-247">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-248">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-249">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-250">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-251">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-252">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-253">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-254">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-255">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-256">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-257">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-258">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-259">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-260">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-261">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-262">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-263">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-264">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-265">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-266">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-267">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-268">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-269">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-270">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-271">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-272">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-273">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-274">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-275">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-276">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-277">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-278">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-279">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-280">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-281">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-282">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-283">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-284">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-285">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-286">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-287">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-288">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-289">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-290">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-291">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-292">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-293">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-294">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-295">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-296">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-297">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-298">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-299">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-300">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-301">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-302">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-303">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:RenewablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-304">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-305">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:AgtechMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-306">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">rock:InfrastructureMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-307">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-308">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-309">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-310">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="c-311">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="c-312">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="c-313">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-314">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-315">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c-316">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c-317">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c-318">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000912562</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="segment">
        <measure>rock:segment</measure>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <unit id="unit">
        <measure>rock:unit</measure>
    </unit>
    <unit id="reporting_unit">
        <measure>rock:reporting_unit</measure>
    </unit>
    <unit id="debtcovenant">
        <measure>rock:debtCovenant</measure>
    </unit>
    <unit id="plan">
        <measure>rock:plan</measure>
    </unit>
    <unit id="facility">
        <measure>rock:facility</measure>
    </unit>
    <dei:AmendmentFlag contextRef="c-1" id="f-33">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus contextRef="c-1" id="f-34">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus contextRef="c-1" id="f-35">FY</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey contextRef="c-1" id="f-36">0000912562</dei:EntityCentralIndexKey>
    <us-gaap:ImpairmentOfIntangibleAssetIndefiniteLivedExcludingGoodwillStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration contextRef="c-4" id="f-645">http://fasb.org/us-gaap/2023#GoodwillAndIntangibleAssetImpairment</us-gaap:ImpairmentOfIntangibleAssetIndefiniteLivedExcludingGoodwillStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration>
    <us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList contextRef="c-8" id="f-664">http://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrent</us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList contextRef="c-7" id="f-665">http://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrent</us-gaap:OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <rock:IncomeTaxStatueOfLimitationsExpirationPeriod contextRef="c-54" id="f-1244">P4Y</rock:IncomeTaxStatueOfLimitationsExpirationPeriod>
    <dei:DocumentType contextRef="c-1" id="f-1">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport contextRef="c-1" id="f-2">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate contextRef="c-1" id="f-3">2023-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate contextRef="c-1" id="f-4">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentTransitionReport contextRef="c-1" id="f-5">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="c-1" id="f-6">000-22462</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="c-1" id="f-7">GIBRALTAR INDUSTRIES, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="c-1" id="f-8">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="c-1" id="f-9">16-1445150</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="c-1" id="f-10">3556 Lake Shore Road</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2 contextRef="c-1" id="f-11">P.O. Box 2028</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown contextRef="c-1" id="f-12">Buffalo ,</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="c-1" id="f-13">NY</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="c-1" id="f-14">14219-0228</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="c-1" id="f-15">716</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="c-1" id="f-16">826-6500</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="c-1" id="f-17">Common Stock, $0.01 par value per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="c-1" id="f-18">ROCK</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="c-1" id="f-19">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer contextRef="c-1" id="f-20">Yes</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers contextRef="c-1" id="f-21">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus contextRef="c-1" id="f-22">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="c-1" id="f-23">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="c-1" id="f-24">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntityEmergingGrowthCompany contextRef="c-1" id="f-25">false</dei:EntityEmergingGrowthCompany>
    <dei:EntitySmallBusiness contextRef="c-1" id="f-26">false</dei:EntitySmallBusiness>
    <dei:IcfrAuditorAttestationFlag contextRef="c-1" id="f-27">true</dei:IcfrAuditorAttestationFlag>
    <dei:DocumentFinStmtErrorCorrectionFlag contextRef="c-1" id="f-28">false</dei:DocumentFinStmtErrorCorrectionFlag>
    <dei:EntityShellCompany contextRef="c-1" id="f-29">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat contextRef="c-2" decimals="-8" id="f-30" unitRef="usd">1900000000</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding contextRef="c-3" decimals="INF" id="f-31" unitRef="shares">30442954</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock contextRef="c-1" id="f-32">&lt;div style="margin-top:9pt;text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%"&gt;DOCUMENTS INCORPORATED BY REFERENCE&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;Portions of the Registrant&#x2019;s Definitive Proxy Statement to be filed for its 2024 Annual Meeting of Stockholders&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;are incorporated by reference into Part III of this Annual Report on Form 10-K.&lt;/span&gt;&lt;/div&gt;</dei:DocumentsIncorporatedByReferenceTextBlock>
    <dei:AuditorFirmId contextRef="c-1" id="f-37">42</dei:AuditorFirmId>
    <dei:AuditorName contextRef="c-1" id="f-38">Ernst &amp; Young LLP</dei:AuditorName>
    <dei:AuditorLocation contextRef="c-1" id="f-39">Boston, Massachusetts</dei:AuditorLocation>
    <us-gaap:Revenues contextRef="c-1" decimals="-3" id="f-40" unitRef="usd">1377736000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-4" decimals="-3" id="f-41" unitRef="usd">1389966000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-5" decimals="-3" id="f-42" unitRef="usd">1339783000</us-gaap:Revenues>
    <us-gaap:CostOfRevenue contextRef="c-1" decimals="-3" id="f-43" unitRef="usd">1015770000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-4" decimals="-3" id="f-44" unitRef="usd">1071272000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c-5" decimals="-3" id="f-45" unitRef="usd">1049772000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit contextRef="c-1" decimals="-3" id="f-46" unitRef="usd">361966000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c-4" decimals="-3" id="f-47" unitRef="usd">318694000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c-5" decimals="-3" id="f-48" unitRef="usd">290011000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="c-1" decimals="-3" id="f-49" unitRef="usd">207440000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="c-4" decimals="-3" id="f-50" unitRef="usd">188592000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="c-5" decimals="-3" id="f-51" unitRef="usd">184723000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:GoodwillAndIntangibleAssetImpairment contextRef="c-1" decimals="-3" id="f-52" unitRef="usd">3797000</us-gaap:GoodwillAndIntangibleAssetImpairment>
    <us-gaap:GoodwillAndIntangibleAssetImpairment contextRef="c-4" decimals="-3" id="f-53" unitRef="usd">0</us-gaap:GoodwillAndIntangibleAssetImpairment>
    <us-gaap:GoodwillAndIntangibleAssetImpairment contextRef="c-5" decimals="-3" id="f-54" unitRef="usd">8300000</us-gaap:GoodwillAndIntangibleAssetImpairment>
    <us-gaap:OperatingIncomeLoss contextRef="c-1" decimals="-3" id="f-55" unitRef="usd">150729000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-4" decimals="-3" id="f-56" unitRef="usd">130102000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-5" decimals="-3" id="f-57" unitRef="usd">96988000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNet contextRef="c-1" decimals="-3" id="f-58" unitRef="usd">-3002000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet contextRef="c-4" decimals="-3" id="f-59" unitRef="usd">-4047000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet contextRef="c-5" decimals="-3" id="f-60" unitRef="usd">-1639000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:OtherIncome contextRef="c-1" decimals="-3" id="f-61" unitRef="usd">1265000</us-gaap:OtherIncome>
    <us-gaap:OtherIncome contextRef="c-4" decimals="-3" id="f-62" unitRef="usd">-14565000</us-gaap:OtherIncome>
    <us-gaap:OtherIncome contextRef="c-5" decimals="-3" id="f-63" unitRef="usd">4213000</us-gaap:OtherIncome>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-1" decimals="-3" id="f-64" unitRef="usd">148992000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-4" decimals="-3" id="f-65" unitRef="usd">111490000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-5" decimals="-3" id="f-66" unitRef="usd">99562000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-67" unitRef="usd">38459000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-4" decimals="-3" id="f-68" unitRef="usd">29084000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-5" decimals="-3" id="f-69" unitRef="usd">25046000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeLossFromContinuingOperations contextRef="c-1" decimals="-3" id="f-70" unitRef="usd">110533000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeLossFromContinuingOperations contextRef="c-4" decimals="-3" id="f-71" unitRef="usd">82406000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeLossFromContinuingOperations contextRef="c-5" decimals="-3" id="f-72" unitRef="usd">74516000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax contextRef="c-1" decimals="-3" id="f-73" unitRef="usd">0</us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax>
    <us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax contextRef="c-4" decimals="-3" id="f-74" unitRef="usd">0</us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax>
    <us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax contextRef="c-5" decimals="-3" id="f-75" unitRef="usd">1479000</us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax>
    <us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation contextRef="c-1" decimals="-3" id="f-76" unitRef="usd">0</us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation>
    <us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation contextRef="c-4" decimals="-3" id="f-77" unitRef="usd">0</us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation>
    <us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation contextRef="c-5" decimals="-3" id="f-78" unitRef="usd">366000</us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity contextRef="c-1" decimals="-3" id="f-79" unitRef="usd">0</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity contextRef="c-4" decimals="-3" id="f-80" unitRef="usd">0</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity contextRef="c-5" decimals="-3" id="f-81" unitRef="usd">1113000</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-82" unitRef="usd">110533000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-4" decimals="-3" id="f-83" unitRef="usd">82406000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-5" decimals="-3" id="f-84" unitRef="usd">75629000</us-gaap:NetIncomeLoss>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="c-1"
      decimals="2"
      id="f-85"
      unitRef="usdPerShare">3.61</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="c-4"
      decimals="2"
      id="f-86"
      unitRef="usdPerShare">2.57</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="c-5"
      decimals="2"
      id="f-87"
      unitRef="usdPerShare">2.27</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
      contextRef="c-1"
      decimals="2"
      id="f-88"
      unitRef="usdPerShare">0</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
      contextRef="c-4"
      decimals="2"
      id="f-89"
      unitRef="usdPerShare">0</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
      contextRef="c-5"
      decimals="2"
      id="f-90"
      unitRef="usdPerShare">0.03</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-1"
      decimals="2"
      id="f-91"
      unitRef="usdPerShare">3.61</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-4"
      decimals="2"
      id="f-92"
      unitRef="usdPerShare">2.57</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-5"
      decimals="2"
      id="f-93"
      unitRef="usdPerShare">2.30</us-gaap:EarningsPerShareBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-1" decimals="-3" id="f-94" unitRef="shares">30626000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-4" decimals="-3" id="f-95" unitRef="shares">32096000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-5" decimals="-3" id="f-96" unitRef="shares">32873000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="c-1"
      decimals="2"
      id="f-97"
      unitRef="usdPerShare">3.59</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="c-4"
      decimals="2"
      id="f-98"
      unitRef="usdPerShare">2.56</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="c-5"
      decimals="2"
      id="f-99"
      unitRef="usdPerShare">2.25</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
      contextRef="c-1"
      decimals="2"
      id="f-100"
      unitRef="usdPerShare">0</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
      contextRef="c-4"
      decimals="2"
      id="f-101"
      unitRef="usdPerShare">0</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
      contextRef="c-5"
      decimals="2"
      id="f-102"
      unitRef="usdPerShare">0.04</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-1"
      decimals="2"
      id="f-103"
      unitRef="usdPerShare">3.59</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-4"
      decimals="2"
      id="f-104"
      unitRef="usdPerShare">2.56</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-5"
      decimals="2"
      id="f-105"
      unitRef="usdPerShare">2.29</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-1" decimals="-3" id="f-106" unitRef="shares">30785000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-4" decimals="-3" id="f-107" unitRef="shares">32192000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-5" decimals="-3" id="f-108" unitRef="shares">33054000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss contextRef="c-6" decimals="-3" id="f-109" unitRef="usd">110533000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-110" unitRef="usd">110533000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-4" decimals="-3" id="f-111" unitRef="usd">82406000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-5" decimals="-3" id="f-112" unitRef="usd">75629000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-1" decimals="-3" id="f-113" unitRef="usd">1204000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-4" decimals="-3" id="f-114" unitRef="usd">-5022000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-5" decimals="-3" id="f-115" unitRef="usd">2512000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax contextRef="c-1" decimals="-3" id="f-116" unitRef="usd">-114000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax contextRef="c-4" decimals="-3" id="f-117" unitRef="usd">-1403000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax contextRef="c-5" decimals="-3" id="f-118" unitRef="usd">-136000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax contextRef="c-1" decimals="-3" id="f-119" unitRef="usd">1318000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax contextRef="c-4" decimals="-3" id="f-120" unitRef="usd">-3619000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax contextRef="c-5" decimals="-3" id="f-121" unitRef="usd">2648000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c-1" decimals="-3" id="f-122" unitRef="usd">111851000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c-4" decimals="-3" id="f-123" unitRef="usd">78787000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c-5" decimals="-3" id="f-124" unitRef="usd">78277000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-7" decimals="-3" id="f-125" unitRef="usd">99426000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-8" decimals="-3" id="f-126" unitRef="usd">17608000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-7" decimals="-3" id="f-127" unitRef="usd">5572000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-8" decimals="-3" id="f-128" unitRef="usd">3746000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c-7" decimals="-3" id="f-129" unitRef="usd">224550000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c-8" decimals="-3" id="f-130" unitRef="usd">217156000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet contextRef="c-7" decimals="-3" id="f-131" unitRef="usd">120503000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="c-8" decimals="-3" id="f-132" unitRef="usd">170360000</us-gaap:InventoryNet>
    <us-gaap:OtherAssetsCurrent contextRef="c-7" decimals="-3" id="f-133" unitRef="usd">17772000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent contextRef="c-8" decimals="-3" id="f-134" unitRef="usd">18813000</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="c-7" decimals="-3" id="f-135" unitRef="usd">462251000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="c-8" decimals="-3" id="f-136" unitRef="usd">423937000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c-7" decimals="-3" id="f-137" unitRef="usd">107603000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c-8" decimals="-3" id="f-138" unitRef="usd">109584000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c-7" decimals="-3" id="f-139" unitRef="usd">44918000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c-8" decimals="-3" id="f-140" unitRef="usd">26502000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Goodwill contextRef="c-7" decimals="-3" id="f-141" unitRef="usd">513383000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-8" decimals="-3" id="f-142" unitRef="usd">512363000</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="c-7" decimals="-3" id="f-143" unitRef="usd">125980000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="c-8" decimals="-3" id="f-144" unitRef="usd">137526000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:OtherAssetsNoncurrent contextRef="c-7" decimals="-3" id="f-145" unitRef="usd">2316000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent contextRef="c-8" decimals="-3" id="f-146" unitRef="usd">701000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets contextRef="c-7" decimals="-3" id="f-147" unitRef="usd">1256451000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-8" decimals="-3" id="f-148" unitRef="usd">1210613000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent contextRef="c-7" decimals="-3" id="f-149" unitRef="usd">92124000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent contextRef="c-8" decimals="-3" id="f-150" unitRef="usd">106582000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="c-7" decimals="-3" id="f-151" unitRef="usd">88719000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="c-8" decimals="-3" id="f-152" unitRef="usd">73721000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c-7" decimals="-3" id="f-153" unitRef="usd">44735000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c-8" decimals="-3" id="f-154" unitRef="usd">35017000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="c-7" decimals="-3" id="f-155" unitRef="usd">225578000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="c-8" decimals="-3" id="f-156" unitRef="usd">215320000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermDebtNoncurrent contextRef="c-7" decimals="-3" id="f-157" unitRef="usd">0</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent contextRef="c-8" decimals="-3" id="f-158" unitRef="usd">88762000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="c-7" decimals="-3" id="f-159" unitRef="usd">57103000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="c-8" decimals="-3" id="f-160" unitRef="usd">47088000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c-7" decimals="-3" id="f-161" unitRef="usd">35989000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c-8" decimals="-3" id="f-162" unitRef="usd">19041000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent contextRef="c-7" decimals="-3" id="f-163" unitRef="usd">22783000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent contextRef="c-8" decimals="-3" id="f-164" unitRef="usd">18303000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="c-8"
      decimals="INF"
      id="f-165"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="c-7"
      decimals="INF"
      id="f-166"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized contextRef="c-7" decimals="-3" id="f-167" unitRef="shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized contextRef="c-8" decimals="-3" id="f-168" unitRef="shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding contextRef="c-8" decimals="INF" id="f-169" unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding contextRef="c-7" decimals="INF" id="f-170" unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockValue contextRef="c-7" decimals="-3" id="f-171" unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue contextRef="c-8" decimals="-3" id="f-172" unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c-8"
      decimals="2"
      id="f-173"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c-7"
      decimals="2"
      id="f-174"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized contextRef="c-8" decimals="-3" id="f-175" unitRef="shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized contextRef="c-7" decimals="-3" id="f-176" unitRef="shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued contextRef="c-7" decimals="-3" id="f-177" unitRef="shares">34219000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-7" decimals="-3" id="f-178" unitRef="shares">34219000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued contextRef="c-8" decimals="-3" id="f-179" unitRef="shares">34060000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-8" decimals="-3" id="f-180" unitRef="shares">34060000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue contextRef="c-7" decimals="-3" id="f-181" unitRef="usd">342000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue contextRef="c-8" decimals="-3" id="f-182" unitRef="usd">340000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital contextRef="c-7" decimals="-3" id="f-183" unitRef="usd">332621000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital contextRef="c-8" decimals="-3" id="f-184" unitRef="usd">322873000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c-7" decimals="-3" id="f-185" unitRef="usd">738511000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c-8" decimals="-3" id="f-186" unitRef="usd">627978000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="c-7" decimals="-3" id="f-187" unitRef="usd">-2114000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="c-8" decimals="-3" id="f-188" unitRef="usd">-3432000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:TreasuryStockCommonShares contextRef="c-7" decimals="-3" id="f-189" unitRef="shares">3778000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares contextRef="c-8" decimals="-3" id="f-190" unitRef="shares">3199000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockValue contextRef="c-7" decimals="-3" id="f-191" unitRef="usd">154362000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue contextRef="c-8" decimals="-3" id="f-192" unitRef="usd">125660000</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity contextRef="c-7" decimals="-3" id="f-193" unitRef="usd">914998000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-8" decimals="-3" id="f-194" unitRef="usd">822099000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c-7" decimals="-3" id="f-195" unitRef="usd">1256451000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c-8" decimals="-3" id="f-196" unitRef="usd">1210613000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-197" unitRef="usd">110533000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-4" decimals="-3" id="f-198" unitRef="usd">82406000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-5" decimals="-3" id="f-199" unitRef="usd">75629000</us-gaap:NetIncomeLoss>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity contextRef="c-1" decimals="-3" id="f-200" unitRef="usd">0</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity contextRef="c-4" decimals="-3" id="f-201" unitRef="usd">0</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity contextRef="c-5" decimals="-3" id="f-202" unitRef="usd">1113000</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
    <us-gaap:IncomeLossFromContinuingOperations contextRef="c-1" decimals="-3" id="f-203" unitRef="usd">110533000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeLossFromContinuingOperations contextRef="c-4" decimals="-3" id="f-204" unitRef="usd">82406000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeLossFromContinuingOperations contextRef="c-5" decimals="-3" id="f-205" unitRef="usd">74516000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-1" decimals="-3" id="f-206" unitRef="usd">27378000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-4" decimals="-3" id="f-207" unitRef="usd">26167000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-5" decimals="-3" id="f-208" unitRef="usd">31966000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:GoodwillAndIntangibleAssetImpairment contextRef="c-1" decimals="-3" id="f-209" unitRef="usd">3797000</us-gaap:GoodwillAndIntangibleAssetImpairment>
    <us-gaap:GoodwillAndIntangibleAssetImpairment contextRef="c-4" decimals="-3" id="f-210" unitRef="usd">0</us-gaap:GoodwillAndIntangibleAssetImpairment>
    <us-gaap:GoodwillAndIntangibleAssetImpairment contextRef="c-5" decimals="-3" id="f-211" unitRef="usd">8300000</us-gaap:GoodwillAndIntangibleAssetImpairment>
    <us-gaap:ShareBasedCompensation contextRef="c-1" decimals="-3" id="f-212" unitRef="usd">9750000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="c-4" decimals="-3" id="f-213" unitRef="usd">8334000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="c-5" decimals="-3" id="f-214" unitRef="usd">8652000</us-gaap:ShareBasedCompensation>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts contextRef="c-1" decimals="-3" id="f-215" unitRef="usd">2771000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts contextRef="c-4" decimals="-3" id="f-216" unitRef="usd">16266000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts contextRef="c-5" decimals="-3" id="f-217" unitRef="usd">1193000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-218" unitRef="usd">10800000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c-4" decimals="-3" id="f-219" unitRef="usd">6337000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c-5" decimals="-3" id="f-220" unitRef="usd">2968000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:OtherNoncashIncomeExpense contextRef="c-1" decimals="-3" id="f-221" unitRef="usd">-12492000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense contextRef="c-4" decimals="-3" id="f-222" unitRef="usd">-1506000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense contextRef="c-5" decimals="-3" id="f-223" unitRef="usd">-1570000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c-1" decimals="-3" id="f-224" unitRef="usd">15375000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c-4" decimals="-3" id="f-225" unitRef="usd">-32754000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c-5" decimals="-3" id="f-226" unitRef="usd">41887000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories contextRef="c-1" decimals="-3" id="f-227" unitRef="usd">-45908000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories contextRef="c-4" decimals="-3" id="f-228" unitRef="usd">-14377000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories contextRef="c-5" decimals="-3" id="f-229" unitRef="usd">85763000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets contextRef="c-1" decimals="-3" id="f-230" unitRef="usd">-514000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets contextRef="c-4" decimals="-3" id="f-231" unitRef="usd">-2062000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets contextRef="c-5" decimals="-3" id="f-232" unitRef="usd">426000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="c-1" decimals="-3" id="f-233" unitRef="usd">-14387000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="c-4" decimals="-3" id="f-234" unitRef="usd">-76260000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="c-5" decimals="-3" id="f-235" unitRef="usd">38367000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities contextRef="c-1" decimals="-3" id="f-236" unitRef="usd">24295000</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities contextRef="c-4" decimals="-3" id="f-237" unitRef="usd">-11258000</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities contextRef="c-5" decimals="-3" id="f-238" unitRef="usd">-14384000</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations contextRef="c-1" decimals="-3" id="f-239" unitRef="usd">218476000</us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations>
    <us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations contextRef="c-4" decimals="-3" id="f-240" unitRef="usd">102691000</us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations>
    <us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations contextRef="c-5" decimals="-3" id="f-241" unitRef="usd">25072000</us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations>
    <us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations contextRef="c-1" decimals="-3" id="f-242" unitRef="usd">0</us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations>
    <us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations contextRef="c-4" decimals="-3" id="f-243" unitRef="usd">0</us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations>
    <us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations contextRef="c-5" decimals="-3" id="f-244" unitRef="usd">-2002000</us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c-1" decimals="-3" id="f-245" unitRef="usd">218476000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c-4" decimals="-3" id="f-246" unitRef="usd">102691000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c-5" decimals="-3" id="f-247" unitRef="usd">23070000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <rock:PaymentsToAcquirePropertyPlantAndEquipmentNet contextRef="c-1" decimals="-3" id="f-248" unitRef="usd">13906000</rock:PaymentsToAcquirePropertyPlantAndEquipmentNet>
    <rock:PaymentsToAcquirePropertyPlantAndEquipmentNet contextRef="c-4" decimals="-3" id="f-249" unitRef="usd">20062000</rock:PaymentsToAcquirePropertyPlantAndEquipmentNet>
    <rock:PaymentsToAcquirePropertyPlantAndEquipmentNet contextRef="c-5" decimals="-3" id="f-250" unitRef="usd">17491000</rock:PaymentsToAcquirePropertyPlantAndEquipmentNet>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="c-1" decimals="-3" id="f-251" unitRef="usd">9863000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="c-4" decimals="-3" id="f-252" unitRef="usd">51621000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="c-5" decimals="-3" id="f-253" unitRef="usd">-4143000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested contextRef="c-1" decimals="-3" id="f-254" unitRef="usd">8047000</us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested>
    <us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested contextRef="c-4" decimals="-3" id="f-255" unitRef="usd">0</us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested>
    <us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested contextRef="c-5" decimals="-3" id="f-256" unitRef="usd">38062000</us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested>
    <us-gaap:NetCashProvidedByUsedInInvestingActivitiesContinuingOperations contextRef="c-1" decimals="-3" id="f-257" unitRef="usd">-15722000</us-gaap:NetCashProvidedByUsedInInvestingActivitiesContinuingOperations>
    <us-gaap:NetCashProvidedByUsedInInvestingActivitiesContinuingOperations contextRef="c-4" decimals="-3" id="f-258" unitRef="usd">-71683000</us-gaap:NetCashProvidedByUsedInInvestingActivitiesContinuingOperations>
    <us-gaap:NetCashProvidedByUsedInInvestingActivitiesContinuingOperations contextRef="c-5" decimals="-3" id="f-259" unitRef="usd">24714000</us-gaap:NetCashProvidedByUsedInInvestingActivitiesContinuingOperations>
    <us-gaap:CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations contextRef="c-1" decimals="-3" id="f-260" unitRef="usd">0</us-gaap:CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations>
    <us-gaap:CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations contextRef="c-4" decimals="-3" id="f-261" unitRef="usd">0</us-gaap:CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations>
    <us-gaap:CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations contextRef="c-5" decimals="-3" id="f-262" unitRef="usd">-176000</us-gaap:CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c-1" decimals="-3" id="f-263" unitRef="usd">-15722000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c-4" decimals="-3" id="f-264" unitRef="usd">-71683000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c-5" decimals="-3" id="f-265" unitRef="usd">24538000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:RepaymentsOfLongTermDebt contextRef="c-1" decimals="-3" id="f-266" unitRef="usd">141000000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt contextRef="c-4" decimals="-3" id="f-267" unitRef="usd">138000000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt contextRef="c-5" decimals="-3" id="f-268" unitRef="usd">120636000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt contextRef="c-1" decimals="-3" id="f-269" unitRef="usd">50000000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt contextRef="c-4" decimals="-3" id="f-270" unitRef="usd">204500000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt contextRef="c-5" decimals="-3" id="f-271" unitRef="usd">59500000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:PaymentsOfFinancingCosts contextRef="c-1" decimals="-3" id="f-272" unitRef="usd">0</us-gaap:PaymentsOfFinancingCosts>
    <us-gaap:PaymentsOfFinancingCosts contextRef="c-4" decimals="-3" id="f-273" unitRef="usd">2013000</us-gaap:PaymentsOfFinancingCosts>
    <us-gaap:PaymentsOfFinancingCosts contextRef="c-5" decimals="-3" id="f-274" unitRef="usd">0</us-gaap:PaymentsOfFinancingCosts>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="c-1" decimals="-3" id="f-275" unitRef="usd">29329000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="c-4" decimals="-3" id="f-276" unitRef="usd">89494000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="c-5" decimals="-3" id="f-277" unitRef="usd">6497000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock contextRef="c-1" decimals="-3" id="f-278" unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock contextRef="c-4" decimals="-3" id="f-279" unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock contextRef="c-5" decimals="-3" id="f-280" unitRef="usd">1021000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c-1" decimals="-3" id="f-281" unitRef="usd">-120329000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c-4" decimals="-3" id="f-282" unitRef="usd">-25007000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c-5" decimals="-3" id="f-283" unitRef="usd">-66612000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-1" decimals="-3" id="f-284" unitRef="usd">-607000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-4" decimals="-3" id="f-285" unitRef="usd">-1242000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-5" decimals="-3" id="f-286" unitRef="usd">-201000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="c-1" decimals="-3" id="f-287" unitRef="usd">81818000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="c-4" decimals="-3" id="f-288" unitRef="usd">4759000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="c-5" decimals="-3" id="f-289" unitRef="usd">-19205000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-8" decimals="-3" id="f-290" unitRef="usd">17608000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-9" decimals="-3" id="f-291" unitRef="usd">12849000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-10" decimals="-3" id="f-292" unitRef="usd">32054000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-7" decimals="-3" id="f-293" unitRef="usd">99426000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-8" decimals="-3" id="f-294" unitRef="usd">17608000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-9" decimals="-3" id="f-295" unitRef="usd">12849000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:SharesIssued contextRef="c-11" decimals="-3" id="f-296" unitRef="shares">33568000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity contextRef="c-11" decimals="-3" id="f-297" unitRef="usd">336000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-12" decimals="-3" id="f-298" unitRef="usd">304870000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-13" decimals="-3" id="f-299" unitRef="usd">469943000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-14" decimals="-3" id="f-300" unitRef="usd">-2461000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued contextRef="c-15" decimals="-3" id="f-301" unitRef="shares">1028000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity contextRef="c-15" decimals="-3" id="f-302" unitRef="usd">-28883000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-10" decimals="-3" id="f-303" unitRef="usd">743805000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c-16" decimals="-3" id="f-304" unitRef="usd">75629000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-5" decimals="-3" id="f-305" unitRef="usd">75629000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-17" decimals="-3" id="f-306" unitRef="usd">2512000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-5" decimals="-3" id="f-307" unitRef="usd">2512000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <rock:OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1 contextRef="c-5" decimals="-3" id="f-308" unitRef="usd">43000</rock:OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax contextRef="c-17" decimals="-3" id="f-309" unitRef="usd">-136000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax contextRef="c-5" decimals="-3" id="f-310" unitRef="usd">-136000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-18" decimals="-3" id="f-311" unitRef="usd">8652000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-5" decimals="-3" id="f-312" unitRef="usd">8652000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <rock:StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement contextRef="c-19" decimals="-3" id="f-313" unitRef="shares">192000</rock:StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement>
    <rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement contextRef="c-19" decimals="-3" id="f-314" unitRef="usd">-2000</rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement>
    <rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement contextRef="c-18" decimals="-3" id="f-315" unitRef="usd">2000</rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement>
    <rock:StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement contextRef="c-20" decimals="-3" id="f-316" unitRef="shares">79000</rock:StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement>
    <rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement contextRef="c-20" decimals="-3" id="f-317" unitRef="usd">6497000</rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement>
    <rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement contextRef="c-5" decimals="-3" id="f-318" unitRef="usd">6497000</rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement>
    <us-gaap:StockIssuedDuringPeriodSharesOther contextRef="c-19" decimals="-3" id="f-319" unitRef="shares">3000</us-gaap:StockIssuedDuringPeriodSharesOther>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="c-19" decimals="-3" id="f-320" unitRef="shares">36000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c-18" decimals="-3" id="f-321" unitRef="usd">1021000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c-5" decimals="-3" id="f-322" unitRef="usd">1021000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:SharesIssued contextRef="c-21" decimals="-3" id="f-323" unitRef="shares">33799000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity contextRef="c-21" decimals="-3" id="f-324" unitRef="usd">338000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-22" decimals="-3" id="f-325" unitRef="usd">314541000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-23" decimals="-3" id="f-326" unitRef="usd">545572000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-24" decimals="-3" id="f-327" unitRef="usd">187000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued contextRef="c-25" decimals="-3" id="f-328" unitRef="shares">1107000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity contextRef="c-25" decimals="-3" id="f-329" unitRef="usd">-35380000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-9" decimals="-3" id="f-330" unitRef="usd">825258000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c-26" decimals="-3" id="f-331" unitRef="usd">82406000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-4" decimals="-3" id="f-332" unitRef="usd">82406000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-27" decimals="-3" id="f-333" unitRef="usd">-5022000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-4" decimals="-3" id="f-334" unitRef="usd">-5022000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <rock:OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1 contextRef="c-4" decimals="-3" id="f-335" unitRef="usd">449000</rock:OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax contextRef="c-27" decimals="-3" id="f-336" unitRef="usd">-1403000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax contextRef="c-4" decimals="-3" id="f-337" unitRef="usd">-1403000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-28" decimals="-3" id="f-338" unitRef="usd">8334000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-4" decimals="-3" id="f-339" unitRef="usd">8334000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <rock:StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement contextRef="c-29" decimals="-3" id="f-340" unitRef="shares">245000</rock:StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement>
    <rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement contextRef="c-29" decimals="-3" id="f-341" unitRef="usd">-2000</rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement>
    <rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement contextRef="c-28" decimals="-3" id="f-342" unitRef="usd">2000</rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement>
    <rock:StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement contextRef="c-30" decimals="-3" id="f-343" unitRef="shares">95000</rock:StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement>
    <rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement contextRef="c-30" decimals="-3" id="f-344" unitRef="usd">4404000</rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement>
    <rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement contextRef="c-4" decimals="-3" id="f-345" unitRef="usd">4404000</rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement>
    <us-gaap:StockIssuedDuringPeriodSharesOther contextRef="c-29" decimals="-3" id="f-346" unitRef="shares">16000</us-gaap:StockIssuedDuringPeriodSharesOther>
    <us-gaap:StockRepurchasedDuringPeriodShares contextRef="c-30" decimals="-3" id="f-347" unitRef="shares">1997000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-30" decimals="-3" id="f-348" unitRef="usd">85876000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-4" decimals="-3" id="f-349" unitRef="usd">85876000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:SharesIssued contextRef="c-31" decimals="-3" id="f-350" unitRef="shares">34060000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity contextRef="c-31" decimals="-3" id="f-351" unitRef="usd">340000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-32" decimals="-3" id="f-352" unitRef="usd">322873000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-33" decimals="-3" id="f-353" unitRef="usd">627978000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-34" decimals="-3" id="f-354" unitRef="usd">-3432000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued contextRef="c-35" decimals="-3" id="f-355" unitRef="shares">3199000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity contextRef="c-35" decimals="-3" id="f-356" unitRef="usd">-125660000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-8" decimals="-3" id="f-357" unitRef="usd">822099000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c-6" decimals="-3" id="f-358" unitRef="usd">110533000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-359" unitRef="usd">110533000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-360" unitRef="usd">110533000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-36" decimals="-3" id="f-361" unitRef="usd">1204000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c-1" decimals="-3" id="f-362" unitRef="usd">1204000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <rock:OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1 contextRef="c-1" decimals="-3" id="f-363" unitRef="usd">36000</rock:OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax contextRef="c-36" decimals="-3" id="f-364" unitRef="usd">-114000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax contextRef="c-1" decimals="-3" id="f-365" unitRef="usd">-114000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-37" decimals="-3" id="f-366" unitRef="usd">9750000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-1" decimals="-3" id="f-367" unitRef="usd">9750000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <rock:StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement contextRef="c-38" decimals="-3" id="f-368" unitRef="shares">151000</rock:StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement>
    <rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement contextRef="c-38" decimals="-3" id="f-369" unitRef="usd">-2000</rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement>
    <rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement contextRef="c-37" decimals="-3" id="f-370" unitRef="usd">2000</rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement>
    <rock:StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement contextRef="c-39" decimals="-3" id="f-371" unitRef="shares">58000</rock:StockIssuedDuringPeriodSharesRestrictedStockAwardSettlement>
    <rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement contextRef="c-39" decimals="-3" id="f-372" unitRef="usd">3362000</rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement>
    <rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement contextRef="c-1" decimals="-3" id="f-373" unitRef="usd">3362000</rock:StockIssuedDuringPeriodValueRestrictedStockAwardSettlement>
    <us-gaap:StockIssuedDuringPeriodSharesOther contextRef="c-38" decimals="-3" id="f-374" unitRef="shares">8000</us-gaap:StockIssuedDuringPeriodSharesOther>
    <rock:TreasuryStockValueAcquiredExciseTaxAmountCostMethod contextRef="c-39" decimals="-3" id="f-375" unitRef="usd">159000</rock:TreasuryStockValueAcquiredExciseTaxAmountCostMethod>
    <rock:TreasuryStockValueAcquiredExciseTaxAmountCostMethod contextRef="c-1" decimals="-3" id="f-376" unitRef="usd">159000</rock:TreasuryStockValueAcquiredExciseTaxAmountCostMethod>
    <us-gaap:StockRepurchasedDuringPeriodShares contextRef="c-39" decimals="-3" id="f-377" unitRef="shares">521000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-39" decimals="-3" id="f-378" unitRef="usd">25181000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c-1" decimals="-3" id="f-379" unitRef="usd">25181000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:SharesIssued contextRef="c-40" decimals="-3" id="f-380" unitRef="shares">34219000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity contextRef="c-40" decimals="-3" id="f-381" unitRef="usd">342000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-41" decimals="-3" id="f-382" unitRef="usd">332621000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-42" decimals="-3" id="f-383" unitRef="usd">738511000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-43" decimals="-3" id="f-384" unitRef="usd">-2114000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued contextRef="c-44" decimals="-3" id="f-385" unitRef="shares">3778000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity contextRef="c-44" decimals="-3" id="f-386" unitRef="usd">-154362000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-7" decimals="-3" id="f-387" unitRef="usd">914998000</us-gaap:StockholdersEquity>
    <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="c-1" id="f-388">SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Principles of consolidation&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The consolidated financial statements include the accounts of Gibraltar Industries, Inc. and subsidiaries (the "Company"). All intercompany accounts and transactions have been eliminated in consolidation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Use of estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of the consolidated financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and accompanying notes. Actual results could differ from those estimates due to uncertainty in the current economic environment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Segment reporting&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has four reportable segments: Renewables, Residential, Agtech and Infrastructure. For further disclosure regarding the Company's reportable segments, refer to Note 20 "Segment Information."&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Revenue recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue is recognized when, or as, the Company transfers control of promised products or services to a customer in an amount that reflects the consideration the Company expects to be entitled in exchange for transferring those products or services.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Performance obligations satisfied at a point in time and significant judgments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue from contracts with customers is recognized when the Company transfers control of the promised product at a point in time, which is determined when the customer has legal title and the significant risks and rewards of ownership of the asset, and the Company has a present right to payment for the product.  The Company allocates the transaction price, which is generally the quoted price per terms of the contract and the consideration the Company expects to receive, to each performance obligation.  These products are generally sold with rights of return and these contracts may provide other credits or incentives, which are accounted for as variable consideration.  Sales returns, allowances, and customer incentives, including rebates, are treated as reductions to the sales transaction price and based largely on an assessment of all information (i.e., historical, current and forecasted) that is reasonably available to the Company, and estimated at contract inception and updated at the end of each reporting period as additional information becomes available.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Performance obligations satisfied over time and significant judgments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For a contract to construct an asset that the customer controls as it is being created or enhanced, or a promise to provide a product that has no alternative use to the Company and the Company has enforceable rights to payment, the Company recognizes revenue over time.  For the contracts to construct a certain asset, the Company determines that the customer controls the asset while it is being constructed.  For the contracts for products that have no alternative use and for which the Company has an enforceable right to payment, the Company identifies these products as products that are not a standard inventory item or the Company cannot readily direct the product to another customer for use without incurring a significant economic loss, or significant costs to rework the product.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company determines the transaction price for each contract based on the consideration the Company expects to receive for the promised products and services under the entire contract, which is generally the stated contract price based on an expected cost plus a margin.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the above contracts with customers with respect to which the Company satisfies a performance obligation over time, the Company recognizes revenue based on the extent of progress towards completion of the performance obligation using the cost-to-cost measure of progress.  Under the cost-to-cost measure of progress, the extent of progress toward completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation.  Revenues are recognized proportionally as costs are incurred.  Costs to fulfill a contract include all direct costs related to contract performance.  Selling and administrative expenses are charged to operations as incurred.  Provision for loss on an uncompleted performance obligation is recognized in the period in which such loss is determined.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company regularly reviews the progress under the cost-to-cost method and any adjustments are recognized as necessary.  Changes in estimates are recognized as they become known using the cumulative catch-up basis.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company also recognizes revenues from services contracts over time.  The Company recognizes revenue over time during the term of the agreement as the customer is simultaneously receiving and consuming the benefits provided throughout the Company's performance. Therefore, due to control transferring over time, the Company recognizes revenue on a straight-line basis throughout the contract period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Contract assets and contract liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contract assets primarily represents revenue recognized for performance obligations that have been satisfied but for which amounts receivable have not been billed.  These are included as current assets and included within accounts receivable on the Company's consolidated balance sheets.  Contract liabilities include payments received from customers in advance of the satisfaction of performance obligations for a contract.  The Company does not consider contract advances to be significant financing components as the intent of these payments in advance are for reasons other than providing a significant financing benefit and are customary in the Company's industry.  Unearned revenue relates to payments received in advance of performance under the contract and is recognized when the Company performs under the contract. Unearned revenue is presented within accrued expenses in the Company's consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Costs to obtain a contract with a customer&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recognizes an asset for the incremental costs of obtaining a contract with a customer if the Company expects the benefit of those costs to be longer than one year.  If the amortization period of the asset is one year or less, the Company recognizes the incremental costs of obtaining a contract as an expense when incurred.  These incremental costs include, but are not limited to, sales commissions incurred to obtain a contract with a customer.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;All highly liquid investments with a maturity of three months or less are considered cash equivalents.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Accounts receivable and allowance for doubtful accounts and contract assets&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable are composed of trade and contract receivables recorded at either the invoiced amount or costs in excess of billings, are expected to be collected within one year, and do not bear interest.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s expected loss allowance methodology for accounts receivable and costs in excess of billings (collectively "accounts receivable") is developed using historical collection experience, current and future economic and market conditions, and a review of the current status of customers' accounts receivables.  The Company is exposed to credit losses through sales of products and services.  Due to the short-term nature of such accounts receivable, the estimated amount of accounts receivable that may not be collected is based on aging of the accounts receivable balances.  Additionally, specific allowance amounts are established to record the appropriate provision for customers that no longer share risk characteristics similar with other accounts receivable. The Company&#x2019;s monitoring activities include timely account reconciliation, dispute resolution, payment confirmation, consideration of customers' financial condition and macroeconomic conditions.  Balances are written off when determined to be u&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ncollectible &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;after all means of collection have been exhausted and the potential for recovery is considered remote.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Estimates are used to determine the allowance. These estimates are based on assessment of anticipated payment and all other historical, current and future information that is reasonably available.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes activity recorded within the allowance for doubtful accounts and contract assets balances for the years ended December&#160;31 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:62.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.449%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.449%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.454%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Beginning balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,746&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,529&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Bad debt expense, net of recoveries&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,148&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;898&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts written off against allowance and other adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,322)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,213)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(689)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Ending balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,572&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,746&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Concentrations of credit risk in accounts receivable are limited to those from significant customers that are believed to be financially sound. As of December&#160;31, 2023 and 2022, the Company's most significant customer is a home improvement retailer. The&lt;/span&gt;&lt;span style="color:#291bff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;home improvement retailer purchases from the Residential segment.  Accounts receivable as a percentage of consolidated accounts receivable from the home improvement retailer was 13% and 14% as of December&#160;31, 2023 and 2022, respectively.  Net sales to the home improvement retailer as a percentage of consolidated net sales were 13%, 14%, and 13% during the years ended December&#160;31, 2023, 2022 and 2021, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Inventories&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories are valued at the lower of cost or net realizable value. Cost is determined using either the first-in, first-out method or the average costing method. Shipping and handling costs are recognized as a component of cost of sales.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Property, plant, and equipment&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property, plant, and equipment are stated at cost and depreciated over their estimated useful lives using the straight-line method. Interest is capitalized in connection with construction of qualified assets. Expenditures that exceed an established dollar threshold and that extend the useful lives of assets are capitalized, while repair and maintenance costs are expensed as incurred. The estimated useful lives of land improvements, buildings, and building improvements are 15 to 40 years, while the estimated useful lives for machinery and equipment are 3 to 20 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below sets forth the depreciation expense recognized during the years ended December&#160;31 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Depreciation expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,139&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,583&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,110&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Acquisition related assets and liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounting for the acquisition of a business as a purchase transaction requires an allocation of the purchase price to the assets acquired and the liabilities assumed in the transaction at their respective estimated fair values. The most complex estimations of individual fair values are those involving long-lived assets, such as property, plant, and equipment and intangible assets. The Company uses all available information to make these fair value determinations and engages independent valuation specialists to assist in the fair value determination of the acquired long-lived assets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Goodwill and other intangible assets&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company tests goodwill for impairment at the reporting unit level on an annual basis at October&#160;31, or more frequently if an event occurs, or circumstances change, that indicate that the fair value of a reporting unit could be below its carrying value. The reporting units are at the component level, or one level below the operating segment level. Goodwill is assigned to each reporting unit as of the date the reporting unit is acquired.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company may elect to perform a qualitative assessment that considers economic, industry and company-specific factors for some or all of the Company's selected reporting units. If, after completing the assessment, it is determined that it is more likely than not that the fair value of a reporting unit is less than its carrying value, the Company proceeds to a quantitative test. The Company may also elect to perform a quantitative test instead of a qualitative test for any or all of the Company's reporting units.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The quantitative impairment test consists of comparing the fair value of a reporting unit, determined using two valuation techniques, to its carrying value. If the carrying value of the reporting unit exceeds its fair value, goodwill is considered impaired, and a loss measured by the excess of the carrying value of the reporting unit over the fair value of the reporting unit must be recorded.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company also tests its indefinite-lived intangible assets for impairment on an annual basis as of October&#160;31, or more frequently if an event occurs, or circumstances change, that indicate that the fair value of an indefinite-lived intangible asset could be below its carrying value. The impairment test consists of comparing the fair value of the indefinite-lived intangible asset, determined using discounted cash flows on a relief-from-royalty basis, with its carrying amount.  An impairment loss would be recognized for the carrying amount in excess of its fair value.  Acquired identifiable intangible assets are recorded at cost. Identifiable intangible assets with finite useful lives are &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;amortized over their estimated useful lives. For additional disclosure of the Company's goodwill and other intangible assets refer to Note 7 "Goodwill and Related Intangible Assets."&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Impairment of long-lived assets&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-lived assets, including acquired identifiable intangible assets with finite useful lives, are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of those assets may not be recoverable.  In specific situations, when the Company has selected individual assets to be sold or scrapped, the Company obtains market value data for those specific assets and measures and records the impairment loss based on such data. Otherwise, the Company uses undiscounted cash flows to determine whether impairment exists and measures any impairment loss by approximating fair value using acceptable valuation techniques, including discounted cash flow models and third-party appraisals. For additional disclosure on impairment of the Company's long-lived assets refer to Note 7 "Goodwill and Related Intangible Assets," Note 14 "Discontinued Operations" and Note 15 "Exit Activity Costs and Asset Impairments."&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Leases&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company determines if an agreement is, or contains, a lease at the inception of the agreement. At lease commencement, the Company recognizes a right-of-use asset and a lease liability for leases with terms greater than twelve months.  The initial lease liability is recognized at the present value of remaining lease payments over the lease term.  Leases with an initial term of twelve months or less are not recorded on the Company's consolidated balance sheets.  The Company recognizes lease expense for operating leases on a straight-line basis over the lease term.  The Company combines lease and non-lease components, such as common area maintenance costs, in calculating the related asset and lease liabilities for all underlying asset groups.  Operating lease cost is included in income from operations and includes short-term leases and variable lease costs which are immaterial.  Current operating lease liabilities are represented within accrued expenses on the Company's consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Deferred charges&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred charges associated with initial costs incurred to enter into new debt arrangements are included as a component of long-term debt and are amortized as a part of interest expense over the terms of the associated debt agreements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Advertising&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company expenses advertising and marketing costs as incurred. For the years ended December&#160;31, 2023, 2022 and 2021, advertising and marketing costs were $10.0 million, $10.9 million, and $8.0 million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Foreign currency transactions and translation&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The assets and liabilities of the Company&#x2019;s foreign subsidiaries are translated into U.S. dollars at the rate of exchange in effect at the balance sheet date. Income and expense items are translated at the average exchange rates prevailing during the period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Income taxes&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The provision for income taxes is determined using the asset and liability approach. Under this approach, deferred income taxes represent the expected future tax consequences of temporary differences between the carrying amounts and tax basis of assets and liabilities. The Company records a valuation allowance to reduce deferred tax assets when uncertainty exists regarding their realization.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Equity-based compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company measures the cost of equity-based compensation based on grant date fair value and recognizes the cost over the period in which the employee is required to provide service in exchange for the award reduced by forfeitures. Equity-based compensation consists of grants of stock options, deferred stock units, common stock, restricted stock units, and performance stock units. Equity-based compensation expense is included as a component of selling, general, and administrative expenses.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Earnings per share&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic earnings per share is calculated by dividing net income by the weighted average number of common shares outstanding during the period. Diluted earnings per share is calculated by adjusting the weighted average number of common shares outstanding, as well as dilutive common shares which include shares issuable pursuant to equity based incentive compensation awards under the equity compensation plans described in Note 12 "Equity-Based Compensation."&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Recent accounting pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;margin-top:5pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Recent Accounting Pronouncements Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:4pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:19.367%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:37.935%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:37.938%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Standard&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Description&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Financial Statement Effect or Other Significant Matters&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ASU No. 2023-07&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In November 2023, the Financial Accounting Standards Board ("FASB") issued Accounting Standard Update ("ASU") No. 2023-07, which requires a public entity to disclose significant segment expenses and other segment items on an annual and interim basis and provide in interim periods all disclosures about a reportable segment&#x2019;s profit or loss and assets that are currently required annually. Additionally, it requires a public entity to disclose the title and position of the Chief Operating Decision Maker ("CODM"). The ASU does not change how a public entity identifies its operating segments, aggregates them, or applies the quantitative thresholds to determine its reportable segments. &lt;br/&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The amendments in the ASU are effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024, with early adoption permitted. A public entity should apply the amendments in this ASU retrospectively to all prior periods presented in the financial statements. The Company expects this ASU to only impact its disclosures with no impacts to the Company's results of operations, cash flows and financial condition. The Company's planned date of adoption is January 1, 2024.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ASU No. 2023-09&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2023, the FASB issued ASU No. 2023-09, which focuses on the rate reconciliation and income taxes paid.  This ASU requires a public business entity ("PBE") to disclose, on an annual basis, a tabular rate reconciliation using both percentages and currency amounts, broken out into specified categories with certain reconciling items further broken out by nature and jurisdiction to the extent those items exceed a specified threshold. In addition, all entities are required to disclose income taxes paid, net of refunds received disaggregated by federal, state/local, and foreign and by jurisdiction if the amount is at least 5% of total income tax payments, net of refunds received.&lt;br/&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For PBEs, the amendments in this ASU are effective for annual periods beginning after December 15, 2024, with early adoption permitted. An entity may apply the amendments in this ASU prospectively by providing the revised disclosures for the period ending December 31, 2025 and continuing to provide the pre-ASU disclosures for the prior periods, or may apply the amendments retrospectively by providing the revised disclosures for all period presented. The Company expects this ASU to only impact the Company's disclosures with no impacts to the Company's results of operations, cash flows, and financial condition.  The Company's planned date of adoption is January 1, 2025.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company determined that all other ASUs effective in or after 2023 that are not listed above are either not applicable or will not have a material impact on the Company's consolidated financial statements and related disclosures.&lt;/span&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock contextRef="c-1" id="f-389">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Principles of consolidation&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The consolidated financial statements include the accounts of Gibraltar Industries, Inc. and subsidiaries (the "Company"). All intercompany accounts and transactions have been eliminated in consolidation.&lt;/span&gt;&lt;/div&gt;</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:UseOfEstimates contextRef="c-1" id="f-390">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Use of estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of the consolidated financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and accompanying notes. Actual results could differ from those estimates due to uncertainty in the current economic environment.&lt;/span&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock contextRef="c-1" id="f-391">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Segment reporting&lt;/span&gt;&lt;/div&gt;The Company has four reportable segments: Renewables, Residential, Agtech and Infrastructure.</us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:NumberOfReportableSegments contextRef="c-1" decimals="0" id="f-392" unitRef="segment">4</us-gaap:NumberOfReportableSegments>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock contextRef="c-1" id="f-393">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Revenue recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue is recognized when, or as, the Company transfers control of promised products or services to a customer in an amount that reflects the consideration the Company expects to be entitled in exchange for transferring those products or services.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Performance obligations satisfied at a point in time and significant judgments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue from contracts with customers is recognized when the Company transfers control of the promised product at a point in time, which is determined when the customer has legal title and the significant risks and rewards of ownership of the asset, and the Company has a present right to payment for the product.  The Company allocates the transaction price, which is generally the quoted price per terms of the contract and the consideration the Company expects to receive, to each performance obligation.  These products are generally sold with rights of return and these contracts may provide other credits or incentives, which are accounted for as variable consideration.  Sales returns, allowances, and customer incentives, including rebates, are treated as reductions to the sales transaction price and based largely on an assessment of all information (i.e., historical, current and forecasted) that is reasonably available to the Company, and estimated at contract inception and updated at the end of each reporting period as additional information becomes available.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Performance obligations satisfied over time and significant judgments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For a contract to construct an asset that the customer controls as it is being created or enhanced, or a promise to provide a product that has no alternative use to the Company and the Company has enforceable rights to payment, the Company recognizes revenue over time.  For the contracts to construct a certain asset, the Company determines that the customer controls the asset while it is being constructed.  For the contracts for products that have no alternative use and for which the Company has an enforceable right to payment, the Company identifies these products as products that are not a standard inventory item or the Company cannot readily direct the product to another customer for use without incurring a significant economic loss, or significant costs to rework the product.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company determines the transaction price for each contract based on the consideration the Company expects to receive for the promised products and services under the entire contract, which is generally the stated contract price based on an expected cost plus a margin.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the above contracts with customers with respect to which the Company satisfies a performance obligation over time, the Company recognizes revenue based on the extent of progress towards completion of the performance obligation using the cost-to-cost measure of progress.  Under the cost-to-cost measure of progress, the extent of progress toward completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation.  Revenues are recognized proportionally as costs are incurred.  Costs to fulfill a contract include all direct costs related to contract performance.  Selling and administrative expenses are charged to operations as incurred.  Provision for loss on an uncompleted performance obligation is recognized in the period in which such loss is determined.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company regularly reviews the progress under the cost-to-cost method and any adjustments are recognized as necessary.  Changes in estimates are recognized as they become known using the cumulative catch-up basis.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company also recognizes revenues from services contracts over time.  The Company recognizes revenue over time during the term of the agreement as the customer is simultaneously receiving and consuming the benefits provided throughout the Company's performance. Therefore, due to control transferring over time, the Company recognizes revenue on a straight-line basis throughout the contract period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Contract assets and contract liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contract assets primarily represents revenue recognized for performance obligations that have been satisfied but for which amounts receivable have not been billed.  These are included as current assets and included within accounts receivable on the Company's consolidated balance sheets.  Contract liabilities include payments received from customers in advance of the satisfaction of performance obligations for a contract.  The Company does not consider contract advances to be significant financing components as the intent of these payments in advance are for reasons other than providing a significant financing benefit and are customary in the Company's industry.  Unearned revenue relates to payments received in advance of performance under the contract and is recognized when the Company performs under the contract. Unearned revenue is presented within accrued expenses in the Company's consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Costs to obtain a contract with a customer&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recognizes an asset for the incremental costs of obtaining a contract with a customer if the Company expects the benefit of those costs to be longer than one year.  If the amortization period of the asset is one year or less, the Company recognizes the incremental costs of obtaining a contract as an expense when incurred.  These incremental costs include, but are not limited to, sales commissions incurred to obtain a contract with a customer.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock contextRef="c-1" id="f-394">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;All highly liquid investments with a maturity of three months or less are considered cash equivalents.&lt;/span&gt;&lt;/div&gt;</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:TradeAndOtherAccountsReceivablePolicy contextRef="c-1" id="f-395">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Accounts receivable and allowance for doubtful accounts and contract assets&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable are composed of trade and contract receivables recorded at either the invoiced amount or costs in excess of billings, are expected to be collected within one year, and do not bear interest.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s expected loss allowance methodology for accounts receivable and costs in excess of billings (collectively "accounts receivable") is developed using historical collection experience, current and future economic and market conditions, and a review of the current status of customers' accounts receivables.  The Company is exposed to credit losses through sales of products and services.  Due to the short-term nature of such accounts receivable, the estimated amount of accounts receivable that may not be collected is based on aging of the accounts receivable balances.  Additionally, specific allowance amounts are established to record the appropriate provision for customers that no longer share risk characteristics similar with other accounts receivable. The Company&#x2019;s monitoring activities include timely account reconciliation, dispute resolution, payment confirmation, consideration of customers' financial condition and macroeconomic conditions.  Balances are written off when determined to be u&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ncollectible &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;after all means of collection have been exhausted and the potential for recovery is considered remote.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Estimates are used to determine the allowance. These estimates are based on assessment of anticipated payment and all other historical, current and future information that is reasonably available.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes activity recorded within the allowance for doubtful accounts and contract assets balances for the years ended December&#160;31 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:62.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.449%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.449%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.454%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Beginning balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,746&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,529&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Bad debt expense, net of recoveries&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,148&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;898&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts written off against allowance and other adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,322)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,213)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(689)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Ending balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,572&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,746&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Concentrations of credit risk in accounts receivable are limited to those from significant customers that are believed to be financially sound. As of December&#160;31, 2023 and 2022, the Company's most significant customer is a home improvement retailer. The&lt;/span&gt;&lt;span style="color:#291bff;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;home improvement retailer purchases from the Residential segment.</us-gaap:TradeAndOtherAccountsReceivablePolicy>
    <us-gaap:ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock contextRef="c-1" id="f-396">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes activity recorded within the allowance for doubtful accounts and contract assets balances for the years ended December&#160;31 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:62.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.449%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.449%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.454%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Beginning balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,746&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,529&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Bad debt expense, net of recoveries&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,148&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;898&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts written off against allowance and other adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,322)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,213)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(689)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Ending balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,572&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,746&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-8" decimals="-3" id="f-397" unitRef="usd">3746000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-9" decimals="-3" id="f-398" unitRef="usd">3738000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-10" decimals="-3" id="f-399" unitRef="usd">3529000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="c-1" decimals="-3" id="f-400" unitRef="usd">3148000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="c-4" decimals="-3" id="f-401" unitRef="usd">1221000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="c-5" decimals="-3" id="f-402" unitRef="usd">898000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:FinancingReceivableAllowanceForCreditLossesWriteOffs contextRef="c-1" decimals="-3" id="f-403" unitRef="usd">1322000</us-gaap:FinancingReceivableAllowanceForCreditLossesWriteOffs>
    <us-gaap:FinancingReceivableAllowanceForCreditLossesWriteOffs contextRef="c-4" decimals="-3" id="f-404" unitRef="usd">1213000</us-gaap:FinancingReceivableAllowanceForCreditLossesWriteOffs>
    <us-gaap:FinancingReceivableAllowanceForCreditLossesWriteOffs contextRef="c-5" decimals="-3" id="f-405" unitRef="usd">689000</us-gaap:FinancingReceivableAllowanceForCreditLossesWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-7" decimals="-3" id="f-406" unitRef="usd">5572000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-8" decimals="-3" id="f-407" unitRef="usd">3746000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-9" decimals="-3" id="f-408" unitRef="usd">3738000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c-45" decimals="2" id="f-409" unitRef="number">0.13</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c-46" decimals="2" id="f-410" unitRef="number">0.14</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c-47" decimals="2" id="f-411" unitRef="number">0.13</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c-48" decimals="2" id="f-412" unitRef="number">0.14</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c-49" decimals="2" id="f-413" unitRef="number">0.13</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:InventoryPolicyTextBlock contextRef="c-1" id="f-414">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Inventories&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories are valued at the lower of cost or net realizable value. Cost is determined using either the first-in, first-out method or the average costing method. Shipping and handling costs are recognized as a component of cost of sales.&lt;/span&gt;&lt;/div&gt;</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock contextRef="c-1" id="f-415">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Property, plant, and equipment&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property, plant, and equipment are stated at cost and depreciated over their estimated useful lives using the straight-line method. Interest is capitalized in connection with construction of qualified assets. Expenditures that exceed an established dollar threshold and that extend the useful lives of assets are capitalized, while repair and maintenance costs are expensed as incurred. The estimated useful lives of land improvements, buildings, and building improvements are 15 to 40 years, while the estimated useful lives for machinery and equipment are 3 to 20 years.&lt;/span&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c-50" id="f-416">P15Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c-51" id="f-417">P40Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c-52" id="f-418">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c-53" id="f-419">P20Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="c-1" id="f-420">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below sets forth the depreciation expense recognized during the years ended December&#160;31 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Depreciation expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,139&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,583&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,110&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Components of property, plant, and equipment at December&#160;31 consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:72.692%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.639%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Land and land improvements&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,544&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,704&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Building and improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,732&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,416&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Machinery and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;231,275&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;223,843&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Construction in progress&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,391&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,065&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property, plant, and equipment, gross&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;296,942&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;285,028&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: accumulated depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(189,339)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(175,444)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property, plant, and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107,603&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;109,584&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:Depreciation contextRef="c-1" decimals="-3" id="f-421" unitRef="usd">16139000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="c-4" decimals="-3" id="f-422" unitRef="usd">14583000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="c-5" decimals="-3" id="f-423" unitRef="usd">13110000</us-gaap:Depreciation>
    <us-gaap:BusinessCombinationsPolicy contextRef="c-1" id="f-424">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Acquisition related assets and liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounting for the acquisition of a business as a purchase transaction requires an allocation of the purchase price to the assets acquired and the liabilities assumed in the transaction at their respective estimated fair values. The most complex estimations of individual fair values are those involving long-lived assets, such as property, plant, and equipment and intangible assets. The Company uses all available information to make these fair value determinations and engages independent valuation specialists to assist in the fair value determination of the acquired long-lived assets.&lt;/span&gt;&lt;/div&gt;</us-gaap:BusinessCombinationsPolicy>
    <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock contextRef="c-1" id="f-425">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Goodwill and other intangible assets&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company tests goodwill for impairment at the reporting unit level on an annual basis at October&#160;31, or more frequently if an event occurs, or circumstances change, that indicate that the fair value of a reporting unit could be below its carrying value. The reporting units are at the component level, or one level below the operating segment level. Goodwill is assigned to each reporting unit as of the date the reporting unit is acquired.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company may elect to perform a qualitative assessment that considers economic, industry and company-specific factors for some or all of the Company's selected reporting units. If, after completing the assessment, it is determined that it is more likely than not that the fair value of a reporting unit is less than its carrying value, the Company proceeds to a quantitative test. The Company may also elect to perform a quantitative test instead of a qualitative test for any or all of the Company's reporting units.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The quantitative impairment test consists of comparing the fair value of a reporting unit, determined using two valuation techniques, to its carrying value. If the carrying value of the reporting unit exceeds its fair value, goodwill is considered impaired, and a loss measured by the excess of the carrying value of the reporting unit over the fair value of the reporting unit must be recorded.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company also tests its indefinite-lived intangible assets for impairment on an annual basis as of October&#160;31, or more frequently if an event occurs, or circumstances change, that indicate that the fair value of an indefinite-lived intangible asset could be below its carrying value. The impairment test consists of comparing the fair value of the indefinite-lived intangible asset, determined using discounted cash flows on a relief-from-royalty basis, with its carrying amount.  An impairment loss would be recognized for the carrying amount in excess of its fair value.  Acquired identifiable intangible assets are recorded at cost. Identifiable intangible assets with finite useful lives are &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;amortized over their estimated useful lives. For additional disclosure of the Company's goodwill and other intangible assets refer to Note 7 "Goodwill and Related Intangible Assets."&lt;/span&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock contextRef="c-1" id="f-426">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Impairment of long-lived assets&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-lived assets, including acquired identifiable intangible assets with finite useful lives, are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of those assets may not be recoverable.  In specific situations, when the Company has selected individual assets to be sold or scrapped, the Company obtains market value data for those specific assets and measures and records the impairment loss based on such data. Otherwise, the Company uses undiscounted cash flows to determine whether impairment exists and measures any impairment loss by approximating fair value using acceptable valuation techniques, including discounted cash flow models and third-party appraisals. For additional disclosure on impairment of the Company's long-lived assets refer to Note 7 "Goodwill and Related Intangible Assets," Note 14 "Discontinued Operations" and Note 15 "Exit Activity Costs and Asset Impairments."&lt;/span&gt;&lt;/div&gt;</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:LesseeLeasesPolicyTextBlock contextRef="c-1" id="f-427">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Leases&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company determines if an agreement is, or contains, a lease at the inception of the agreement. At lease commencement, the Company recognizes a right-of-use asset and a lease liability for leases with terms greater than twelve months.  The initial lease liability is recognized at the present value of remaining lease payments over the lease term.  Leases with an initial term of twelve months or less are not recorded on the Company's consolidated balance sheets.  The Company recognizes lease expense for operating leases on a straight-line basis over the lease term.  The Company combines lease and non-lease components, such as common area maintenance costs, in calculating the related asset and lease liabilities for all underlying asset groups.  Operating lease cost is included in income from operations and includes short-term leases and variable lease costs which are immaterial.  Current operating lease liabilities are represented within accrued expenses on the Company's consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeLeasesPolicyTextBlock>
    <us-gaap:DeferredChargesPolicyTextBlock contextRef="c-1" id="f-428">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Deferred charges&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred charges associated with initial costs incurred to enter into new debt arrangements are included as a component of long-term debt and are amortized as a part of interest expense over the terms of the associated debt agreements.&lt;/span&gt;&lt;/div&gt;</us-gaap:DeferredChargesPolicyTextBlock>
    <us-gaap:AdvertisingCostsPolicyTextBlock contextRef="c-1" id="f-429">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Advertising&lt;/span&gt;&lt;/div&gt;The Company expenses advertising and marketing costs as incurred.</us-gaap:AdvertisingCostsPolicyTextBlock>
    <us-gaap:AdvertisingExpense contextRef="c-1" decimals="-5" id="f-430" unitRef="usd">10000000.0</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense contextRef="c-4" decimals="-5" id="f-431" unitRef="usd">10900000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense contextRef="c-5" decimals="-5" id="f-432" unitRef="usd">8000000.0</us-gaap:AdvertisingExpense>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock contextRef="c-1" id="f-433">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Foreign currency transactions and translation&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The assets and liabilities of the Company&#x2019;s foreign subsidiaries are translated into U.S. dollars at the rate of exchange in effect at the balance sheet date. Income and expense items are translated at the average exchange rates prevailing during the period.&lt;/span&gt;&lt;/div&gt;</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:IncomeTaxPolicyTextBlock contextRef="c-1" id="f-434">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Income taxes&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The provision for income taxes is determined using the asset and liability approach. Under this approach, deferred income taxes represent the expected future tax consequences of temporary differences between the carrying amounts and tax basis of assets and liabilities. The Company records a valuation allowance to reduce deferred tax assets when uncertainty exists regarding their realization.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy contextRef="c-1" id="f-435">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Equity-based compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company measures the cost of equity-based compensation based on grant date fair value and recognizes the cost over the period in which the employee is required to provide service in exchange for the award reduced by forfeitures. Equity-based compensation consists of grants of stock options, deferred stock units, common stock, restricted stock units, and performance stock units. Equity-based compensation expense is included as a component of selling, general, and administrative expenses.&lt;/span&gt;&lt;/div&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:EarningsPerSharePolicyTextBlock contextRef="c-1" id="f-436">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Earnings per share&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic earnings per share is calculated by dividing net income by the weighted average number of common shares outstanding during the period. Diluted earnings per share is calculated by adjusting the weighted average number of common shares outstanding, as well as dilutive common shares which include shares issuable pursuant to equity based incentive compensation awards under the equity compensation plans described in Note 12 "Equity-Based Compensation."&lt;/span&gt;&lt;/div&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="c-1" id="f-437">&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Recent accounting pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:10pt;margin-top:5pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Recent Accounting Pronouncements Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:4pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:19.367%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:37.935%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:37.938%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Standard&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Description&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Financial Statement Effect or Other Significant Matters&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ASU No. 2023-07&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In November 2023, the Financial Accounting Standards Board ("FASB") issued Accounting Standard Update ("ASU") No. 2023-07, which requires a public entity to disclose significant segment expenses and other segment items on an annual and interim basis and provide in interim periods all disclosures about a reportable segment&#x2019;s profit or loss and assets that are currently required annually. Additionally, it requires a public entity to disclose the title and position of the Chief Operating Decision Maker ("CODM"). The ASU does not change how a public entity identifies its operating segments, aggregates them, or applies the quantitative thresholds to determine its reportable segments. &lt;br/&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The amendments in the ASU are effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024, with early adoption permitted. A public entity should apply the amendments in this ASU retrospectively to all prior periods presented in the financial statements. The Company expects this ASU to only impact its disclosures with no impacts to the Company's results of operations, cash flows and financial condition. The Company's planned date of adoption is January 1, 2024.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ASU No. 2023-09&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2023, the FASB issued ASU No. 2023-09, which focuses on the rate reconciliation and income taxes paid.  This ASU requires a public business entity ("PBE") to disclose, on an annual basis, a tabular rate reconciliation using both percentages and currency amounts, broken out into specified categories with certain reconciling items further broken out by nature and jurisdiction to the extent those items exceed a specified threshold. In addition, all entities are required to disclose income taxes paid, net of refunds received disaggregated by federal, state/local, and foreign and by jurisdiction if the amount is at least 5% of total income tax payments, net of refunds received.&lt;br/&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For PBEs, the amendments in this ASU are effective for annual periods beginning after December 15, 2024, with early adoption permitted. An entity may apply the amendments in this ASU prospectively by providing the revised disclosures for the period ending December 31, 2025 and continuing to provide the pre-ASU disclosures for the prior periods, or may apply the amendments retrospectively by providing the revised disclosures for all period presented. The Company expects this ASU to only impact the Company's disclosures with no impacts to the Company's results of operations, cash flows, and financial condition.  The Company's planned date of adoption is January 1, 2025.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock contextRef="c-1" id="f-438">ACCOUNTS RECEIVABLE, NET&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable at December 31 consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:55.938%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:20.014%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.533%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:20.015%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 4.37pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trade accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;178,087&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;179,170&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Costs in excess of billings&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,035&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,732&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total accounts receivables&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;230,122&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;220,902&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less allowance for doubtful accounts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,572)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,746)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;224,550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;217,156&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Refer to Note 3 "Revenue" concerning the Company's costs in excess of billings.&lt;/span&gt;&lt;/div&gt;</us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock contextRef="c-1" id="f-439">&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable at December 31 consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:55.938%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:20.014%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.533%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:20.015%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 4.37pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trade accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;178,087&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;179,170&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Costs in excess of billings&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,035&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,732&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total accounts receivables&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;230,122&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;220,902&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less allowance for doubtful accounts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,572)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,746)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;224,550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;217,156&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent contextRef="c-7" decimals="-3" id="f-440" unitRef="usd">178087000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent contextRef="c-8" decimals="-3" id="f-441" unitRef="usd">179170000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:ContractWithCustomerAssetNet contextRef="c-7" decimals="-3" id="f-442" unitRef="usd">52035000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:UnbilledContractsReceivable contextRef="c-7" decimals="-3" id="f-443" unitRef="usd">52035000</us-gaap:UnbilledContractsReceivable>
    <us-gaap:UnbilledContractsReceivable contextRef="c-8" decimals="-3" id="f-444" unitRef="usd">41732000</us-gaap:UnbilledContractsReceivable>
    <rock:ContractsReceivableGrossCurrent contextRef="c-7" decimals="-3" id="f-445" unitRef="usd">230122000</rock:ContractsReceivableGrossCurrent>
    <rock:ContractsReceivableGrossCurrent contextRef="c-8" decimals="-3" id="f-446" unitRef="usd">220902000</rock:ContractsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-7" decimals="-3" id="f-447" unitRef="usd">5572000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-8" decimals="-3" id="f-448" unitRef="usd">3746000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c-7" decimals="-3" id="f-449" unitRef="usd">224550000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c-8" decimals="-3" id="f-450" unitRef="usd">217156000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="c-1" id="f-451">REVENUE&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Sales includes revenue from contracts with customers for designing, engineering, manufacturing and installation of solar racking systems; electrical balance of systems; roof and foundation ventilation products; centralized mail systems and electronic package solutions; rain dispersion products; trims and flashings and other accessories; retractable awnings; gutter guards; designing, engineering, manufacturing and installation of greenhouses; structural bearings; expansion joints; pavement sealant; elastomeric concrete; and bridge cable protection systems.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Refer to Note 20 "Segment Information" for additional information related to revenue recognized by timing of transfer of control by reportable segment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Payment terms and conditions vary by contract, although terms generally include a requirement of payment within a range from 30 to 60 days, or in certain cases, up front deposits.  In circumstances where the timing of revenue recognition differs from the timing of invoicing, the Company has determined that the Company's contracts generally do not include a significant financing component. Taxes collected from customers, which are subsequently remitted to governmental authorities, are excluded from sales.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December 31, 2023, the Company's remaining performance obligations are part of contracts that have an original expected duration of one year or less.  Additionally, as of December 31, 2023 and 2022, there were no assets recognized related to incremental costs of obtaining a contract with a customer as the benefits of these costs are not expected to exceed one year.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contract assets consist of costs in excess of billings presented within accounts receivable in the Company's consolidated balance sheets. Contract liabilities consist of billings in excess of costs, classified as current liabilities, and unearned revenue, presented within accrued expenses, in the Company's consolidated balance sheets.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents the ending and beginning balances of costs in excess of billings, billings in excess of cost and unearned revenue, respectively, as of December 31 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:51.176%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.318%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.318%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.320%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Costs in excess of billings&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,035&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,732&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,437&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Billings in excess of costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(44,735)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(35,017)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(46,711)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unearned revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,941)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,572)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,681)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue recognized during the years ended December 31, 2023, 2022, and 2021 that was in contract liabilities at the beginning of the respective periods was $35.5&#160;million, $44.4&#160;million, and $53.0&#160;million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;The increase in costs in excess of billings as of December 31, 2023 compared to December 31, 2022 was primarily due to the timing of the Company&#x2019;s right to invoice customers for performance satisfied near the end of 2023.  The increase in billings in excess of costs as of December 31, 2023 compared to December 31, 2022 was primarily due to timing and an increase in number of contracts under which the Company has billed customers in advance of the satisfaction of performance obligations in the Renewables segment near the end of 2023.  The decreases in costs &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;in excess of billings and billings in excess of costs as of December 31, 2022 compared to December 31, 2021, respectively, were primarily due to decline in volume in the Renewables and Agtech segments in 2022 compared to 2021.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <rock:ContractWithCustomerContractPaymentTerms contextRef="c-54" id="f-452">P30D</rock:ContractWithCustomerContractPaymentTerms>
    <rock:ContractWithCustomerContractPaymentTerms contextRef="c-55" id="f-453">P60D</rock:ContractWithCustomerContractPaymentTerms>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 contextRef="c-56" id="f-454">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <rock:ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract contextRef="c-8" decimals="0" id="f-455" unitRef="usd">0</rock:ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract>
    <rock:ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract contextRef="c-7" decimals="0" id="f-456" unitRef="usd">0</rock:ContractWithCustomerAssetObtainedThroughIncrementalCostOfObtainingContract>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 contextRef="c-56" id="f-457">P1Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock contextRef="c-1" id="f-458">&lt;div style="margin-top:3pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:51.176%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.318%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.318%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.320%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Costs in excess of billings&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,035&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,732&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,437&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Billings in excess of costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(44,735)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(35,017)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(46,711)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unearned revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,941)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,572)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,681)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerAssetNet contextRef="c-7" decimals="-3" id="f-459" unitRef="usd">52035000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:UnbilledContractsReceivable contextRef="c-7" decimals="-3" id="f-460" unitRef="usd">52035000</us-gaap:UnbilledContractsReceivable>
    <us-gaap:ContractWithCustomerAssetNet contextRef="c-8" decimals="-3" id="f-461" unitRef="usd">41732000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerAssetNet contextRef="c-9" decimals="-3" id="f-462" unitRef="usd">54437000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerLiability contextRef="c-57" decimals="-3" id="f-463" unitRef="usd">44735000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability contextRef="c-58" decimals="-3" id="f-464" unitRef="usd">35017000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability contextRef="c-59" decimals="-3" id="f-465" unitRef="usd">46711000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability contextRef="c-7" decimals="-3" id="f-466" unitRef="usd">3941000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability contextRef="c-8" decimals="-3" id="f-467" unitRef="usd">4572000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability contextRef="c-9" decimals="-3" id="f-468" unitRef="usd">3681000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerAssetReclassifiedToReceivable contextRef="c-1" decimals="-5" id="f-469" unitRef="usd">35500000</us-gaap:ContractWithCustomerAssetReclassifiedToReceivable>
    <us-gaap:ContractWithCustomerAssetReclassifiedToReceivable contextRef="c-4" decimals="-5" id="f-470" unitRef="usd">44400000</us-gaap:ContractWithCustomerAssetReclassifiedToReceivable>
    <us-gaap:ContractWithCustomerAssetReclassifiedToReceivable contextRef="c-5" decimals="-5" id="f-471" unitRef="usd">53000000</us-gaap:ContractWithCustomerAssetReclassifiedToReceivable>
    <us-gaap:InventoryDisclosureTextBlock contextRef="c-1" id="f-472">INVENTORIES, NET&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories at December&#160;31 consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:72.692%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.639%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raw material&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;77,489&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111,187&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Work-in-process&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,508&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,944&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,942&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,523&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross inventory&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;129,939&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176,654&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less reserves&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,436)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,294)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total inventories&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;120,503&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;170,360&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's gross inventory balances are reduced by reserves for excess, obsolete and slow moving inventory and estimates for determining net realizable value of the inventory that are reported on a net basis on the &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Company's consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes activity recorded within the reserve for excess, obsolete and slow moving inventory for the years ended December&#160;31 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,179&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Excess, obsolete and slow moving inventory expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,582&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;215&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Scrapped inventory and other adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,044)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;197&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,378&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,179&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="c-1" id="f-473">&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories at December&#160;31 consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:72.692%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.639%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raw material&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;77,489&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111,187&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Work-in-process&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,508&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,944&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,942&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,523&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross inventory&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;129,939&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176,654&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less reserves&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,436)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,294)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total inventories&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;120,503&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;170,360&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterials contextRef="c-7" decimals="-3" id="f-474" unitRef="usd">77489000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials contextRef="c-8" decimals="-3" id="f-475" unitRef="usd">111187000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryWorkInProcess contextRef="c-7" decimals="-3" id="f-476" unitRef="usd">9508000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess contextRef="c-8" decimals="-3" id="f-477" unitRef="usd">17944000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryFinishedGoods contextRef="c-7" decimals="-3" id="f-478" unitRef="usd">42942000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods contextRef="c-8" decimals="-3" id="f-479" unitRef="usd">47523000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryGross contextRef="c-7" decimals="-3" id="f-480" unitRef="usd">129939000</us-gaap:InventoryGross>
    <us-gaap:InventoryGross contextRef="c-8" decimals="-3" id="f-481" unitRef="usd">176654000</us-gaap:InventoryGross>
    <us-gaap:InventoryAdjustments contextRef="c-7" decimals="-3" id="f-482" unitRef="usd">9436000</us-gaap:InventoryAdjustments>
    <us-gaap:InventoryAdjustments contextRef="c-8" decimals="-3" id="f-483" unitRef="usd">6294000</us-gaap:InventoryAdjustments>
    <us-gaap:InventoryNet contextRef="c-7" decimals="-3" id="f-484" unitRef="usd">120503000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="c-8" decimals="-3" id="f-485" unitRef="usd">170360000</us-gaap:InventoryNet>
    <rock:SummaryOfSlowMovingInventoryActivityTableTextBlock contextRef="c-1" id="f-486">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes activity recorded within the reserve for excess, obsolete and slow moving inventory for the years ended December&#160;31 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,179&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Excess, obsolete and slow moving inventory expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,582&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;215&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Scrapped inventory and other adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,044)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;197&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,378&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,179&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</rock:SummaryOfSlowMovingInventoryActivityTableTextBlock>
    <us-gaap:InventoryValuationReserves contextRef="c-8" decimals="-3" id="f-487" unitRef="usd">6179000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves contextRef="c-9" decimals="-3" id="f-488" unitRef="usd">4400000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves contextRef="c-10" decimals="-3" id="f-489" unitRef="usd">4161000</us-gaap:InventoryValuationReserves>
    <rock:InventoryValuationExcessObsoleteAndSlowMovingInventory contextRef="c-1" decimals="-3" id="f-490" unitRef="usd">4243000</rock:InventoryValuationExcessObsoleteAndSlowMovingInventory>
    <rock:InventoryValuationExcessObsoleteAndSlowMovingInventory contextRef="c-4" decimals="-3" id="f-491" unitRef="usd">1582000</rock:InventoryValuationExcessObsoleteAndSlowMovingInventory>
    <rock:InventoryValuationExcessObsoleteAndSlowMovingInventory contextRef="c-5" decimals="-3" id="f-492" unitRef="usd">215000</rock:InventoryValuationExcessObsoleteAndSlowMovingInventory>
    <rock:InventoryValuationScrappedInventoryAndOtherAdjustments contextRef="c-1" decimals="-3" id="f-493" unitRef="usd">-1044000</rock:InventoryValuationScrappedInventoryAndOtherAdjustments>
    <rock:InventoryValuationScrappedInventoryAndOtherAdjustments contextRef="c-4" decimals="-3" id="f-494" unitRef="usd">197000</rock:InventoryValuationScrappedInventoryAndOtherAdjustments>
    <rock:InventoryValuationScrappedInventoryAndOtherAdjustments contextRef="c-5" decimals="-3" id="f-495" unitRef="usd">24000</rock:InventoryValuationScrappedInventoryAndOtherAdjustments>
    <us-gaap:InventoryValuationReserves contextRef="c-7" decimals="-3" id="f-496" unitRef="usd">9378000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves contextRef="c-8" decimals="-3" id="f-497" unitRef="usd">6179000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves contextRef="c-9" decimals="-3" id="f-498" unitRef="usd">4400000</us-gaap:InventoryValuationReserves>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock contextRef="c-1" id="f-499">PROPERTY, PLANT, AND EQUIPMENT, NET&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Components of property, plant, and equipment at December&#160;31 consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:72.692%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.639%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Land and land improvements&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,544&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,704&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Building and improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,732&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,416&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Machinery and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;231,275&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;223,843&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Construction in progress&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,391&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,065&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property, plant, and equipment, gross&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;296,942&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;285,028&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: accumulated depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(189,339)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(175,444)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property, plant, and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107,603&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;109,584&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:LandAndLandImprovements contextRef="c-7" decimals="-3" id="f-500" unitRef="usd">4544000</us-gaap:LandAndLandImprovements>
    <us-gaap:LandAndLandImprovements contextRef="c-8" decimals="-3" id="f-501" unitRef="usd">4704000</us-gaap:LandAndLandImprovements>
    <us-gaap:BuildingsAndImprovementsGross contextRef="c-7" decimals="-3" id="f-502" unitRef="usd">43732000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross contextRef="c-8" decimals="-3" id="f-503" unitRef="usd">43416000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="c-7" decimals="-3" id="f-504" unitRef="usd">231275000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="c-8" decimals="-3" id="f-505" unitRef="usd">223843000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:ConstructionInProgressGross contextRef="c-7" decimals="-3" id="f-506" unitRef="usd">17391000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross contextRef="c-8" decimals="-3" id="f-507" unitRef="usd">13065000</us-gaap:ConstructionInProgressGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c-7" decimals="-3" id="f-508" unitRef="usd">296942000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="c-8" decimals="-3" id="f-509" unitRef="usd">285028000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="c-7" decimals="-3" id="f-510" unitRef="usd">189339000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="c-8" decimals="-3" id="f-511" unitRef="usd">175444000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c-7" decimals="-3" id="f-512" unitRef="usd">107603000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c-8" decimals="-3" id="f-513" unitRef="usd">109584000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:BusinessCombinationDisclosureTextBlock contextRef="c-1" id="f-514">ACQUISITIONS&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline"&gt;2023 Acquisition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On July 5, 2023, the Company acquired the assets of a privately held Utah-based company that manufactures and distributes roof flashing and accessory products, and sells direct to roofing wholesalers. The results of this acquisition have been included in the Company's consolidated financial results since the date of acquisition within the Company's Residential segment.  The preliminary purchase consideration for this acquisition was $10.4&#160;million, which includes a preliminary working capital adjustment and certain other adjustments provided for in the asset purchase agreement.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The purchase price for the acquisition was preliminarily allocated to the assets acquired and liabilities assumed based upon their respective fair values estimated as of the date of acquisition.  The Company has commenced the process to confirm the existence, condition, and completeness of the assets acquired and liabilities assumed to establish fair value of such assets and liabilities and to determine the amount of goodwill to be recognized as of the date of acquisition.  Due to the timing of the acquisition, the Company continues to gather information supporting the acquired assets and assumed liabilities.  Accordingly, all amounts recorded are provisional.  These provisional amounts are subject to change if new information is obtained concerning facts and circumstances that existed as of the acquisition date that, if known, would have affected the measurement of the amounts recognized as of that date.  The final determination of the fair value of certain assets and liabilities will be completed within a measurement period of up to one year from the date of acquisition. The final values may also result in changes to depreciation and amortization expense related to certain assets such as property, plant, and equipment and acquired intangible assets.  The preliminary excess consideration was recorded as goodwill and approximated $4.1&#160;million, all of which is deductible for tax purposes.  Goodwill represents future economic benefits arising from other assets acquired that could not be individually identified including workforce additions, growth opportunities, and increased presence in the domestic building products markets. The final purchase price allocation will be completed no later than the third quarter of fiscal year 2024.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preliminary allocation of the purchase consideration to the estimated fair value of the assets acquired and liabilities assumed is as follows as of the date of the acquisition (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:85.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.789%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Working capital&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;827&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property, plant, and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;195&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;134&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(72)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fair value of purchase consideration&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,417&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The intangible assets acquired in this acquisition consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:66.005%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:17.323%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Fair&#160;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted-Average Amortization Period&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline"&gt;2022 Acquisition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On August 22, 2022, the Company purchased all the issued and outstanding membership interests of Quality Aluminum Products ("QAP"), a manufacturer of aluminum and steel products including soffit, fascia, trim coil, rain carrying products and aluminum siding. The results of QAP have been included in the Company's consolidated financial results since the date of acquisition within the Company's Residential segment.  The purchase consideration for the acquisition of QAP was $52.1&#160;million, which includes a working capital adjustment and certain other adjustments provided for in the membership interest purchase agreement.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The purchase price for the acquisition was allocated to the assets acquired and liabilities assumed based upon their respective fair values estimated as of the date of acquisition.  The Company has completed the process to confirm the existence, condition, and completeness of the assets acquired and liabilities assumed to establish fair value of such assets and liabilities and to determine the amount of goodwill to be recognized as of the date of acquisition. The excess consideration was recorded as goodwill and approximated $4.0&#160;million, all of which is deductible for tax purposes.  Goodwill represents future economic benefits arising from other assets acquired that could not be individually identified including workforce additions, growth opportunities, and increased presence in the domestic building products markets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The allocation of the purchase consideration to the estimated fair value of the assets acquired and liabilities assumed is as follows as of the date of the acquisition (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:85.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.789%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,018&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Working capital&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,372&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property, plant, and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,486&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,813&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,295)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,991&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fair value of purchase consideration&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,085&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The intangible assets acquired in this acquisition consisted of the following as of the date of acquisition (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:51.677%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:19.221%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:25.218%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Fair&#160;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted-Average Amortization Period&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,800&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The acquisition of the privately held Utah-based company and the acquisition of QAP were financed primarily through borrowings under the Company's revolving credit facility. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recognized costs as a component of cost of sales related to the sale of inventory at fair value as a result of allocating the purchase price of recent acquisitions. The Company also incurred certain acquisition-related costs comprised of legal and consulting fees.  These costs were recognized as a component of selling, general, and administrative expenses in the consolidated statements of income. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The acquisition-related costs consisted of the following for the years ended December 31 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:53.445%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.562%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.533%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.562%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.533%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.565%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,427&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;253&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;545&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;949&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total acquisition related costs&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;265&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;949&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="c-60" decimals="-5" id="f-515" unitRef="usd">10400000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <rock:FairValueMeasurementPeriod contextRef="c-60" id="f-516">P1Y</rock:FairValueMeasurementPeriod>
    <us-gaap:Goodwill contextRef="c-61" decimals="-5" id="f-517" unitRef="usd">4100000</us-gaap:Goodwill>
    <us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock contextRef="c-1" id="f-518">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preliminary allocation of the purchase consideration to the estimated fair value of the assets acquired and liabilities assumed is as follows as of the date of the acquisition (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:85.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.789%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Working capital&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;827&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property, plant, and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;195&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;134&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(72)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fair value of purchase consideration&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,417&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The allocation of the purchase consideration to the estimated fair value of the assets acquired and liabilities assumed is as follows as of the date of the acquisition (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:85.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.789%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,018&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Working capital&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,372&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property, plant, and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,486&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,813&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,295)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,991&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fair value of purchase consideration&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,085&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock>
    <rock:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital contextRef="c-61" decimals="-3" id="f-519" unitRef="usd">827000</rock:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment contextRef="c-61" decimals="-3" id="f-520" unitRef="usd">195000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill contextRef="c-61" decimals="-3" id="f-521" unitRef="usd">5200000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther contextRef="c-61" decimals="-3" id="f-522" unitRef="usd">134000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther contextRef="c-61" decimals="-3" id="f-523" unitRef="usd">72000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:Goodwill contextRef="c-61" decimals="-3" id="f-524" unitRef="usd">4133000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet contextRef="c-61" decimals="-3" id="f-525" unitRef="usd">10417000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock contextRef="c-1" id="f-526">&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The intangible assets acquired in this acquisition consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:66.005%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:17.323%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Fair&#160;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted-Average Amortization Period&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The intangible assets acquired in this acquisition consisted of the following as of the date of acquisition (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:51.677%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:19.221%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:25.218%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Fair&#160;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted-Average Amortization Period&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,800&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,700&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1 contextRef="c-62" decimals="-3" id="f-527" unitRef="usd">300000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="c-62" id="f-528">P2Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1 contextRef="c-63" decimals="-3" id="f-529" unitRef="usd">4900000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="c-63" id="f-530">P12Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1 contextRef="c-60" decimals="-3" id="f-531" unitRef="usd">5200000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="c-64" decimals="-5" id="f-532" unitRef="usd">52100000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:Goodwill contextRef="c-65" decimals="-5" id="f-533" unitRef="usd">4000000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents contextRef="c-65" decimals="-3" id="f-534" unitRef="usd">1018000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <rock:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital contextRef="c-65" decimals="-3" id="f-535" unitRef="usd">23372000</rock:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedWorkingCapital>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment contextRef="c-65" decimals="-3" id="f-536" unitRef="usd">8486000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill contextRef="c-65" decimals="-3" id="f-537" unitRef="usd">14700000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther contextRef="c-65" decimals="-3" id="f-538" unitRef="usd">1813000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther contextRef="c-66" decimals="-3" id="f-539" unitRef="usd">1295000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:Goodwill contextRef="c-65" decimals="-3" id="f-540" unitRef="usd">3991000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet contextRef="c-65" decimals="-3" id="f-541" unitRef="usd">52085000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet>
    <us-gaap:IndefinitelivedIntangibleAssetsAcquired contextRef="c-67" decimals="-3" id="f-542" unitRef="usd">2800000</us-gaap:IndefinitelivedIntangibleAssetsAcquired>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1 contextRef="c-68" decimals="-3" id="f-543" unitRef="usd">11900000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="c-68" id="f-544">P12Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1 contextRef="c-69" decimals="-3" id="f-545" unitRef="usd">14700000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <rock:ScheduleofBusinessCombinationCostsTableTextBlock contextRef="c-1" id="f-546">&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The acquisition-related costs consisted of the following for the years ended December 31 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:53.445%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.562%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.533%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.562%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.533%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.565%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,427&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;253&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;545&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;949&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total acquisition related costs&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;265&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;949&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</rock:ScheduleofBusinessCombinationCostsTableTextBlock>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts contextRef="c-70" decimals="-3" id="f-547" unitRef="usd">12000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts contextRef="c-71" decimals="-3" id="f-548" unitRef="usd">1427000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts contextRef="c-72" decimals="-3" id="f-549" unitRef="usd">0</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts contextRef="c-73" decimals="-3" id="f-550" unitRef="usd">253000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts contextRef="c-74" decimals="-3" id="f-551" unitRef="usd">545000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts contextRef="c-75" decimals="-3" id="f-552" unitRef="usd">949000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts contextRef="c-1" decimals="-3" id="f-553" unitRef="usd">265000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts contextRef="c-4" decimals="-3" id="f-554" unitRef="usd">1972000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts contextRef="c-5" decimals="-3" id="f-555" unitRef="usd">949000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock contextRef="c-1" id="f-556">GOODWILL AND RELATED INTANGIBLE ASSETS&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline"&gt;Goodwill&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in the carrying amount of goodwill for the years ended December&#160;31 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:33.841%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.335%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;188,680&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;205,452&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,678&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;510,942&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,604&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,604&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Adjustment to prior year acquisition&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;904&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;904&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,554)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,533)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,087)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;188,030&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;209,056&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83,599&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,678&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;512,363&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Adjustment to prior year acquisition&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,132)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(832)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sale of business&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,668)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,668)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;184,230&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;213,576&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83,899&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,678&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;513,383&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill is recognized net of accumulated impairment losses of $133.2 million as of December&#160;31, 2023 and 2022, respectively.  No goodwill impairment charges were recognized by the Company during 2023 or 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline"&gt;Annual and Interim Impairment Testing&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company tests goodwill and indefinite-lived intangible assets for impairment on an annual basis as of October&#160;31 and at interim dates when indicators of impairment are present. In 2023, 2022 and 2021, no indicators of impairment were identified as of interim dates; therefore, no interim tests were performed.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the October 31, 2023 impairment test, the Company conducted a quantitative analysis for all seven of the Company&#x2019;s reporting units. The quantitative impairment test consists of comparing the fair value of a reporting unit with its carrying value including goodwill. The fair value of each reporting unit evaluated under the quantitative test was determined using two valuation techniques: an income approach and a market approach. Each valuation approach relies on significant assumptions including a weighted average cost of capital ("WACC") based upon the capital structure of market participants in the Company&#x2019;s peer groups, projected revenue growth, forecasted cash flows, and earnings multiples based on the market value of the Company and market participants within its peer groups.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As a result of the Company's annual testing for 2023, 2022 and 2021, none of the reporting units with goodwill as of the testing date had carrying values in excess of their fair values.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline"&gt;Acquired Intangible Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Acquired intangible assets consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:45.829%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.619%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.619%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.619%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.624%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite-lived intangible assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finite-lived intangible assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,773&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,714&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,481&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unpatented technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,295&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,163&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,037&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;110,649&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,088&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;115,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,557&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-compete agreements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,376&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,154&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,371&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,006&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;152,931&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,251&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;157,107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;75,081&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total acquired intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;205,231&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,251&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;212,607&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;75,081&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the year ended December 31, 2023, the Company recognized &lt;span style="-sec-ix-hidden:f-645"&gt;impairment charges&lt;/span&gt; of $3.8&#160;million related to indefinite-lived trademark intangible assets due to a rebranding initiative that resulted in the discontinuation of certain indefinite-lived trademarks in the Agtech segment, along with the write-off of amortizing intangibles related to a discontinued product line in the Renewables segment. The Company recognized no impairment charges related to intangible assets during the year ended December 31, 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recognized amortization expense related to the definite-lived intangible assets. The following table summarizes amortization expense for the years ended December&#160;31 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.047%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.694%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.535%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.694%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.535%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.695%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,239&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,584&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,856&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amortization expense related to acquired intangible assets for the next five years ended December&#160;31 is estimated as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:45.401%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.666%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.966%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.666%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.966%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.666%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.966%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.666%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.966%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.671%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2028&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,599&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,386&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,320&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,979&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,184&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock contextRef="c-1" id="f-557">&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in the carrying amount of goodwill for the years ended December&#160;31 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:33.841%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.335%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;188,680&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;205,452&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,678&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;510,942&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,604&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,604&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Adjustment to prior year acquisition&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;904&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;904&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,554)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,533)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,087)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;188,030&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;209,056&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83,599&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,678&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;512,363&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Adjustment to prior year acquisition&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,132)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(832)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sale of business&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,668)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,668)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;184,230&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;213,576&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83,899&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,678&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;513,383&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill contextRef="c-76" decimals="-3" id="f-558" unitRef="usd">188680000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-77" decimals="-3" id="f-559" unitRef="usd">205452000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-78" decimals="-3" id="f-560" unitRef="usd">85132000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-79" decimals="-3" id="f-561" unitRef="usd">31678000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-9" decimals="-3" id="f-562" unitRef="usd">510942000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod contextRef="c-80" decimals="-3" id="f-563" unitRef="usd">0</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod contextRef="c-81" decimals="-3" id="f-564" unitRef="usd">3604000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod contextRef="c-82" decimals="-3" id="f-565" unitRef="usd">0</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod contextRef="c-83" decimals="-3" id="f-566" unitRef="usd">0</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod contextRef="c-4" decimals="-3" id="f-567" unitRef="usd">3604000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillPurchaseAccountingAdjustments contextRef="c-80" decimals="-3" id="f-568" unitRef="usd">-904000</us-gaap:GoodwillPurchaseAccountingAdjustments>
    <us-gaap:GoodwillPurchaseAccountingAdjustments contextRef="c-81" decimals="-3" id="f-569" unitRef="usd">0</us-gaap:GoodwillPurchaseAccountingAdjustments>
    <us-gaap:GoodwillPurchaseAccountingAdjustments contextRef="c-82" decimals="-3" id="f-570" unitRef="usd">0</us-gaap:GoodwillPurchaseAccountingAdjustments>
    <us-gaap:GoodwillPurchaseAccountingAdjustments contextRef="c-83" decimals="-3" id="f-571" unitRef="usd">0</us-gaap:GoodwillPurchaseAccountingAdjustments>
    <us-gaap:GoodwillPurchaseAccountingAdjustments contextRef="c-4" decimals="-3" id="f-572" unitRef="usd">-904000</us-gaap:GoodwillPurchaseAccountingAdjustments>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-80" decimals="-3" id="f-573" unitRef="usd">-1554000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-81" decimals="-3" id="f-574" unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-82" decimals="-3" id="f-575" unitRef="usd">-1533000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-83" decimals="-3" id="f-576" unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-4" decimals="-3" id="f-577" unitRef="usd">-3087000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill contextRef="c-84" decimals="-3" id="f-578" unitRef="usd">188030000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-85" decimals="-3" id="f-579" unitRef="usd">209056000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-86" decimals="-3" id="f-580" unitRef="usd">83599000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-87" decimals="-3" id="f-581" unitRef="usd">31678000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-8" decimals="-3" id="f-582" unitRef="usd">512363000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod contextRef="c-88" decimals="-3" id="f-583" unitRef="usd">0</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod contextRef="c-89" decimals="-3" id="f-584" unitRef="usd">4133000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod contextRef="c-90" decimals="-3" id="f-585" unitRef="usd">0</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod contextRef="c-91" decimals="-3" id="f-586" unitRef="usd">0</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod contextRef="c-1" decimals="-3" id="f-587" unitRef="usd">4133000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillPurchaseAccountingAdjustments contextRef="c-88" decimals="-3" id="f-588" unitRef="usd">0</us-gaap:GoodwillPurchaseAccountingAdjustments>
    <us-gaap:GoodwillPurchaseAccountingAdjustments contextRef="c-89" decimals="-3" id="f-589" unitRef="usd">-387000</us-gaap:GoodwillPurchaseAccountingAdjustments>
    <us-gaap:GoodwillPurchaseAccountingAdjustments contextRef="c-90" decimals="-3" id="f-590" unitRef="usd">0</us-gaap:GoodwillPurchaseAccountingAdjustments>
    <us-gaap:GoodwillPurchaseAccountingAdjustments contextRef="c-91" decimals="-3" id="f-591" unitRef="usd">0</us-gaap:GoodwillPurchaseAccountingAdjustments>
    <us-gaap:GoodwillPurchaseAccountingAdjustments contextRef="c-1" decimals="-3" id="f-592" unitRef="usd">-387000</us-gaap:GoodwillPurchaseAccountingAdjustments>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-88" decimals="-3" id="f-593" unitRef="usd">-1132000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-89" decimals="-3" id="f-594" unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-90" decimals="-3" id="f-595" unitRef="usd">300000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-91" decimals="-3" id="f-596" unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-1" decimals="-3" id="f-597" unitRef="usd">-832000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillWrittenOffRelatedToSaleOfBusinessUnit contextRef="c-88" decimals="-3" id="f-598" unitRef="usd">2668000</us-gaap:GoodwillWrittenOffRelatedToSaleOfBusinessUnit>
    <us-gaap:GoodwillWrittenOffRelatedToSaleOfBusinessUnit contextRef="c-89" decimals="-3" id="f-599" unitRef="usd">0</us-gaap:GoodwillWrittenOffRelatedToSaleOfBusinessUnit>
    <us-gaap:GoodwillWrittenOffRelatedToSaleOfBusinessUnit contextRef="c-90" decimals="-3" id="f-600" unitRef="usd">0</us-gaap:GoodwillWrittenOffRelatedToSaleOfBusinessUnit>
    <us-gaap:GoodwillWrittenOffRelatedToSaleOfBusinessUnit contextRef="c-91" decimals="-3" id="f-601" unitRef="usd">0</us-gaap:GoodwillWrittenOffRelatedToSaleOfBusinessUnit>
    <us-gaap:GoodwillWrittenOffRelatedToSaleOfBusinessUnit contextRef="c-1" decimals="-3" id="f-602" unitRef="usd">2668000</us-gaap:GoodwillWrittenOffRelatedToSaleOfBusinessUnit>
    <us-gaap:Goodwill contextRef="c-92" decimals="-3" id="f-603" unitRef="usd">184230000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-93" decimals="-3" id="f-604" unitRef="usd">213576000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-94" decimals="-3" id="f-605" unitRef="usd">83899000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-95" decimals="-3" id="f-606" unitRef="usd">31678000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-7" decimals="-3" id="f-607" unitRef="usd">513383000</us-gaap:Goodwill>
    <us-gaap:GoodwillImpairedAccumulatedImpairmentLoss contextRef="c-7" decimals="-5" id="f-608" unitRef="usd">133200000</us-gaap:GoodwillImpairedAccumulatedImpairmentLoss>
    <us-gaap:GoodwillImpairedAccumulatedImpairmentLoss contextRef="c-8" decimals="-5" id="f-609" unitRef="usd">133200000</us-gaap:GoodwillImpairedAccumulatedImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss contextRef="c-4" decimals="INF" id="f-610" unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss contextRef="c-1" decimals="INF" id="f-611" unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:NumberOfReportingUnits contextRef="c-96" decimals="INF" id="f-612" unitRef="unit">7</us-gaap:NumberOfReportingUnits>
    <rock:ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits
      contextRef="c-1"
      decimals="0"
      id="f-613"
      unitRef="reporting_unit">0</rock:ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits>
    <rock:ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits
      contextRef="c-5"
      decimals="0"
      id="f-614"
      unitRef="reporting_unit">0</rock:ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits>
    <rock:ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits
      contextRef="c-4"
      decimals="0"
      id="f-615"
      unitRef="reporting_unit">0</rock:ReportingUnitCarryingAmountInExcessOfFairValueNumberOfReportingUnits>
    <us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock contextRef="c-1" id="f-616">&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Acquired intangible assets consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:45.829%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.619%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.619%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.619%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.624%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross&lt;br/&gt;Carrying&lt;br/&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite-lived intangible assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finite-lived intangible assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trademarks&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,773&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,714&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,481&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unpatented technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,295&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,163&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,037&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;110,649&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,088&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;115,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,557&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-compete agreements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,376&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,154&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,371&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,006&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;152,931&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,251&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;157,107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;75,081&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total acquired intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;205,231&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,251&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;212,607&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;75,081&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill contextRef="c-97" decimals="-3" id="f-617" unitRef="usd">52300000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <rock:IndefiniteLivedAccumulatedAmortization contextRef="c-97" decimals="-3" id="f-618" unitRef="usd">0</rock:IndefiniteLivedAccumulatedAmortization>
    <us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill contextRef="c-98" decimals="-3" id="f-619" unitRef="usd">55500000</us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill>
    <rock:IndefiniteLivedAccumulatedAmortization contextRef="c-98" decimals="-3" id="f-620" unitRef="usd">0</rock:IndefiniteLivedAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-99" decimals="-3" id="f-621" unitRef="usd">5773000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-99" decimals="-3" id="f-622" unitRef="usd">4714000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-100" decimals="-3" id="f-623" unitRef="usd">5448000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-100" decimals="-3" id="f-624" unitRef="usd">4481000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-101" decimals="-3" id="f-625" unitRef="usd">34133000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-101" decimals="-3" id="f-626" unitRef="usd">24295000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-102" decimals="-3" id="f-627" unitRef="usd">34163000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-102" decimals="-3" id="f-628" unitRef="usd">22037000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-103" decimals="-3" id="f-629" unitRef="usd">110649000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-103" decimals="-3" id="f-630" unitRef="usd">48088000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-104" decimals="-3" id="f-631" unitRef="usd">115125000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-104" decimals="-3" id="f-632" unitRef="usd">46557000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-105" decimals="-3" id="f-633" unitRef="usd">2376000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-105" decimals="-3" id="f-634" unitRef="usd">2154000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-106" decimals="-3" id="f-635" unitRef="usd">2371000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-106" decimals="-3" id="f-636" unitRef="usd">2006000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-7" decimals="-3" id="f-637" unitRef="usd">152931000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-7" decimals="-3" id="f-638" unitRef="usd">79251000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-8" decimals="-3" id="f-639" unitRef="usd">157107000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-8" decimals="-3" id="f-640" unitRef="usd">75081000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <rock:AcquiredIntangibleAssetsTotal contextRef="c-7" decimals="-3" id="f-641" unitRef="usd">205231000</rock:AcquiredIntangibleAssetsTotal>
    <rock:TotalAcquiredIntangibleAssetsAccumulatedAmortization contextRef="c-7" decimals="-3" id="f-642" unitRef="usd">79251000</rock:TotalAcquiredIntangibleAssetsAccumulatedAmortization>
    <rock:AcquiredIntangibleAssetsTotal contextRef="c-8" decimals="-3" id="f-643" unitRef="usd">212607000</rock:AcquiredIntangibleAssetsTotal>
    <rock:TotalAcquiredIntangibleAssetsAccumulatedAmortization contextRef="c-8" decimals="-3" id="f-644" unitRef="usd">75081000</rock:TotalAcquiredIntangibleAssetsAccumulatedAmortization>
    <us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill contextRef="c-107" decimals="-5" id="f-646" unitRef="usd">3800000</us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill>
    <us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill contextRef="c-4" decimals="INF" id="f-647" unitRef="usd">0</us-gaap:ImpairmentOfIntangibleAssetsIndefinitelivedExcludingGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock contextRef="c-1" id="f-648">The following table summarizes amortization expense for the years ended December&#160;31 (in thousands):&lt;div style="margin-top:3pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.047%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.694%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.535%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.694%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.535%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.695%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,239&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,584&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,856&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c-1" decimals="-3" id="f-649" unitRef="usd">11239000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c-4" decimals="-3" id="f-650" unitRef="usd">11584000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c-5" decimals="-3" id="f-651" unitRef="usd">18856000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock contextRef="c-1" id="f-652">&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amortization expense related to acquired intangible assets for the next five years ended December&#160;31 is estimated as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:45.401%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.666%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.966%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.666%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.966%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.666%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.966%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.666%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.966%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.671%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2028&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,599&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,386&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,320&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,979&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,184&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths contextRef="c-7" decimals="-3" id="f-653" unitRef="usd">10599000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo contextRef="c-7" decimals="-3" id="f-654" unitRef="usd">10386000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree contextRef="c-7" decimals="-3" id="f-655" unitRef="usd">9320000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour contextRef="c-7" decimals="-3" id="f-656" unitRef="usd">7979000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive contextRef="c-7" decimals="-3" id="f-657" unitRef="usd">7184000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock contextRef="c-1" id="f-658">ACCRUED EXPENSES&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accrued expenses at December&#160;31 consisted of the following (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:72.692%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.639%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Compensation&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,893&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,277&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer rebates&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,497&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,768&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&lt;span style="-sec-ix-hidden:f-664"&gt;&lt;span style="-sec-ix-hidden:f-665"&gt;Current operating lease liability&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,278&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,620&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Product warranties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,139&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,251&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Insurance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,307&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,440&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest and taxes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,167&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,438&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,669&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total accrued expenses&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88,719&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,721&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;Accrued expenses for compensation includes salaries, benefits, and short-term or current portions of incentives and bonuses. Accrued expenses for insurance are primarily for general liability, workers&#x2019; compensation and employee healthcare policies for which the Company is self-insured up to certain per-occurrence and aggregate limits.</us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock contextRef="c-1" id="f-659">&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accrued expenses at December&#160;31 consisted of the following (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:72.692%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.639%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Compensation&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,893&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,277&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer rebates&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,497&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,768&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&lt;span style="-sec-ix-hidden:f-664"&gt;&lt;span style="-sec-ix-hidden:f-665"&gt;Current operating lease liability&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,278&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,620&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Product warranties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,139&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,251&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Insurance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,307&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,440&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest and taxes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,167&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,438&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,669&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total accrued expenses&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88,719&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,721&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="c-7" decimals="-3" id="f-660" unitRef="usd">22893000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="c-8" decimals="-3" id="f-661" unitRef="usd">19277000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <rock:AccruedCustomerRebatesCurrent contextRef="c-7" decimals="-3" id="f-662" unitRef="usd">18497000</rock:AccruedCustomerRebatesCurrent>
    <rock:AccruedCustomerRebatesCurrent contextRef="c-8" decimals="-3" id="f-663" unitRef="usd">16768000</rock:AccruedCustomerRebatesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="c-7" decimals="-3" id="f-666" unitRef="usd">10278000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="c-8" decimals="-3" id="f-667" unitRef="usd">8620000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:ProductWarrantyAccrualClassifiedCurrent contextRef="c-7" decimals="-3" id="f-668" unitRef="usd">9139000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
    <us-gaap:ProductWarrantyAccrualClassifiedCurrent contextRef="c-8" decimals="-3" id="f-669" unitRef="usd">6251000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
    <us-gaap:AccruedInsuranceCurrent contextRef="c-7" decimals="-3" id="f-670" unitRef="usd">6307000</us-gaap:AccruedInsuranceCurrent>
    <us-gaap:AccruedInsuranceCurrent contextRef="c-8" decimals="-3" id="f-671" unitRef="usd">6440000</us-gaap:AccruedInsuranceCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent contextRef="c-7" decimals="-3" id="f-672" unitRef="usd">5167000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent contextRef="c-8" decimals="-3" id="f-673" unitRef="usd">5696000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="c-7" decimals="-3" id="f-674" unitRef="usd">16438000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="c-8" decimals="-3" id="f-675" unitRef="usd">10669000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrentAndNoncurrent contextRef="c-7" decimals="-3" id="f-676" unitRef="usd">88719000</us-gaap:AccruedLiabilitiesCurrentAndNoncurrent>
    <us-gaap:AccruedLiabilitiesCurrentAndNoncurrent contextRef="c-8" decimals="-3" id="f-677" unitRef="usd">73721000</us-gaap:AccruedLiabilitiesCurrentAndNoncurrent>
    <us-gaap:LongTermDebtTextBlock contextRef="c-1" id="f-678">DEBT&lt;div style="margin-top:5pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company had no outstanding debt as of December 31, 2023 and unamortized debt issuance costs, included in other assets on the consolidated balance sheet, were $1.7&#160;million.  As of December 31, 2022, the Company's total outstanding debt was $88.8&#160;million, which included $91.0&#160;million on the Company's revolving credit facility net of $2.2&#160;million in unamortized debt issuance costs.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Revolving Credit Facility&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On December 8, 2022, the Company entered into a Credit Agreement (the "Credit Agreement"), and concurrently with entering into the Credit Agreement, the Company paid off all amounts owed under the Sixth Amended and Restated Credit Agreement (the "Prior Credit Agreement") dated as of January 24, 2019, which was terminated without any prepayment penalties. The Credit Agreement provides for a revolving credit facility and letters of credit in an aggregate amount equal to $400&#160;million. The Company can request additional financing to increase the revolving credit facility to $700&#160;million or enter into a term loan of up to $300&#160;million subject to conditions set forth in the Credit Agreement.  The Credit Agreement contains two financial covenants.  As of December 31, 2023, the Company was in compliance with all financial covenants.  The Credit Agreement terminates on December 8, 2027.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Borrowings under the Credit Agreement bear interest, at the Company&#x2019;s option, at a rate equal to the applicable margin plus (a) a base rate, (b) a daily simple secured overnight financing rate ("SOFR") rate, (c) a term SOFR rate or (d) for certain foreign currencies, a foreign currency rate, in each case subject to a 0% floor. Through March 31, 2023, the Credit Agreement had an initial applicable margin of 0.125% for base rate loans and 1.125% for SOFR and alternative currency loans. Thereafter, the applicable margin ranges from 0.125% to 1.00% for base rate loans and from 1.125% to 2.00% for SOFR and alternative currency loans based on the Company&#x2019;s Total Net Leverage Ratio, as defined in the Credit Agreement. In addition, the Credit Agreement is subject to an annual commitment fee, payable quarterly, which was initially 0.20% of the daily average undrawn balance of the revolving credit facility and, from and after April 1, 2023, ranges between 0.20% and 0.25% of the daily average undrawn balance of the revolving credit facility based on the Company&#x2019;s Total Net Leverage Ratio.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Borrowings under the Credit Agreement are secured by the trade receivables, inventory, personal property, equipment, and general intangibles of the Company&#x2019;s significant domestic subsidiaries. Capital distributions are subject to certain Total Net Leverage Ratio requirements and capped by an annual aggregate limit under the Credit Agreement.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Prior Credit Agreement provided a revolving credit facility and letters of credit in an aggregate amount equal to $400 million.  Interest rates on the revolving credit facility under the Prior Credit Agreement were based on LIBOR plus an additional margin that ranges from 1.125% to 2.00%.  In addition, the revolving credit facility under the Prior Credit Agreement was subject to an undrawn commitment fee ranging between 0.15% and 0.25% based on the Total Leverage Ratio and the daily average undrawn balance. The Prior Credit Agreement terminated on December 8, 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Standby letters of credit of $3.9 million have been issued under the Credit Agreement to third parties on behalf of the Company as of December&#160;31, 2023. These letters of credit reduce the amount otherwise available under the Credit Agreement's revolving credit facility. The Company had $396.1 million and $304.5 million of availability under the revolving credit facility as of December 31, 2023 and 2022, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total cash paid for interest in the years ended December&#160;31 was (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.133%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.765%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.619%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.623%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest expense, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,002&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,047&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,639&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 1.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest income &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;174&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;269&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 1.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(128)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(679)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(345)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash paid for interest&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,553&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,542&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LongTermDebtTextBlock>
    <us-gaap:LongTermDebt contextRef="c-7" decimals="INF" id="f-679" unitRef="usd">0</us-gaap:LongTermDebt>
    <us-gaap:DeferredFinanceCostsNet contextRef="c-7" decimals="-5" id="f-680" unitRef="usd">1700000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:LongTermDebt contextRef="c-108" decimals="-5" id="f-681" unitRef="usd">88800000</us-gaap:LongTermDebt>
    <us-gaap:DebtInstrumentCarryingAmount contextRef="c-108" decimals="-5" id="f-682" unitRef="usd">91000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DeferredFinanceCostsNet contextRef="c-108" decimals="-5" id="f-683" unitRef="usd">2200000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity contextRef="c-109" decimals="-6" id="f-684" unitRef="usd">400000000</us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="c-109" decimals="INF" id="f-685" unitRef="usd">700000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentFaceAmount contextRef="c-110" decimals="INF" id="f-686" unitRef="usd">300000000</us-gaap:DebtInstrumentFaceAmount>
    <rock:DebtInstrumentNumberOfDebtCovenants
      contextRef="c-109"
      decimals="INF"
      id="f-687"
      unitRef="debtcovenant">2</rock:DebtInstrumentNumberOfDebtCovenants>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage contextRef="c-111" decimals="5" id="f-688" unitRef="number">0.00125</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage contextRef="c-112" decimals="5" id="f-689" unitRef="number">0.01125</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage contextRef="c-113" decimals="5" id="f-690" unitRef="number">0.00125</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage contextRef="c-114" decimals="2" id="f-691" unitRef="number">0.0100</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage contextRef="c-115" decimals="5" id="f-692" unitRef="number">0.01125</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage contextRef="c-116" decimals="4" id="f-693" unitRef="number">0.0200</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage contextRef="c-117" decimals="4" id="f-694" unitRef="number">0.0020</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage contextRef="c-118" decimals="4" id="f-695" unitRef="number">0.0020</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage contextRef="c-119" decimals="4" id="f-696" unitRef="number">0.0025</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity contextRef="c-120" decimals="-6" id="f-697" unitRef="usd">400000000</us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1 contextRef="c-121" decimals="5" id="f-698" unitRef="number">0.01125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1 contextRef="c-122" decimals="4" id="f-699" unitRef="number">0.0200</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage contextRef="c-123" decimals="4" id="f-700" unitRef="number">0.0015</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage contextRef="c-124" decimals="4" id="f-701" unitRef="number">0.0025</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="c-125" decimals="-5" id="f-702" unitRef="usd">3900000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity contextRef="c-126" decimals="-5" id="f-703" unitRef="usd">396100000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity contextRef="c-127" decimals="-5" id="f-704" unitRef="usd">304500000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <rock:ScheduleOfInterestCashPaymentTableTextBlock contextRef="c-1" id="f-705">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total cash paid for interest in the years ended December&#160;31 was (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.133%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.765%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.619%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.623%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest expense, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,002&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,047&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,639&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 1.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest income &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;174&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;269&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 1.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(128)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(679)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(345)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash paid for interest&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,553&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,542&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</rock:ScheduleOfInterestCashPaymentTableTextBlock>
    <us-gaap:InterestIncomeExpenseNet contextRef="c-1" decimals="-3" id="f-706" unitRef="usd">-3002000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet contextRef="c-4" decimals="-3" id="f-707" unitRef="usd">-4047000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet contextRef="c-5" decimals="-3" id="f-708" unitRef="usd">-1639000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeOther contextRef="c-1" decimals="-3" id="f-709" unitRef="usd">679000</us-gaap:InterestIncomeOther>
    <us-gaap:InterestIncomeOther contextRef="c-4" decimals="-3" id="f-710" unitRef="usd">174000</us-gaap:InterestIncomeOther>
    <us-gaap:InterestIncomeOther contextRef="c-5" decimals="-3" id="f-711" unitRef="usd">269000</us-gaap:InterestIncomeOther>
    <rock:InterestAdjustment contextRef="c-1" decimals="-3" id="f-712" unitRef="usd">-128000</rock:InterestAdjustment>
    <rock:InterestAdjustment contextRef="c-4" decimals="-3" id="f-713" unitRef="usd">-679000</rock:InterestAdjustment>
    <rock:InterestAdjustment contextRef="c-5" decimals="-3" id="f-714" unitRef="usd">-345000</rock:InterestAdjustment>
    <us-gaap:InterestPaidNet contextRef="c-1" decimals="-3" id="f-715" unitRef="usd">3553000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet contextRef="c-4" decimals="-3" id="f-716" unitRef="usd">3542000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet contextRef="c-5" decimals="-3" id="f-717" unitRef="usd">1563000</us-gaap:InterestPaidNet>
    <us-gaap:PostemploymentBenefitsDisclosureTextBlock contextRef="c-1" id="f-718">PENSION AND OTHER POSTRETIREMENT BENEFITS&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has a 401(k) plan in which all employees of U.S. subsidiaries are eligible to participate.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company contributes to a multiemployer defined benefit pension plan under the terms of a collective-bargaining agreement that covers union-represented employees.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has an unfunded postretirement healthcare plan which provides health insurance to certain retired employees and their spouses. This plan has been frozen, no current employees participate and no additional participants will be added to the plan in the future.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total expense for all retirement plans for the years ended December&#160;31 was (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:44.075%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.443%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.443%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.449%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;401(k) plan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,804&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,580&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,196&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Multiemployer and other defined benefit and pension plans&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;92&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Postretirement healthcare plan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;251&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;342&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;411&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total retirement plan expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,001&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,685&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's one multiemployer plan is underfunded and has a rehabilitation plan in place. The rehabilitation plan requires minimum contributions from the Company. Given the status of this plan, it is reasonably possible that future contributions to the plan will increase although the Company cannot reasonably estimate a possible range of increased contributions as of December&#160;31, 2023.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents the changes in the accumulated postretirement benefit obligation related to the Company&#x2019;s unfunded postretirement healthcare benefits at December&#160;31 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:62.976%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.495%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.533%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.496%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Projected benefit obligation at January&#160;1&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,229&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;194&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;127&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Actuarial loss (gain)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,784)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Benefits paid, net of contributions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(274)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(316)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Projected benefit obligation at December&#160;31&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,229&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fair value of plan assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Under funded status&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,208)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,229)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unamortized prior service cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;292&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;352&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unrecognized actuarial (gain)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(219)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(278)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net amount recognized&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,135)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,155)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amounts recognized in the consolidated financial statements consisted of (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:62.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.590%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.592%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued postretirement benefit liability:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current portion&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;357&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;353&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long term portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,851&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,876&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Pre-tax accumulated other comprehensive loss &#x2013; unamortized post-retirement healthcare costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(73)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(74)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net amount recognized&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,135&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,155&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The measurement date used to determine postretirement benefit obligation measures was December&#160;31.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Components of net periodic postretirement benefit cost charged to expense for the years ended December&#160;31 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;194&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;127&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of unrecognized prior service cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loss amortization (&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net periodic benefit cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;254&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;211&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;282&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Assumptions used to calculate the benefit obligation:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Annual rate of increase in the per capita cost of:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-indent:20.25pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Medical costs before age 65 (&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-indent:20.25pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Medical costs after age 65 (&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-indent:20.25pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prescription drug costs (&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)  For 2023 and 2022, it was assumed that these rates would gradually decline to 4.0% by 2075.  For 2021, it was assumed that these rates would gradually decline to 3.8% by 2075.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2)  Actuarial losses are amortized utilizing the corridor approach. Differences between actual experience and the actuarial assumptions are reflected in (gain)/loss. If the total net (gain) or loss exceeds 10 percent of the greater of the accumulated postretirement benefit obligation or plan assets, this excess must be amortized over the average remaining service period of the active plan participants. If most of the plan participants are inactive, the amortization period is the expected future lifetime of inactive plan participants.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Expected benefit payments from the plan for the years ended December&#160;31 are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:24.010%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.060%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.913%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.060%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.060%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.060%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.733%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Years 2029 - 2033&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected benefit payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;357&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;370&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;362&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;361&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;356&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,646&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:PostemploymentBenefitsDisclosureTextBlock>
    <us-gaap:ScheduleOfCostsOfRetirementPlansTableTextBlock contextRef="c-1" id="f-719">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total expense for all retirement plans for the years ended December&#160;31 was (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:44.075%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.443%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.443%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.449%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;401(k) plan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,804&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,580&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,196&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Multiemployer and other defined benefit and pension plans&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;92&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Postretirement healthcare plan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;251&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;342&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;411&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total retirement plan expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,001&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,685&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfCostsOfRetirementPlansTableTextBlock>
    <us-gaap:PostemploymentBenefitsPeriodExpense contextRef="c-128" decimals="-3" id="f-720" unitRef="usd">3804000</us-gaap:PostemploymentBenefitsPeriodExpense>
    <us-gaap:PostemploymentBenefitsPeriodExpense contextRef="c-129" decimals="-3" id="f-721" unitRef="usd">3580000</us-gaap:PostemploymentBenefitsPeriodExpense>
    <us-gaap:PostemploymentBenefitsPeriodExpense contextRef="c-130" decimals="-3" id="f-722" unitRef="usd">3196000</us-gaap:PostemploymentBenefitsPeriodExpense>
    <us-gaap:PostemploymentBenefitsPeriodExpense contextRef="c-131" decimals="-3" id="f-723" unitRef="usd">92000</us-gaap:PostemploymentBenefitsPeriodExpense>
    <us-gaap:PostemploymentBenefitsPeriodExpense contextRef="c-132" decimals="-3" id="f-724" unitRef="usd">79000</us-gaap:PostemploymentBenefitsPeriodExpense>
    <us-gaap:PostemploymentBenefitsPeriodExpense contextRef="c-133" decimals="-3" id="f-725" unitRef="usd">78000</us-gaap:PostemploymentBenefitsPeriodExpense>
    <us-gaap:PostemploymentBenefitsPeriodExpense contextRef="c-134" decimals="-3" id="f-726" unitRef="usd">251000</us-gaap:PostemploymentBenefitsPeriodExpense>
    <us-gaap:PostemploymentBenefitsPeriodExpense contextRef="c-135" decimals="-3" id="f-727" unitRef="usd">342000</us-gaap:PostemploymentBenefitsPeriodExpense>
    <us-gaap:PostemploymentBenefitsPeriodExpense contextRef="c-136" decimals="-3" id="f-728" unitRef="usd">411000</us-gaap:PostemploymentBenefitsPeriodExpense>
    <us-gaap:PostemploymentBenefitsPeriodExpense contextRef="c-1" decimals="-3" id="f-729" unitRef="usd">4147000</us-gaap:PostemploymentBenefitsPeriodExpense>
    <us-gaap:PostemploymentBenefitsPeriodExpense contextRef="c-4" decimals="-3" id="f-730" unitRef="usd">4001000</us-gaap:PostemploymentBenefitsPeriodExpense>
    <us-gaap:PostemploymentBenefitsPeriodExpense contextRef="c-5" decimals="-3" id="f-731" unitRef="usd">3685000</us-gaap:PostemploymentBenefitsPeriodExpense>
    <rock:RetirementPlanNumberOfPlans contextRef="c-137" decimals="INF" id="f-732" unitRef="plan">1</rock:RetirementPlanNumberOfPlans>
    <us-gaap:ScheduleOfNetFundedStatusTableTextBlock contextRef="c-134" id="f-733">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents the changes in the accumulated postretirement benefit obligation related to the Company&#x2019;s unfunded postretirement healthcare benefits at December&#160;31 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:62.976%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.495%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.533%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.496%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Projected benefit obligation at January&#160;1&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,229&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;194&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;127&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Actuarial loss (gain)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,784)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Benefits paid, net of contributions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(274)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(316)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Projected benefit obligation at December&#160;31&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,229&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fair value of plan assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Under funded status&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,208)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,229)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unamortized prior service cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;292&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;352&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unrecognized actuarial (gain)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(219)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(278)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net amount recognized&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,135)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,155)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfNetFundedStatusTableTextBlock>
    <us-gaap:DefinedBenefitPlanBenefitObligation contextRef="c-138" decimals="-3" id="f-734" unitRef="usd">4229000</us-gaap:DefinedBenefitPlanBenefitObligation>
    <us-gaap:DefinedBenefitPlanBenefitObligation contextRef="c-139" decimals="-3" id="f-735" unitRef="usd">6202000</us-gaap:DefinedBenefitPlanBenefitObligation>
    <us-gaap:DefinedBenefitPlanInterestCost contextRef="c-134" decimals="-3" id="f-736" unitRef="usd">194000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost contextRef="c-135" decimals="-3" id="f-737" unitRef="usd">127000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanActuarialGainLoss contextRef="c-134" decimals="-3" id="f-738" unitRef="usd">-59000</us-gaap:DefinedBenefitPlanActuarialGainLoss>
    <us-gaap:DefinedBenefitPlanActuarialGainLoss contextRef="c-135" decimals="-3" id="f-739" unitRef="usd">1784000</us-gaap:DefinedBenefitPlanActuarialGainLoss>
    <us-gaap:DefinedBenefitPlanBenefitObligationBenefitsPaid contextRef="c-134" decimals="-3" id="f-740" unitRef="usd">274000</us-gaap:DefinedBenefitPlanBenefitObligationBenefitsPaid>
    <us-gaap:DefinedBenefitPlanBenefitObligationBenefitsPaid contextRef="c-135" decimals="-3" id="f-741" unitRef="usd">316000</us-gaap:DefinedBenefitPlanBenefitObligationBenefitsPaid>
    <us-gaap:DefinedBenefitPlanBenefitObligation contextRef="c-140" decimals="-3" id="f-742" unitRef="usd">4208000</us-gaap:DefinedBenefitPlanBenefitObligation>
    <us-gaap:DefinedBenefitPlanBenefitObligation contextRef="c-138" decimals="-3" id="f-743" unitRef="usd">4229000</us-gaap:DefinedBenefitPlanBenefitObligation>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets contextRef="c-140" decimals="-3" id="f-744" unitRef="usd">0</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFairValueOfPlanAssets contextRef="c-138" decimals="-3" id="f-745" unitRef="usd">0</us-gaap:DefinedBenefitPlanFairValueOfPlanAssets>
    <us-gaap:DefinedBenefitPlanFundedStatusOfPlan contextRef="c-140" decimals="-3" id="f-746" unitRef="usd">-4208000</us-gaap:DefinedBenefitPlanFundedStatusOfPlan>
    <us-gaap:DefinedBenefitPlanFundedStatusOfPlan contextRef="c-138" decimals="-3" id="f-747" unitRef="usd">-4229000</us-gaap:DefinedBenefitPlanFundedStatusOfPlan>
    <us-gaap:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax contextRef="c-140" decimals="-3" id="f-748" unitRef="usd">292000</us-gaap:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax>
    <us-gaap:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax contextRef="c-138" decimals="-3" id="f-749" unitRef="usd">352000</us-gaap:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax>
    <us-gaap:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax contextRef="c-140" decimals="-3" id="f-750" unitRef="usd">219000</us-gaap:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax>
    <us-gaap:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax contextRef="c-138" decimals="-3" id="f-751" unitRef="usd">278000</us-gaap:DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax>
    <us-gaap:DefinedBenefitPlanAmountsRecognizedInBalanceSheet contextRef="c-140" decimals="-3" id="f-752" unitRef="usd">-4135000</us-gaap:DefinedBenefitPlanAmountsRecognizedInBalanceSheet>
    <us-gaap:DefinedBenefitPlanAmountsRecognizedInBalanceSheet contextRef="c-138" decimals="-3" id="f-753" unitRef="usd">-4155000</us-gaap:DefinedBenefitPlanAmountsRecognizedInBalanceSheet>
    <us-gaap:ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock contextRef="c-1" id="f-754">&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amounts recognized in the consolidated financial statements consisted of (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:62.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.590%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.592%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued postretirement benefit liability:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current portion&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;357&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;353&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long term portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,851&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,876&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Pre-tax accumulated other comprehensive loss &#x2013; unamortized post-retirement healthcare costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(73)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(74)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net amount recognized&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,135&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,155&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities contextRef="c-140" decimals="-3" id="f-755" unitRef="usd">357000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities contextRef="c-138" decimals="-3" id="f-756" unitRef="usd">353000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent contextRef="c-140" decimals="-3" id="f-757" unitRef="usd">3851000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent contextRef="c-138" decimals="-3" id="f-758" unitRef="usd">3876000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent>
    <us-gaap:DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax contextRef="c-134" decimals="-3" id="f-759" unitRef="usd">-73000</us-gaap:DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax>
    <us-gaap:DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax contextRef="c-135" decimals="-3" id="f-760" unitRef="usd">-74000</us-gaap:DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax>
    <us-gaap:DefinedBenefitPlanAmountsRecognizedInBalanceSheet contextRef="c-140" decimals="-3" id="f-761" unitRef="usd">-4135000</us-gaap:DefinedBenefitPlanAmountsRecognizedInBalanceSheet>
    <us-gaap:DefinedBenefitPlanAmountsRecognizedInBalanceSheet contextRef="c-138" decimals="-3" id="f-762" unitRef="usd">-4155000</us-gaap:DefinedBenefitPlanAmountsRecognizedInBalanceSheet>
    <us-gaap:ScheduleOfNetBenefitCostsTableTextBlock contextRef="c-134" id="f-763">&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Components of net periodic postretirement benefit cost charged to expense for the years ended December&#160;31 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;194&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;127&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of unrecognized prior service cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loss amortization (&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net periodic benefit cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;254&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;211&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;282&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Assumptions used to calculate the benefit obligation:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Annual rate of increase in the per capita cost of:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-indent:20.25pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Medical costs before age 65 (&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-indent:20.25pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Medical costs after age 65 (&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-indent:20.25pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prescription drug costs (&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)  For 2023 and 2022, it was assumed that these rates would gradually decline to 4.0% by 2075.  For 2021, it was assumed that these rates would gradually decline to 3.8% by 2075.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2)  Actuarial losses are amortized utilizing the corridor approach. Differences between actual experience and the actuarial assumptions are reflected in (gain)/loss. If the total net (gain) or loss exceeds 10 percent of the greater of the accumulated postretirement benefit obligation or plan assets, this excess must be amortized over the average remaining service period of the active plan participants. If most of the plan participants are inactive, the amortization period is the expected future lifetime of inactive plan participants.&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfNetBenefitCostsTableTextBlock>
    <us-gaap:DefinedBenefitPlanInterestCost contextRef="c-134" decimals="-3" id="f-764" unitRef="usd">194000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost contextRef="c-135" decimals="-3" id="f-765" unitRef="usd">127000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost contextRef="c-136" decimals="-3" id="f-766" unitRef="usd">125000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit contextRef="c-134" decimals="-3" id="f-767" unitRef="usd">60000</us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit>
    <us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit contextRef="c-135" decimals="-3" id="f-768" unitRef="usd">60000</us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit>
    <us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit contextRef="c-136" decimals="-3" id="f-769" unitRef="usd">44000</us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses contextRef="c-134" decimals="-3" id="f-770" unitRef="usd">0</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses contextRef="c-135" decimals="-3" id="f-771" unitRef="usd">-24000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses contextRef="c-136" decimals="-3" id="f-772" unitRef="usd">-113000</us-gaap:DefinedBenefitPlanAmortizationOfGainsLosses>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost contextRef="c-134" decimals="-3" id="f-773" unitRef="usd">254000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost contextRef="c-135" decimals="-3" id="f-774" unitRef="usd">211000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost contextRef="c-136" decimals="-3" id="f-775" unitRef="usd">282000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate contextRef="c-140" decimals="3" id="f-776" unitRef="number">0.047</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate contextRef="c-138" decimals="3" id="f-777" unitRef="number">0.048</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate contextRef="c-139" decimals="3" id="f-778" unitRef="number">0.024</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate>
    <rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65 contextRef="c-134" decimals="3" id="f-779" unitRef="number">0.078</rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65>
    <rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65 contextRef="c-135" decimals="3" id="f-780" unitRef="number">0.078</rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65>
    <rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65 contextRef="c-136" decimals="3" id="f-781" unitRef="number">0.070</rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsBeforeAge65>
    <rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65 contextRef="c-134" decimals="3" id="f-782" unitRef="number">0.046</rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65>
    <rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65 contextRef="c-135" decimals="3" id="f-783" unitRef="number">0.045</rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65>
    <rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65 contextRef="c-136" decimals="3" id="f-784" unitRef="number">0.045</rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearMedicalCostsAfterAge65>
    <rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts contextRef="c-134" decimals="3" id="f-785" unitRef="number">0.078</rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts>
    <rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts contextRef="c-135" decimals="3" id="f-786" unitRef="number">0.078</rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts>
    <rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts contextRef="c-136" decimals="3" id="f-787" unitRef="number">0.070</rock:DefinedBenefitPlanHealthCareCostTrendRateAssumedforNextFiscalYearPrescriptionDrugCosts>
    <us-gaap:DefinedBenefitPlanUltimateHealthCareCostTrendRate1 contextRef="c-7" decimals="3" id="f-788" unitRef="number">0.040</us-gaap:DefinedBenefitPlanUltimateHealthCareCostTrendRate1>
    <us-gaap:DefinedBenefitPlanUltimateHealthCareCostTrendRate1 contextRef="c-8" decimals="3" id="f-789" unitRef="number">0.040</us-gaap:DefinedBenefitPlanUltimateHealthCareCostTrendRate1>
    <us-gaap:DefinedBenefitPlanUltimateHealthCareCostTrendRate1 contextRef="c-9" decimals="3" id="f-790" unitRef="number">0.038</us-gaap:DefinedBenefitPlanUltimateHealthCareCostTrendRate1>
    <us-gaap:ScheduleOfExpectedBenefitPaymentsTableTextBlock contextRef="c-134" id="f-791">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Expected benefit payments from the plan for the years ended December&#160;31 are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:24.010%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.060%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.913%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.060%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.060%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.060%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.733%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Years 2029 - 2033&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected benefit payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;357&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;370&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;362&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;361&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;356&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,646&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfExpectedBenefitPaymentsTableTextBlock>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths contextRef="c-140" decimals="-3" id="f-792" unitRef="usd">357000000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo contextRef="c-140" decimals="-3" id="f-793" unitRef="usd">370000000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree contextRef="c-140" decimals="-3" id="f-794" unitRef="usd">362000000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour contextRef="c-140" decimals="-3" id="f-795" unitRef="usd">361000000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive contextRef="c-140" decimals="-3" id="f-796" unitRef="usd">356000000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter contextRef="c-140" decimals="-3" id="f-797" unitRef="usd">1646000000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter>
    <us-gaap:ComprehensiveIncomeNoteTextBlock contextRef="c-1" id="f-798">ACCUMULATED OTHER COMPREHENSIVE (LOSS) INCOME&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The cumulative balance of each component of accumulated other comprehensive (loss) income is as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:29.601%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.742%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.958%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.180%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.449%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.550%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Foreign&lt;br/&gt;Currency&lt;br/&gt;Translation&lt;br/&gt;Adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Postretirement&lt;br/&gt;Benefit Plan&lt;br/&gt;Adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total Pre-&lt;br/&gt;Tax Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Tax Benefit&lt;br/&gt;(Expense)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Other&lt;br/&gt;Comprehensive&lt;br/&gt;(Loss) Income&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,640&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,247)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(607)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;794&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;187&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Postretirement benefit plan adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,852&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,852&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(449)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,403&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,022)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,022)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,022)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,382)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(395)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,777)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;345&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,432)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Postretirement benefit plan adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(36)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,204&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,204&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,204&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,178)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(245)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,423)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;309&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,114)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The realized adjustments relating to the Company&#x2019;s minimum post retirement health care costs were reclassified from accumulated other comprehensive loss and included in other expense in the consolidated statements of income.&lt;/span&gt;&lt;/div&gt;</us-gaap:ComprehensiveIncomeNoteTextBlock>
    <us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock contextRef="c-1" id="f-799">&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The cumulative balance of each component of accumulated other comprehensive (loss) income is as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:29.601%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.742%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.958%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.180%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.449%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.550%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Foreign&lt;br/&gt;Currency&lt;br/&gt;Translation&lt;br/&gt;Adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Postretirement&lt;br/&gt;Benefit Plan&lt;br/&gt;Adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total Pre-&lt;br/&gt;Tax Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Tax Benefit&lt;br/&gt;(Expense)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Other&lt;br/&gt;Comprehensive&lt;br/&gt;(Loss) Income&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,640&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,247)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(607)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;794&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;187&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Postretirement benefit plan adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,852&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,852&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(449)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,403&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,022)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,022)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,022)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,382)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(395)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,777)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;345&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,432)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Postretirement benefit plan adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(36)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,204&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,204&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,204&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,178)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(245)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,423)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;309&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,114)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1 contextRef="c-141" decimals="-3" id="f-800" unitRef="usd">1640000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1 contextRef="c-142" decimals="-3" id="f-801" unitRef="usd">-2247000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1 contextRef="c-9" decimals="-3" id="f-802" unitRef="usd">-607000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <rock:AccumulatedOtherComprehensiveIncomeLossTax contextRef="c-9" decimals="-3" id="f-803" unitRef="usd">794000</rock:AccumulatedOtherComprehensiveIncomeLossTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="c-9" decimals="-3" id="f-804" unitRef="usd">187000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeTax contextRef="c-143" decimals="-3" id="f-805" unitRef="usd">1852000</us-gaap:OtherComprehensiveIncomeLossBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeTax contextRef="c-143" decimals="-3" id="f-806" unitRef="usd">1852000</us-gaap:OtherComprehensiveIncomeLossBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossTax contextRef="c-143" decimals="-3" id="f-807" unitRef="usd">-449000</us-gaap:OtherComprehensiveIncomeLossTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax contextRef="c-143" decimals="-3" id="f-808" unitRef="usd">1403000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeTax contextRef="c-144" decimals="-3" id="f-809" unitRef="usd">-5022000</us-gaap:OtherComprehensiveIncomeLossBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeTax contextRef="c-144" decimals="-3" id="f-810" unitRef="usd">-5022000</us-gaap:OtherComprehensiveIncomeLossBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossTax contextRef="c-144" decimals="-3" id="f-811" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax contextRef="c-144" decimals="-3" id="f-812" unitRef="usd">-5022000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1 contextRef="c-145" decimals="-3" id="f-813" unitRef="usd">-3382000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1 contextRef="c-146" decimals="-3" id="f-814" unitRef="usd">-395000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1 contextRef="c-8" decimals="-3" id="f-815" unitRef="usd">-3777000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <rock:AccumulatedOtherComprehensiveIncomeLossTax contextRef="c-8" decimals="-3" id="f-816" unitRef="usd">345000</rock:AccumulatedOtherComprehensiveIncomeLossTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="c-8" decimals="-3" id="f-817" unitRef="usd">-3432000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeTax contextRef="c-147" decimals="-3" id="f-818" unitRef="usd">150000</us-gaap:OtherComprehensiveIncomeLossBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeTax contextRef="c-147" decimals="-3" id="f-819" unitRef="usd">150000</us-gaap:OtherComprehensiveIncomeLossBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossTax contextRef="c-147" decimals="-3" id="f-820" unitRef="usd">-36000</us-gaap:OtherComprehensiveIncomeLossTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax contextRef="c-147" decimals="-3" id="f-821" unitRef="usd">114000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeTax contextRef="c-148" decimals="-3" id="f-822" unitRef="usd">1204000</us-gaap:OtherComprehensiveIncomeLossBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeTax contextRef="c-148" decimals="-3" id="f-823" unitRef="usd">1204000</us-gaap:OtherComprehensiveIncomeLossBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossTax contextRef="c-148" decimals="-3" id="f-824" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax contextRef="c-148" decimals="-3" id="f-825" unitRef="usd">1204000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1 contextRef="c-149" decimals="-3" id="f-826" unitRef="usd">-2178000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1 contextRef="c-150" decimals="-3" id="f-827" unitRef="usd">-245000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1 contextRef="c-7" decimals="-3" id="f-828" unitRef="usd">-2423000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <rock:AccumulatedOtherComprehensiveIncomeLossTax contextRef="c-7" decimals="-3" id="f-829" unitRef="usd">309000</rock:AccumulatedOtherComprehensiveIncomeLossTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="c-7" decimals="-3" id="f-830" unitRef="usd">-2114000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="c-1" id="f-831">EQUITY-BASED COMPENSATION&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company awards equity-based compensation to employees and directors, which is recognized in the statements of income based on the grant-date fair value of the award. The Company uses the straight-line method for recording compensation expense over a vesting period generally up to four years with either graded or cliff vesting. Stock compensation expense recognized during the period is based on the value of the portion of equity-based awards that is ultimately expected to vest during the period reduced by the expense on unvested awards forfeited during the period. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On May 3, 2023, the stockholders of the Company approved the adoption of the Gibraltar Industries, Inc. Amended and Restated 2018 Equity Incentive Plan (the "Amended 2018 Plan") which increases the total number of shares available for issuance by the Company from 1,000,000 shares to 1,550,000 shares. In addition, 81,707 shares that were unissued and available for grant under the Gibraltar Industries, Inc. 2015 Equity Incentive Plan (the "2015 Plan") were consolidated with the Amended 2018 Plan. No further grants will be made under the 2015 Plan. The Amended 2018 Plan allows the Company to grant equity-based incentive compensation awards, in the form of non-qualified options, restricted shares, restricted stock units, performance shares, performance stock units, and stock rights to eligible participants.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On May 4, 2022, the stockholders of the Company approved the adoption of the Gibraltar Industries, Inc. Amended and Restated 2016 Stock Plan for Non-Employee Directors ("Non-Employee Directors Plan") which increases the total number of shares for issuance by the Company thereunder from 100,000 shares to 200,000 shares, allows the Company to grant awards of shares of the Company's common stock to current non-employee Directors of the Company, and permits the Directors to defer receipt of such shares pursuant to the terms of the Non-Employee Directors Plan.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December&#160;31, 2023, approximately 885,000 shares were available for issuance under the Amended 2018 Plan as incentive stock options or other stock awards, and approximately 86,000 shares were available for issuance under the Non-Employee Directors Plan as awards of shares of the Company's common stock.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The compensation cost for employee and non-employee director equity-based compensation plans for all current and prior year awards granted along with the related tax benefits recognized during the years ended December 31 (in thousands) were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.047%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.694%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.535%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.694%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.535%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.695%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total stock compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,334&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,652&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Tax benefits recognized related to stock compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,516&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,175&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,189&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline"&gt;Equity Based Awards - Settled in Stock&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides the number of stock units and common stock granted during the years ended December&#160;31, along with the weighted-average grant-date fair value of each award:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:27.199%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.533%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.457%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.533%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.776%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.533%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.457%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.533%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.776%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.533%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.457%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.533%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.780%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;Awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Number&lt;br/&gt;of Awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Number&lt;br/&gt;of Awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Number&lt;br/&gt;of Awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Deferred stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;6,351&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;54.33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,460&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;42.69&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;7,536&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;83.58&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Common stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;8,468&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;54.33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;15,652&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;42.49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,512&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;83.58&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;99,820&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;61.93&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;132,430&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;43.92&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;72,243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;79.28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Performance stock units (1)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;85,323&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;53.22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;108,464&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;47.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;62,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;87.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1) The Company&#x2019;s performance stock units (&#x201c;PSUs&#x201d;) represent shares granted for which the final number of shares earned depends on financial performance.  The number of shares to be issued may vary between 0% and 200% of the number of PSUs granted depending on the relative achievement to targeted thresholds.  The Company's PSUs with a financial performance condition are based on the Company&#x2019;s return on invested capital (&#x201c;ROIC&#x201d;) over a one-year period performance period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Stock Options&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;No options were granted during the years ended December 31, 2023, 2022 and 2021.  The Company determines the fair value of stock options granted based on the Black-Scholes option pricing model on the date of grant, and the expected stock volatility is based on volatility of the Company&#x2019;s stock price using a historical period commensurate with the expected life of the options.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December&#160;31, 2023, the Company has one grant of options outstanding.  The following table summarizes the Company's outstanding and exercisable options at December&#160;31, 2023:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:28.578%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.350%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.835%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.157%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.911%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.919%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;Exercise Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Options&lt;br/&gt;Outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Remaining&lt;br/&gt;Contractual Life&lt;br/&gt;(in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Exercise&lt;br/&gt;Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Options&lt;br/&gt;Exercisable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Exercise&lt;br/&gt;Price&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$39.55&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3.26&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;39.55&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;39.55&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes information about stock option transactions:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:32.478%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.953%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.536%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.953%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.536%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.953%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.536%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.955%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Exercise&lt;br/&gt;Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Remaining Contractual&lt;br/&gt;Life (in&#160;years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Aggregate&lt;br/&gt;Intrinsic&#160;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Balance at January&#160;1, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;41,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;29.38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(36,500)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;27.99&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;39.55&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;39.55&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;39.55&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3.26&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;197,150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The aggregate intrinsic value in the preceding table represents the total pre-tax intrinsic value, based on the $78.98 per share market price of the Company&#x2019;s common stock as of December&#160;31, 2023, which would have been received by the option holder had the option holder exercised the options as of that date.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Stock Units and Common Stock&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes information about non-vested restricted stock units and performance stock units (that will convert to shares upon vesting) and common stock:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.566%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.695%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.987%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:7.525%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.987%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.742%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.987%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:7.525%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.998%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%"&gt;Restricted&lt;br/&gt;Stock&lt;br/&gt;Units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%"&gt;Common&lt;br/&gt;Stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%"&gt;Performance&lt;br/&gt;Stock Units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%"&gt;Deferred&lt;br/&gt;Stock&lt;br/&gt;Units (2)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;Balance at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;235,370&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;49.87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;211,368&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;50.96&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40,350&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;45.16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;99,820&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;61.93&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,468&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;54.33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;85,323&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;53.22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,351&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;54.33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Adjustments (1)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(70,610)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;50.72&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(77,312)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;53.37&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(8,468)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;54.33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(71,106)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;51.74&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(2,222)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;36.47&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(24,908)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;50.99&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(18,729)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;49.69&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;Balance at December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;232,970&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;53.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;136,246&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;52.27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;44,479&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;46.90&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1) (i) 40,610 units of the Company's PSUs granted in 2022 were adjusted in the first quarter of 2023 to reflect 60.5% of the target amount granted based on the Company's actual ROIC compared to ROIC target for the performance period ended December&#160;31, 2022; and (ii) 30,000 units of the Company's TSR PSUs granted in 2020 for which the performance condition was not achieved and the PSUs were adjusted in the first quarter of &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2023 to reflect zero earned as the threshold level of achievement was not met based on performance criteria as defined in the respective awards over a three-year performance period which ended March 1, 2023.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2) Vested and issuable upon termination from service as a member of the Company's Board of Directors.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value of the common stock, restricted stock units, and deferred stock units, as well as the performance stock units with a financial performance condition granted during the three years ended December&#160;31, 2023 was based on the Company's stock price at grant date of the award. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the aggregate intrinsic value of options exercised and aggregate fair value of restricted stock units and restricted shares that vested during the years ended December&#160;31 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Aggregate intrinsic value of options exercised&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,103&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Aggregate fair value of vested restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;4,740&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,920&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;6,320&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Aggregate fair value of vested common stock&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;460&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;665&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;370&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Aggregate fair value of vested performance stock units&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,999&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;6,729&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;9,080&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Aggregate fair value of vested deferred stock units&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;345&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;105&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;630&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2023, there was $13.1&#160;million of total unrecognized compensation cost related to non-vested restricted and performance stock units. That cost is expected to be recognized over a weighted average period of 2.0 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline"&gt;Equity Based Awards - Settled in Cash&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Management Stock Purchase Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's equity-based awards that are settled in cash are the awards under the Management Stock Purchase Plan (the "MSPP") which is authorized under the Company's equity incentive plans.  The MSPP provides participants the ability to defer a portion of their compensation, convertible to unrestricted investments, restricted stock units, or a combination of both, or defer a portion of their directors&#x2019; fees, convertible to restricted stock units. Employees eligible to defer a portion of their compensation also receive a company-matching award in restricted stock units equal to a percentage of their deferred compensation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The deferrals and related company match are credited to an account that represents a share-based liability.  The portion of the account deferred to unrestricted investments is measured at fair market value of the unrestricted investments, and the portion of the account deferred to restricted stock units and company-matching restricted stock units is measured at a 200-day average of the Company's stock price.  The account will be converted to and settled in cash payable to participants upon retirement or a termination of their service to the Company.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total MSPP liabilities recorded on the consolidated balance sheet as of December&#160;31, 2023 were $20.0 million, of which $2.0 million was included in current accrued expenses and $18.0 million was included in non-current liabilities.  Total MSPP liabilities recorded on the consolidated balance sheet as of December&#160;31, 2022 were $15.4 million, of which $2.3&#160;million was included in current accrued expenses and $13.1 million was included in non-current liabilities.  The value of the restricted stock units within the MSPP liabilities was $17.3&#160;million and $13.4&#160;million at December&#160;31, 2023 and 2022, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides the number of restricted stock units credited to active participant accounts, balance of vested and unvested restricted stock units within active participant accounts, payments made with respect to MSPP liabilities and MSPP expense during years ended December&#160;31:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock units credited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,365&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,475&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock units balance, vested and unvested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;199,946&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;158,644&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;223,892&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Share-based liabilities paid (in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,392&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,689&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,915&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;MSPP expense (recovery) (in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,710&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,459)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,034&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c-55" id="f-832">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="c-151"
      decimals="-3"
      id="f-833"
      unitRef="shares">1000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="c-152"
      decimals="-3"
      id="f-834"
      unitRef="shares">1550000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant contextRef="c-153" decimals="0" id="f-835" unitRef="shares">81707</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="c-154"
      decimals="INF"
      id="f-836"
      unitRef="shares">100000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="c-155"
      decimals="INF"
      id="f-837"
      unitRef="shares">200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="c-156"
      decimals="-3"
      id="f-838"
      unitRef="shares">885000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="c-157"
      decimals="INF"
      id="f-839"
      unitRef="shares">86000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock contextRef="c-1" id="f-840">along with the related tax benefits recognized during the years ended December 31 (in thousands) were as follows:&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.047%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.694%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.535%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.694%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.535%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.695%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total stock compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,334&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,652&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Tax benefits recognized related to stock compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,516&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,175&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,189&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock>
    <us-gaap:ShareBasedCompensation contextRef="c-1" decimals="-3" id="f-841" unitRef="usd">9750000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="c-4" decimals="-3" id="f-842" unitRef="usd">8334000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="c-5" decimals="-3" id="f-843" unitRef="usd">8652000</us-gaap:ShareBasedCompensation>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense contextRef="c-1" decimals="-3" id="f-844" unitRef="usd">2516000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense contextRef="c-4" decimals="-3" id="f-845" unitRef="usd">2175000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense contextRef="c-5" decimals="-3" id="f-846" unitRef="usd">2189000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock contextRef="c-1" id="f-847">&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides the number of stock units and common stock granted during the years ended December&#160;31, along with the weighted-average grant-date fair value of each award:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:27.199%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.533%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.457%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.533%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.776%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.533%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.457%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.533%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.776%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.533%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.457%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.533%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.780%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;Awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Number&lt;br/&gt;of Awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Number&lt;br/&gt;of Awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Number&lt;br/&gt;of Awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Deferred stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;6,351&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;54.33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,460&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;42.69&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;7,536&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;83.58&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Common stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;8,468&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;54.33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;15,652&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;42.49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,512&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;83.58&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;99,820&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;61.93&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;132,430&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;43.92&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;72,243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;79.28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Performance stock units (1)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;85,323&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;53.22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;108,464&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;47.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;62,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;87.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1) The Company&#x2019;s performance stock units (&#x201c;PSUs&#x201d;) represent shares granted for which the final number of shares earned depends on financial performance.  The number of shares to be issued may vary between 0% and 200% of the number of PSUs granted depending on the relative achievement to targeted thresholds.  The Company's PSUs with a financial performance condition are based on the Company&#x2019;s return on invested capital (&#x201c;ROIC&#x201d;) over a one-year period performance period.&lt;/span&gt;&lt;/div&gt;</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValueTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-158"
      decimals="INF"
      id="f-848"
      unitRef="shares">6351</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-158"
      decimals="2"
      id="f-849"
      unitRef="usdPerShare">54.33</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-159"
      decimals="INF"
      id="f-850"
      unitRef="shares">2460</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-159"
      decimals="2"
      id="f-851"
      unitRef="usdPerShare">42.69</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-160"
      decimals="INF"
      id="f-852"
      unitRef="shares">7536</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-160"
      decimals="2"
      id="f-853"
      unitRef="usdPerShare">83.58</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-161"
      decimals="INF"
      id="f-854"
      unitRef="shares">8468</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-161"
      decimals="2"
      id="f-855"
      unitRef="usdPerShare">54.33</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-162"
      decimals="INF"
      id="f-856"
      unitRef="shares">15652</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-162"
      decimals="2"
      id="f-857"
      unitRef="usdPerShare">42.49</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-163"
      decimals="INF"
      id="f-858"
      unitRef="shares">2512</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-163"
      decimals="2"
      id="f-859"
      unitRef="usdPerShare">83.58</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-164"
      decimals="INF"
      id="f-860"
      unitRef="shares">99820</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-164"
      decimals="2"
      id="f-861"
      unitRef="usdPerShare">61.93</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-165"
      decimals="INF"
      id="f-862"
      unitRef="shares">132430</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-165"
      decimals="2"
      id="f-863"
      unitRef="usdPerShare">43.92</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-166"
      decimals="INF"
      id="f-864"
      unitRef="shares">72243</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-166"
      decimals="2"
      id="f-865"
      unitRef="usdPerShare">79.28</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-167"
      decimals="INF"
      id="f-866"
      unitRef="shares">85323</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-167"
      decimals="2"
      id="f-867"
      unitRef="usdPerShare">53.22</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-168"
      decimals="INF"
      id="f-868"
      unitRef="shares">108464</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-168"
      decimals="2"
      id="f-869"
      unitRef="usdPerShare">47.00</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-169"
      decimals="INF"
      id="f-870"
      unitRef="shares">62778</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-169"
      decimals="2"
      id="f-871"
      unitRef="usdPerShare">87.84</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <rock:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent contextRef="c-170" decimals="2" id="f-872" unitRef="number">0</rock:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent>
    <rock:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent contextRef="c-171" decimals="2" id="f-873" unitRef="number">2</rock:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsBasedOnTargetedThresholdsPercent>
    <rock:SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod contextRef="c-172" id="f-874">P1Y</rock:SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross contextRef="c-5" decimals="INF" id="f-875" unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross contextRef="c-1" decimals="INF" id="f-876" unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross contextRef="c-4" decimals="INF" id="f-877" unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantOutstandingNumber contextRef="c-1" decimals="INF" id="f-878" unitRef="shares">1</rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock contextRef="c-1" id="f-879">The following table summarizes the Company's outstanding and exercisable options at December&#160;31, 2023:&lt;div style="margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:28.578%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.350%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.835%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.157%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.911%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.919%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;Exercise Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Options&lt;br/&gt;Outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Remaining&lt;br/&gt;Contractual Life&lt;br/&gt;(in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Exercise&lt;br/&gt;Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Options&lt;br/&gt;Exercisable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Exercise&lt;br/&gt;Price&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$39.55&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3.26&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;39.55&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;39.55&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
      contextRef="c-173"
      decimals="2"
      id="f-880"
      unitRef="usdPerShare">39.55</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="c-174"
      decimals="INF"
      id="f-881"
      unitRef="shares">5000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="c-173" id="f-882">P3Y3M3D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="c-173"
      decimals="2"
      id="f-883"
      unitRef="usdPerShare">39.55</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="c-174"
      decimals="INF"
      id="f-884"
      unitRef="shares">5000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="c-174"
      decimals="2"
      id="f-885"
      unitRef="usdPerShare">39.55</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="c-1" id="f-886">&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes information about stock option transactions:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:32.478%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.953%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.536%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.953%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.536%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.953%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.536%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.955%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Exercise&lt;br/&gt;Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Remaining Contractual&lt;br/&gt;Life (in&#160;years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:120%"&gt;Aggregate&lt;br/&gt;Intrinsic&#160;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Balance at January&#160;1, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;41,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;29.38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;(36,500)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;27.99&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;39.55&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;39.55&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;5,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;39.55&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3.26&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;197,150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="c-10"
      decimals="INF"
      id="f-887"
      unitRef="shares">41500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="c-10"
      decimals="2"
      id="f-888"
      unitRef="usdPerShare">29.38</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="c-5" decimals="INF" id="f-889" unitRef="shares">36500</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="c-5"
      decimals="2"
      id="f-890"
      unitRef="usdPerShare">27.99</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="c-9" decimals="INF" id="f-891" unitRef="shares">5000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="c-9"
      decimals="2"
      id="f-892"
      unitRef="usdPerShare">39.55</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod contextRef="c-4" decimals="INF" id="f-893" unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="c-4"
      decimals="2"
      id="f-894"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="c-8" decimals="INF" id="f-895" unitRef="shares">5000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="c-8"
      decimals="2"
      id="f-896"
      unitRef="usdPerShare">39.55</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="c-1" decimals="INF" id="f-897" unitRef="shares">0</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="c-1"
      decimals="2"
      id="f-898"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="c-7" decimals="INF" id="f-899" unitRef="shares">5000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="c-7"
      decimals="2"
      id="f-900"
      unitRef="usdPerShare">39.55</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="c-1" id="f-901">P3Y3M3D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="c-7" decimals="-3" id="f-902" unitRef="usd">197150000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <rock:MarketPriceOfCommonStockPerShare
      contextRef="c-7"
      decimals="2"
      id="f-903"
      unitRef="usdPerShare">78.98</rock:MarketPriceOfCommonStockPerShare>
    <us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock contextRef="c-1" id="f-904">&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes information about non-vested restricted stock units and performance stock units (that will convert to shares upon vesting) and common stock:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:15.566%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.695%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.987%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:7.525%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.987%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.742%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.987%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:7.525%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.998%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%"&gt;Restricted&lt;br/&gt;Stock&lt;br/&gt;Units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%"&gt;Common&lt;br/&gt;Stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%"&gt;Performance&lt;br/&gt;Stock Units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%"&gt;Deferred&lt;br/&gt;Stock&lt;br/&gt;Units (2)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:120%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;Balance at December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;235,370&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;49.87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;211,368&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;50.96&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;40,350&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;45.16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;99,820&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;61.93&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,468&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;54.33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;85,323&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;53.22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,351&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;54.33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Adjustments (1)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(70,610)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;50.72&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(77,312)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;53.37&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(8,468)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;54.33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(71,106)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;51.74&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(2,222)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;36.47&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(24,908)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;50.99&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(18,729)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;49.69&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;Balance at December 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;232,970&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;53.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;136,246&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;52.27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;44,479&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;46.90&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1) (i) 40,610 units of the Company's PSUs granted in 2022 were adjusted in the first quarter of 2023 to reflect 60.5% of the target amount granted based on the Company's actual ROIC compared to ROIC target for the performance period ended December&#160;31, 2022; and (ii) 30,000 units of the Company's TSR PSUs granted in 2020 for which the performance condition was not achieved and the PSUs were adjusted in the first quarter of &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2023 to reflect zero earned as the threshold level of achievement was not met based on performance criteria as defined in the respective awards over a three-year performance period which ended March 1, 2023.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(2) Vested and issuable upon termination from service as a member of the Company's Board of Directors.&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="c-175"
      decimals="INF"
      id="f-905"
      unitRef="shares">235370</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c-175"
      decimals="2"
      id="f-906"
      unitRef="usdPerShare">49.87</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="c-176"
      decimals="INF"
      id="f-907"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c-176"
      decimals="2"
      id="f-908"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="c-177"
      decimals="INF"
      id="f-909"
      unitRef="shares">211368</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c-177"
      decimals="2"
      id="f-910"
      unitRef="usdPerShare">50.96</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="c-178"
      decimals="INF"
      id="f-911"
      unitRef="shares">40350</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c-178"
      decimals="2"
      id="f-912"
      unitRef="usdPerShare">45.16</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-179"
      decimals="INF"
      id="f-913"
      unitRef="shares">99820</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-179"
      decimals="2"
      id="f-914"
      unitRef="usdPerShare">61.93</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-180"
      decimals="INF"
      id="f-915"
      unitRef="shares">8468</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-180"
      decimals="2"
      id="f-916"
      unitRef="usdPerShare">54.33</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-181"
      decimals="INF"
      id="f-917"
      unitRef="shares">85323</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-181"
      decimals="2"
      id="f-918"
      unitRef="usdPerShare">53.22</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="c-182"
      decimals="INF"
      id="f-919"
      unitRef="shares">6351</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-182"
      decimals="2"
      id="f-920"
      unitRef="usdPerShare">54.33</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod
      contextRef="c-179"
      decimals="INF"
      id="f-921"
      unitRef="shares">0</rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod>
    <rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-179"
      decimals="2"
      id="f-922"
      unitRef="usdPerShare">0</rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue>
    <rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod
      contextRef="c-180"
      decimals="INF"
      id="f-923"
      unitRef="shares">0</rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod>
    <rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-180"
      decimals="2"
      id="f-924"
      unitRef="usdPerShare">0</rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue>
    <rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod
      contextRef="c-181"
      decimals="INF"
      id="f-925"
      unitRef="shares">-70610</rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod>
    <rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-181"
      decimals="2"
      id="f-926"
      unitRef="usdPerShare">50.72</rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue>
    <rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod
      contextRef="c-182"
      decimals="INF"
      id="f-927"
      unitRef="shares">0</rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriod>
    <rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-182"
      decimals="2"
      id="f-928"
      unitRef="usdPerShare">0</rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="c-179"
      decimals="INF"
      id="f-929"
      unitRef="shares">77312</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-179"
      decimals="2"
      id="f-930"
      unitRef="usdPerShare">53.37</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="c-180"
      decimals="INF"
      id="f-931"
      unitRef="shares">8468</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-180"
      decimals="2"
      id="f-932"
      unitRef="usdPerShare">54.33</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="c-181"
      decimals="INF"
      id="f-933"
      unitRef="shares">71106</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-181"
      decimals="2"
      id="f-934"
      unitRef="usdPerShare">51.74</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="c-182"
      decimals="INF"
      id="f-935"
      unitRef="shares">2222</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="c-182"
      decimals="2"
      id="f-936"
      unitRef="usdPerShare">36.47</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="c-179"
      decimals="INF"
      id="f-937"
      unitRef="shares">24908</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="c-179"
      decimals="2"
      id="f-938"
      unitRef="usdPerShare">50.99</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="c-180"
      decimals="INF"
      id="f-939"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="c-180"
      decimals="2"
      id="f-940"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="c-181"
      decimals="INF"
      id="f-941"
      unitRef="shares">18729</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="c-181"
      decimals="2"
      id="f-942"
      unitRef="usdPerShare">49.69</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="c-182"
      decimals="INF"
      id="f-943"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="c-182"
      decimals="2"
      id="f-944"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="c-183"
      decimals="INF"
      id="f-945"
      unitRef="shares">232970</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c-183"
      decimals="2"
      id="f-946"
      unitRef="usdPerShare">53.75</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="c-184"
      decimals="INF"
      id="f-947"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c-184"
      decimals="2"
      id="f-948"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="c-185"
      decimals="INF"
      id="f-949"
      unitRef="shares">136246</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c-185"
      decimals="2"
      id="f-950"
      unitRef="usdPerShare">52.27</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="c-186"
      decimals="INF"
      id="f-951"
      unitRef="shares">44479</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="c-186"
      decimals="2"
      id="f-952"
      unitRef="usdPerShare">46.90</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved contextRef="c-4" decimals="0" id="f-953" unitRef="shares">40610</rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved>
    <rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetPortionGranted contextRef="c-187" decimals="3" id="f-954" unitRef="number">0.605</rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsTargetPortionGranted>
    <rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved contextRef="c-188" decimals="0" id="f-955" unitRef="shares">30000</rock:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdjustmentsInPeriodPerformanceConditionsNotAchieved>
    <rock:SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod contextRef="c-189" id="f-956">P3Y</rock:SharebasedCompensationArrangementbySharebasedPaymentAwardAwardPerformancePeriod>
    <rock:ScheduleOfFairValueOfOptionsExercisedAndOtherAwardsVestedTableTextBlock contextRef="c-1" id="f-957">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the aggregate intrinsic value of options exercised and aggregate fair value of restricted stock units and restricted shares that vested during the years ended December&#160;31 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Aggregate intrinsic value of options exercised&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;2,103&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Aggregate fair value of vested restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;4,740&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,920&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;6,320&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Aggregate fair value of vested common stock&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;460&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;665&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;370&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Aggregate fair value of vested performance stock units&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;3,999&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;6,729&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;9,080&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;Aggregate fair value of vested deferred stock units&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;345&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;105&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%"&gt;630&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</rock:ScheduleOfFairValueOfOptionsExercisedAndOtherAwardsVestedTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="c-1" decimals="-3" id="f-958" unitRef="usd">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="c-4" decimals="-3" id="f-959" unitRef="usd">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="c-5" decimals="-3" id="f-960" unitRef="usd">2103000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue contextRef="c-179" decimals="-3" id="f-961" unitRef="usd">4740000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue contextRef="c-190" decimals="-3" id="f-962" unitRef="usd">3920000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue contextRef="c-191" decimals="-3" id="f-963" unitRef="usd">6320000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue contextRef="c-180" decimals="-3" id="f-964" unitRef="usd">460000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue contextRef="c-192" decimals="-3" id="f-965" unitRef="usd">665000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue contextRef="c-193" decimals="-3" id="f-966" unitRef="usd">370000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue contextRef="c-194" decimals="-3" id="f-967" unitRef="usd">3999000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue contextRef="c-195" decimals="-3" id="f-968" unitRef="usd">6729000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue contextRef="c-196" decimals="-3" id="f-969" unitRef="usd">9080000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue contextRef="c-182" decimals="-3" id="f-970" unitRef="usd">345000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue contextRef="c-197" decimals="-3" id="f-971" unitRef="usd">105000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue contextRef="c-198" decimals="-3" id="f-972" unitRef="usd">630000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="c-7" decimals="-5" id="f-973" unitRef="usd">13100000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="c-1" id="f-974">P2Y</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <rock:SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod contextRef="c-199" id="f-975">P200D</rock:SharebasedCompensationArrangementBySharebasedPaymentAwardAverageCompanyStockPriceMeasurementPeriod>
    <rock:AccruedEquityBasedCompensation contextRef="c-7" decimals="-5" id="f-976" unitRef="usd">20000000</rock:AccruedEquityBasedCompensation>
    <rock:AccruedEquityBasedCompensation contextRef="c-200" decimals="-5" id="f-977" unitRef="usd">2000000</rock:AccruedEquityBasedCompensation>
    <rock:AccruedEquityBasedCompensation contextRef="c-201" decimals="-5" id="f-978" unitRef="usd">18000000</rock:AccruedEquityBasedCompensation>
    <rock:AccruedEquityBasedCompensation contextRef="c-8" decimals="-5" id="f-979" unitRef="usd">15400000</rock:AccruedEquityBasedCompensation>
    <rock:AccruedEquityBasedCompensation contextRef="c-202" decimals="-5" id="f-980" unitRef="usd">2300000</rock:AccruedEquityBasedCompensation>
    <rock:AccruedEquityBasedCompensation contextRef="c-203" decimals="-5" id="f-981" unitRef="usd">13100000</rock:AccruedEquityBasedCompensation>
    <rock:AccruedEquityBasedCompensation contextRef="c-183" decimals="-5" id="f-982" unitRef="usd">17300000</rock:AccruedEquityBasedCompensation>
    <rock:AccruedEquityBasedCompensation contextRef="c-175" decimals="-5" id="f-983" unitRef="usd">13400000</rock:AccruedEquityBasedCompensation>
    <rock:CashPaidToSettleLiabilityAwardsTableTextBlock contextRef="c-1" id="f-984">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides the number of restricted stock units credited to active participant accounts, balance of vested and unvested restricted stock units within active participant accounts, payments made with respect to MSPP liabilities and MSPP expense during years ended December&#160;31:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock units credited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,365&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,475&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock units balance, vested and unvested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;199,946&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;158,644&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;223,892&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Share-based liabilities paid (in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,392&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,689&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,915&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;MSPP expense (recovery) (in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,710&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,459)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,034&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</rock:CashPaidToSettleLiabilityAwardsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="c-179"
      decimals="-3"
      id="f-985"
      unitRef="shares">48921000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="c-190"
      decimals="-3"
      id="f-986"
      unitRef="shares">12365000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
      contextRef="c-191"
      decimals="-3"
      id="f-987"
      unitRef="shares">30475000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="c-183"
      decimals="-3"
      id="f-988"
      unitRef="shares">199946000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="c-175"
      decimals="-3"
      id="f-989"
      unitRef="shares">158644000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber
      contextRef="c-204"
      decimals="-3"
      id="f-990"
      unitRef="shares">223892000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid contextRef="c-205" decimals="-3" id="f-991" unitRef="usd">2392000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid contextRef="c-206" decimals="-3" id="f-992" unitRef="usd">3689000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid contextRef="c-207" decimals="-3" id="f-993" unitRef="usd">4915000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid>
    <rock:ManagementStockPurchasePlanCompensationExpense contextRef="c-208" decimals="-3" id="f-994" unitRef="usd">4710000</rock:ManagementStockPurchasePlanCompensationExpense>
    <rock:ManagementStockPurchasePlanCompensationExpense contextRef="c-209" decimals="-3" id="f-995" unitRef="usd">-4459000</rock:ManagementStockPurchasePlanCompensationExpense>
    <rock:ManagementStockPurchasePlanCompensationExpense contextRef="c-210" decimals="-3" id="f-996" unitRef="usd">6034000</rock:ManagementStockPurchasePlanCompensationExpense>
    <us-gaap:FairValueDisclosuresTextBlock contextRef="c-1" id="f-997">FAIR VALUE MEASUREMENTS&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. Depending on the nature of the asset or liability, various techniques and assumptions can be used to estimate fair value. A financial asset or liability&#x2019;s classification within the hierarchy is determined based on the lowest level input that is significant to the fair value measurement as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Level 1 - Quoted prices in active markets for identical assets or liabilities. &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Level 2 - Observable inputs other than quoted prices in active markets for similar assets and liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Level 3 - Inputs that are unobservable inputs for the asset or liability.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company had no financial assets or liabilities measured at fair value on a recurring basis and did not have any financial instruments for which carrying value differed from its fair value at December&#160;31, 2023 and 2022.  As of December 31, 2023, the Company had no outstanding indebtedness on its revolving credit facility under its Credit Agreement.   The Company had $91.0&#160;million outstanding on its revolving credit facility as of December 31, 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s other financial instruments primarily consist of cash and cash equivalents, accounts receivable, and accounts payable.&#160; The carrying values for these financial instruments approximate fair value. The Company did not have any other material assets or liabilities carried at fair value and measured on a recurring basis as of December&#160;31, 2023 and 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline"&gt;Other non-recurring fair value measurements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recorded impairment of property, plant and equipment during the year ended December 31, 2022 and recognized impairment charges related to certain intangible assets during the years ended December 31, 2023 and 2021. The Company uses unobservable inputs, classified as Level 3 inputs, in determining the fair value of these assets. See Note 7 "Goodwill and Related Intangible Assets," Note 14 "Discontinued Operations" and Note 15 "Exit Activity Costs and Asset Impairments" for more disclosure regarding the impairment of certain intangible assets and property, plant, and equipment, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company also applied fair value principles for the goodwill impairment tests performed during 2023, 2022, and 2021. The Company used two valuation models to estimate the fair values of its reporting units, both of which primarily use Level 3 inputs. See Note 7 "Goodwill and Related Intangible Assets" of the consolidated financial statements for the results of the Company&#x2019;s goodwill impairment tests.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Additionally, the Company's recent acquisition activity, as described in Note 6 "Acquisitions," used Level 3 inputs to estimate fair values allocated to the assets acquired and liabilities assumed.&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:LongTermDebt contextRef="c-127" decimals="INF" id="f-998" unitRef="usd">91000000</us-gaap:LongTermDebt>
    <us-gaap:DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock contextRef="c-1" id="f-999">DISCONTINUED OPERATIONS&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On February 23, 2021, the Company sold the stock of its Industrial business which had been classified as held for sale and reported as a discontinued operation in the Company&#x2019;s consolidated financial statements for the year ended December 31, 2021.  Net proceeds of $38&#160;million, consisting of cash and a $13&#160;million seller note, resulted in a pre-tax loss of $30&#160;million, of which $29.6&#160;million was recorded when the assets of the Industrial business were written down to fair market value during the fourth quarter of 2020.  The seller note was paid in full to the Company during the second quarter of 2021.  The results of operations of the Industrial business have been presented as a discontinued operation in the Company's consolidated statements of income for all periods presented. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;There was no income from discontinued operations before taxes for the years ended December 31, 2023 and 2022.  For the year ended December 31, 2021, income from discontinued operations before taxes of $1.5&#160;million consisted of net sales of $20.4&#160;million, operating expenses of $17.5&#160;million, and adjustment to loss on disposal of $1.4&#160;million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On December 1, 2023, the Company sold its Japan-based solar racking business within its Renewables segment to a third party.  The $8.0&#160;million net proceeds from the sale resulted in a pre-tax net loss of $0.6&#160;million and has been presented within other (income) expense in the consolidated statements of income.  This divestiture did not meet the criteria to be recorded as a discontinued operation nor did it have a major effect on the Company's operations.&lt;/span&gt;&lt;/div&gt;</us-gaap:DisposalGroupsIncludingDiscontinuedOperationsDisclosureTextBlock>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration contextRef="c-211" decimals="-6" id="f-1000" unitRef="usd">38000000</us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration>
    <us-gaap:NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1 contextRef="c-212" decimals="-6" id="f-1001" unitRef="usd">13000000</us-gaap:NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1>
    <us-gaap:DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax contextRef="c-212" decimals="-6" id="f-1002" unitRef="usd">-30000000</us-gaap:DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax>
    <us-gaap:GainLossOnSaleOfBusiness contextRef="c-212" decimals="-5" id="f-1003" unitRef="usd">-29600000</us-gaap:GainLossOnSaleOfBusiness>
    <us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax contextRef="c-213" decimals="INF" id="f-1004" unitRef="usd">0</us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax>
    <us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax contextRef="c-214" decimals="INF" id="f-1005" unitRef="usd">0</us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax>
    <us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax contextRef="c-215" decimals="-5" id="f-1006" unitRef="usd">1500000</us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationRevenue contextRef="c-215" decimals="-5" id="f-1007" unitRef="usd">20400000</us-gaap:DisposalGroupIncludingDiscontinuedOperationRevenue>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationOperatingExpense contextRef="c-215" decimals="-5" id="f-1008" unitRef="usd">17500000</us-gaap:DisposalGroupIncludingDiscontinuedOperationOperatingExpense>
    <rock:DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag contextRef="c-5" id="f-1009">adjustment to loss on disposal</rock:DiscontinuedOperationGainLossOnDisposalStatementOfIncomeOrComprehensiveIncomeExtensibleEnumerationNotDisclosedFlag>
    <us-gaap:DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax contextRef="c-215" decimals="-5" id="f-1010" unitRef="usd">-1400000</us-gaap:DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax>
    <us-gaap:ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries contextRef="c-216" decimals="-5" id="f-1011" unitRef="usd">8000000</us-gaap:ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries>
    <us-gaap:GainLossOnSaleOfBusiness contextRef="c-216" decimals="-5" id="f-1012" unitRef="usd">-600000</us-gaap:GainLossOnSaleOfBusiness>
    <us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock contextRef="c-1" id="f-1013">EXIT ACTIVITY COSTS AND ASSET IMPAIRMENTS&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has incurred exit activity costs and asset impairment charges as a result of its 80/20 simplification and portfolio management initiatives. These initiatives have resulted in the identification of low-volume, low margin, internally-produced products which have been or will be outsourced or discontinued, the simplification of processes, in the sale and exiting of less profitable businesses or products lines, and the reduction in the Company's manufacturing footprint.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As a result of process simplification initiatives, the Company has incurred exit activity costs (recoveries) related to moving and closing costs, severance and contract terminations, along with asset impairment charges related to the write-down of inventory and impairment of machinery and equipment associated with discontinued product lines.  Additionally, the Company has incurred the aforementioned costs resulting from the sale, relocation and/or closure of facilities including two closures and one relocation in 2022 and four facility closures in 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the exit activity costs (recoveries) and asset impairment charges incurred by segment during the years ended December&#160;31 related to the restructuring activities described above (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.595%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.426%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.841%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:6.356%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.823%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.256%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.695%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:6.356%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.823%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.426%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.841%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:6.366%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Exit Activity&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Asset Impairment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Exit Activity&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Asset Impairment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Exit Activity&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Asset Impairment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,558&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,136&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,694&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,256&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,454&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,769&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,193&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,962&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;960&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,851&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,811&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,825&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;12&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,837&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;393&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;393&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;718&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;718&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;771&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,837&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,687&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,687&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Infrastructure &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(63)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(63)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(32)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(32)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;9,204&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,987&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;14,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,039&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,276&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,315&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,020&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,193&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides a summary of where the above exit activity costs and asset impairments are recorded in the consolidated statements of income for the years ended December&#160;31 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,634&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,258&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,176&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general, and administrative expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,557&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,057&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,037&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total exit activity costs and asset impairments&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,315&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table reconciles the beginning and ending liability for exit activity costs relating to the Company&#x2019;s restructuring efforts (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:72.692%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.639%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of January&#160;1&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,417&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;272&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exit activity costs recognized&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,204&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,039&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,896)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,894)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December&#160;31&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,417&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock>
    <rock:RestructuringandRelatedCostNumberofFacilitiestobeClosed
      contextRef="c-1"
      decimals="INF"
      id="f-1014"
      unitRef="facility">2</rock:RestructuringandRelatedCostNumberofFacilitiestobeClosed>
    <rock:RestructuringAndRelatedCostNumberOfFacilitiesRelocated
      contextRef="c-4"
      decimals="INF"
      id="f-1015"
      unitRef="facility">1</rock:RestructuringAndRelatedCostNumberOfFacilitiesRelocated>
    <rock:RestructuringandRelatedCostNumberofFacilitiestobeClosed
      contextRef="c-4"
      decimals="INF"
      id="f-1016"
      unitRef="facility">4</rock:RestructuringandRelatedCostNumberofFacilitiestobeClosed>
    <us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock contextRef="c-1" id="f-1017">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the exit activity costs (recoveries) and asset impairment charges incurred by segment during the years ended December&#160;31 related to the restructuring activities described above (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.595%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.426%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.841%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:6.356%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.823%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.256%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.695%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:6.356%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.823%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.426%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.841%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:6.366%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Exit Activity&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Asset Impairment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Exit Activity&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Asset Impairment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Exit Activity&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Asset Impairment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,558&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,136&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,694&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,256&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,454&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,769&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,193&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,962&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;960&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,851&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,811&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,825&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;12&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,837&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;393&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;393&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;718&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;718&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;771&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,837&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,687&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,687&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Infrastructure &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(63)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(63)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(32)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(32)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;145&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;9,204&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,987&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;14,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,039&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,276&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,315&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,020&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,193&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table reconciles the beginning and ending liability for exit activity costs relating to the Company&#x2019;s restructuring efforts (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:72.692%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.639%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of January&#160;1&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,417&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;272&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exit activity costs recognized&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,204&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,039&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,896)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,894)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December&#160;31&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,417&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock>
    <us-gaap:BusinessExitCosts1 contextRef="c-217" decimals="-3" id="f-1018" unitRef="usd">7558000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-217" decimals="-3" id="f-1019" unitRef="usd">1136000</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-217" decimals="-3" id="f-1020" unitRef="usd">8694000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-218" decimals="-3" id="f-1021" unitRef="usd">3256000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-218" decimals="-3" id="f-1022" unitRef="usd">1198000</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-218" decimals="-3" id="f-1023" unitRef="usd">4454000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-219" decimals="-3" id="f-1024" unitRef="usd">4769000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-219" decimals="-3" id="f-1025" unitRef="usd">1193000</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-219" decimals="-3" id="f-1026" unitRef="usd">5962000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-220" decimals="-3" id="f-1027" unitRef="usd">960000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-220" decimals="-3" id="f-1028" unitRef="usd">3851000</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-220" decimals="-3" id="f-1029" unitRef="usd">4811000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-221" decimals="-3" id="f-1030" unitRef="usd">1825000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-221" decimals="-3" id="f-1031" unitRef="usd">12000</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-221" decimals="-3" id="f-1032" unitRef="usd">1837000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-222" decimals="-3" id="f-1033" unitRef="usd">393000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-222" decimals="-3" id="f-1034" unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-222" decimals="-3" id="f-1035" unitRef="usd">393000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-223" decimals="-3" id="f-1036" unitRef="usd">718000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-223" decimals="-3" id="f-1037" unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-223" decimals="-3" id="f-1038" unitRef="usd">718000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-224" decimals="-3" id="f-1039" unitRef="usd">771000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-224" decimals="-3" id="f-1040" unitRef="usd">1066000</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-224" decimals="-3" id="f-1041" unitRef="usd">1837000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-225" decimals="-3" id="f-1042" unitRef="usd">1687000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-225" decimals="-3" id="f-1043" unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-225" decimals="-3" id="f-1044" unitRef="usd">1687000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-226" decimals="-3" id="f-1045" unitRef="usd">0</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-226" decimals="-3" id="f-1046" unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-226" decimals="-3" id="f-1047" unitRef="usd">0</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-227" decimals="-3" id="f-1048" unitRef="usd">-63000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-227" decimals="-3" id="f-1049" unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-227" decimals="-3" id="f-1050" unitRef="usd">-63000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-228" decimals="-3" id="f-1051" unitRef="usd">26000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-228" decimals="-3" id="f-1052" unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-228" decimals="-3" id="f-1053" unitRef="usd">26000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-229" decimals="-3" id="f-1054" unitRef="usd">-32000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-229" decimals="-3" id="f-1055" unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-229" decimals="-3" id="f-1056" unitRef="usd">-32000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-230" decimals="-3" id="f-1057" unitRef="usd">250000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-230" decimals="-3" id="f-1058" unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-230" decimals="-3" id="f-1059" unitRef="usd">250000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-231" decimals="-3" id="f-1060" unitRef="usd">145000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-231" decimals="-3" id="f-1061" unitRef="usd">0</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-231" decimals="-3" id="f-1062" unitRef="usd">145000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-1" decimals="-3" id="f-1063" unitRef="usd">9204000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-1" decimals="-3" id="f-1064" unitRef="usd">4987000</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-1" decimals="-3" id="f-1065" unitRef="usd">14191000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-4" decimals="-3" id="f-1066" unitRef="usd">6039000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-4" decimals="-3" id="f-1067" unitRef="usd">2276000</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-4" decimals="-3" id="f-1068" unitRef="usd">8315000</us-gaap:RestructuringCharges>
    <us-gaap:BusinessExitCosts1 contextRef="c-5" decimals="-3" id="f-1069" unitRef="usd">7020000</us-gaap:BusinessExitCosts1>
    <us-gaap:RestructuringSettlementAndImpairmentProvisions contextRef="c-5" decimals="-3" id="f-1070" unitRef="usd">1193000</us-gaap:RestructuringSettlementAndImpairmentProvisions>
    <us-gaap:RestructuringCharges contextRef="c-5" decimals="-3" id="f-1071" unitRef="usd">8213000</us-gaap:RestructuringCharges>
    <us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock contextRef="c-1" id="f-1072">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides a summary of where the above exit activity costs and asset impairments are recorded in the consolidated statements of income for the years ended December&#160;31 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,634&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,258&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,176&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general, and administrative expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,557&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,057&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,037&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total exit activity costs and asset impairments&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,315&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock>
    <us-gaap:RestructuringCharges contextRef="c-232" decimals="-3" id="f-1073" unitRef="usd">12634000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges contextRef="c-233" decimals="-3" id="f-1074" unitRef="usd">5258000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges contextRef="c-234" decimals="-3" id="f-1075" unitRef="usd">6176000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges contextRef="c-235" decimals="-3" id="f-1076" unitRef="usd">1557000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges contextRef="c-236" decimals="-3" id="f-1077" unitRef="usd">3057000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges contextRef="c-237" decimals="-3" id="f-1078" unitRef="usd">2037000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges contextRef="c-1" decimals="-3" id="f-1079" unitRef="usd">14191000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges contextRef="c-4" decimals="-3" id="f-1080" unitRef="usd">8315000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringCharges contextRef="c-5" decimals="-3" id="f-1081" unitRef="usd">8213000</us-gaap:RestructuringCharges>
    <us-gaap:RestructuringReserve contextRef="c-8" decimals="-3" id="f-1082" unitRef="usd">2417000</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve contextRef="c-9" decimals="-3" id="f-1083" unitRef="usd">272000</us-gaap:RestructuringReserve>
    <us-gaap:BusinessExitCosts1 contextRef="c-1" decimals="-3" id="f-1084" unitRef="usd">9204000</us-gaap:BusinessExitCosts1>
    <us-gaap:BusinessExitCosts1 contextRef="c-4" decimals="-3" id="f-1085" unitRef="usd">6039000</us-gaap:BusinessExitCosts1>
    <us-gaap:PaymentsForRestructuring contextRef="c-1" decimals="-3" id="f-1086" unitRef="usd">4896000</us-gaap:PaymentsForRestructuring>
    <us-gaap:PaymentsForRestructuring contextRef="c-4" decimals="-3" id="f-1087" unitRef="usd">3894000</us-gaap:PaymentsForRestructuring>
    <us-gaap:RestructuringReserve contextRef="c-7" decimals="-3" id="f-1088" unitRef="usd">6725000</us-gaap:RestructuringReserve>
    <us-gaap:RestructuringReserve contextRef="c-8" decimals="-3" id="f-1089" unitRef="usd">2417000</us-gaap:RestructuringReserve>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="c-1" id="f-1090">INCOME TAXES&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company uses the asset and liability method of accounting for income taxes. Under this method, deferred tax assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax basis. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to reverse.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of income before taxes from continuing operations consisted of the following for the years ended December&#160;31 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Domestic&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;149,348&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;112,635&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;93,155&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(356)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,145)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,407&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income before taxes from continuing operations&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;148,992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111,490&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99,562&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The provision for income taxes from continuing operations for the years ended December&#160;31 consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Federal&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,579&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,014&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,137&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,048&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,647&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,009&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;932&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,659&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,747&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,078&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,617&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,259&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,766&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,112&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,381&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;134&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(303)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,068&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,800&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,968&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Provision for income taxes&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,459&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,084&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,046&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The provision for income taxes from continuing operations differs from the federal statutory rate of 21% due to the following for the years ended December 31 (in thousands, except for percentages) :&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:31.792%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.619%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.325%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.619%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.325%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.619%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.331%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Statutory rate&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,288&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,413&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,908&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State taxes, less federal effect&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,541&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,068&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal tax credits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(787)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.5)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(549)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.5)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(587)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.6)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Excess tax benefit on stock based compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(203)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(214)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,039)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2.0)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Executive compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,369&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;960&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,781&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;346&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(67)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;915&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,459&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,084&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,046&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred tax liabilities at December&#160;31 consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:72.692%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.639%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Depreciation&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,838&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,967&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,325&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,775&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,919&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,706&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,264&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,358&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross deferred tax liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;94,313&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88,541&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capitalized research and development costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,286)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,503)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Equity compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,907)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,993)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,678)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,076)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Assets held for sale&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13,669)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capital loss carryforward&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(26,527)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(26,490)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,422)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,417)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(63,820)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(68,148)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Valuation allowances&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,593&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,488&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax assets, net of valuation allowances&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(37,227)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(41,660)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net deferred tax liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,086&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,881&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December&#160;31, 2023, the Company had total net operating loss carry forwards of $17.5 million, which included $0.3 million for federal, $16.5 million for state, and $0.7 million for foreign income tax purposes. The federal and state net operating loss carry forwards expire between 2024 and 2043. The foreign net operating loss carry forwards expire between 2024 and 2043. The Company recognized a total of $1.1 million of deferred tax assets, net of the federal tax benefit, related to these net operating losses prior to any valuation allowances, which included $0.1 million of federal and $0.8 million of state deferred tax assets and $0.2&#160;million of foreign deferred tax assets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As a result of the sale of the Industrial business during 2021, the Company generated a capital loss of $113.7&#160;million for federal and state purposes to the extent allowable under state tax regulations. Amended Federal returns were filed to carry back $3.7&#160;million of capital loss. As of December 31, 2023, the remaining capital loss carry forward is $110.0&#160;million. The capital loss carryforward will expire in 2026.  The Company recognized a total of $26.5&#160;million of deferred tax assets, net of the federal benefit, related to this carryforward prior to any valuation allowances, which included $22.2&#160;million of federal and $4.3&#160;million of state deferred tax assets. The Company has a full valuation allowance on the capital loss carry forward and as a result there is no deferred tax asset related to the capital loss.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred taxes include net deferred tax assets relating to certain state and foreign tax jurisdictions. A reduction of the carrying amount of deferred tax assets by a valuation allowance is required if it is more likely than not that such assets will not be realized.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following sets forth a reconciliation of the beginning and ending amount of the Company&#x2019;s valuation allowance (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of January&#160;1&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,488&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,581&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost charged to the tax provision&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reductions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(103)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(41)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reclassification from discontinued operations upon sale of industrial group&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,498&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December&#160;31&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,593&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,488&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,581&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company made net payments for income taxes for the following amounts for the years ended December&#160;31 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.830%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:54.077%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.249%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.539%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.249%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.539%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.547%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Payments made for income taxes, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,447&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,017&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,076&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December 31, 2023, the Company had approximately $1.4 million of undistributed earnings of foreign subsidiaries.  The Company continues to maintain its assertion that all remaining foreign earnings will be indefinitely reinvested.  Any excess earnings could be used to grow the Company's foreign operations through launches of new capital projects or additional acquisitions. Determination of the amount of unrecognized deferred U.S. income tax liability related to the Company's remaining unremitted foreign earnings is not practicable due to the complexities associated with its hypothetical calculation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company did not have any unrecognized tax benefits or activity related to such benefits in any of the years presented in the consolidated financial statements. The Company classifies accrued interest and penalties related to unrecognized tax benefits in income tax expense.  No interest or penalties have been recognized during the years presented.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company and its U.S. subsidiaries file a U.S. federal consolidated income tax return. Foreign and U.S. state jurisdictions have statute of limitations generally ranging from &lt;span style="-sec-ix-hidden:f-1244"&gt;four&lt;/span&gt; to ten years. The Company is currently in appeals for an audit of tax years 2016 through 2019 in Massachusetts and believes the technical merits of the position will be sustained.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock contextRef="c-1" id="f-1091">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of income before taxes from continuing operations consisted of the following for the years ended December&#160;31 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Domestic&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;149,348&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;112,635&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;93,155&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(356)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,145)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,407&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income before taxes from continuing operations&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;148,992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111,490&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99,562&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="c-1" decimals="-3" id="f-1092" unitRef="usd">149348000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="c-4" decimals="-3" id="f-1093" unitRef="usd">112635000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="c-5" decimals="-3" id="f-1094" unitRef="usd">93155000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign contextRef="c-1" decimals="-3" id="f-1095" unitRef="usd">-356000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign contextRef="c-4" decimals="-3" id="f-1096" unitRef="usd">-1145000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign contextRef="c-5" decimals="-3" id="f-1097" unitRef="usd">6407000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-1" decimals="-3" id="f-1098" unitRef="usd">148992000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-4" decimals="-3" id="f-1099" unitRef="usd">111490000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-5" decimals="-3" id="f-1100" unitRef="usd">99562000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock contextRef="c-1" id="f-1101">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The provision for income taxes from continuing operations for the years ended December&#160;31 consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Federal&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,579&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,014&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,137&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,048&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,647&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,009&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;932&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,659&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,747&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,078&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,617&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,259&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,766&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,112&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,381&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;134&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(303)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,068&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,800&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,968&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Provision for income taxes&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,459&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,084&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,046&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit contextRef="c-238" decimals="-3" id="f-1102" unitRef="usd">21579000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit contextRef="c-239" decimals="-3" id="f-1103" unitRef="usd">17014000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit contextRef="c-240" decimals="-3" id="f-1104" unitRef="usd">16137000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="c-238" decimals="-3" id="f-1105" unitRef="usd">6048000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="c-239" decimals="-3" id="f-1106" unitRef="usd">5647000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="c-240" decimals="-3" id="f-1107" unitRef="usd">5009000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit contextRef="c-238" decimals="-3" id="f-1108" unitRef="usd">32000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit contextRef="c-239" decimals="-3" id="f-1109" unitRef="usd">86000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit contextRef="c-240" decimals="-3" id="f-1110" unitRef="usd">932000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="c-238" decimals="-3" id="f-1111" unitRef="usd">27659000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="c-239" decimals="-3" id="f-1112" unitRef="usd">22747000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="c-240" decimals="-3" id="f-1113" unitRef="usd">22078000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit contextRef="c-238" decimals="-3" id="f-1114" unitRef="usd">8617000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit contextRef="c-239" decimals="-3" id="f-1115" unitRef="usd">5259000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit contextRef="c-240" decimals="-3" id="f-1116" unitRef="usd">1766000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit contextRef="c-238" decimals="-3" id="f-1117" unitRef="usd">2112000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit contextRef="c-239" decimals="-3" id="f-1118" unitRef="usd">1381000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit contextRef="c-240" decimals="-3" id="f-1119" unitRef="usd">134000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit contextRef="c-238" decimals="-3" id="f-1120" unitRef="usd">71000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit contextRef="c-239" decimals="-3" id="f-1121" unitRef="usd">-303000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit contextRef="c-240" decimals="-3" id="f-1122" unitRef="usd">1068000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c-238" decimals="-3" id="f-1123" unitRef="usd">10800000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c-239" decimals="-3" id="f-1124" unitRef="usd">6337000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c-240" decimals="-3" id="f-1125" unitRef="usd">2968000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-238" decimals="-3" id="f-1126" unitRef="usd">38459000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-239" decimals="-3" id="f-1127" unitRef="usd">29084000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-240" decimals="-3" id="f-1128" unitRef="usd">25046000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="c-1" id="f-1129">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The provision for income taxes from continuing operations differs from the federal statutory rate of 21% due to the following for the years ended December 31 (in thousands, except for percentages) :&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:31.792%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.619%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.325%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.619%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.325%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.619%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.534%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.331%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Statutory rate&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,288&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,413&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,908&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State taxes, less federal effect&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,541&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,068&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal tax credits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(787)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.5)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(549)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.5)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(587)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.6)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Excess tax benefit on stock based compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(203)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(214)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,039)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2.0)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Executive compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,369&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;960&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,781&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;346&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(67)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;915&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,459&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,084&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,046&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="c-1"
      decimals="INF"
      id="f-1130"
      unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate contextRef="c-1" decimals="-3" id="f-1131" unitRef="usd">31288000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="c-1"
      decimals="INF"
      id="f-1132"
      unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate contextRef="c-4" decimals="-3" id="f-1133" unitRef="usd">23413000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="c-4"
      decimals="INF"
      id="f-1134"
      unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate contextRef="c-5" decimals="-3" id="f-1135" unitRef="usd">20908000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="c-5"
      decimals="INF"
      id="f-1136"
      unitRef="number">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes contextRef="c-1" decimals="-3" id="f-1137" unitRef="usd">6446000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="c-1" decimals="3" id="f-1138" unitRef="number">0.043</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes contextRef="c-4" decimals="-3" id="f-1139" unitRef="usd">5541000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="c-4" decimals="3" id="f-1140" unitRef="number">0.050</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes contextRef="c-5" decimals="-3" id="f-1141" unitRef="usd">4068000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="c-5" decimals="3" id="f-1142" unitRef="number">0.041</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationTaxCredits contextRef="c-1" decimals="-3" id="f-1143" unitRef="usd">787000</us-gaap:IncomeTaxReconciliationTaxCredits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits contextRef="c-1" decimals="3" id="f-1144" unitRef="number">0.005</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:IncomeTaxReconciliationTaxCredits contextRef="c-4" decimals="-3" id="f-1145" unitRef="usd">549000</us-gaap:IncomeTaxReconciliationTaxCredits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits contextRef="c-4" decimals="3" id="f-1146" unitRef="number">0.005</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:IncomeTaxReconciliationTaxCredits contextRef="c-5" decimals="-3" id="f-1147" unitRef="usd">587000</us-gaap:IncomeTaxReconciliationTaxCredits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits contextRef="c-5" decimals="3" id="f-1148" unitRef="number">0.006</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount contextRef="c-1" decimals="-3" id="f-1149" unitRef="usd">-203000</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent contextRef="c-1" decimals="3" id="f-1150" unitRef="number">-0.001</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount contextRef="c-4" decimals="-3" id="f-1151" unitRef="usd">-214000</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent contextRef="c-4" decimals="3" id="f-1152" unitRef="number">-0.002</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount contextRef="c-5" decimals="-3" id="f-1153" unitRef="usd">-2039000</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent contextRef="c-5" decimals="3" id="f-1154" unitRef="number">-0.020</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <rock:EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount contextRef="c-1" decimals="-3" id="f-1155" unitRef="usd">1369000</rock:EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount>
    <rock:EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent contextRef="c-1" decimals="3" id="f-1156" unitRef="number">0.009</rock:EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent>
    <rock:EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount contextRef="c-4" decimals="-3" id="f-1157" unitRef="usd">960000</rock:EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount>
    <rock:EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent contextRef="c-4" decimals="3" id="f-1158" unitRef="number">0.009</rock:EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent>
    <rock:EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount contextRef="c-5" decimals="-3" id="f-1159" unitRef="usd">1781000</rock:EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount>
    <rock:EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent contextRef="c-5" decimals="3" id="f-1160" unitRef="number">0.018</rock:EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments contextRef="c-1" decimals="-3" id="f-1161" unitRef="usd">346000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="c-1" decimals="3" id="f-1162" unitRef="number">0.002</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments contextRef="c-4" decimals="-3" id="f-1163" unitRef="usd">-67000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="c-4" decimals="3" id="f-1164" unitRef="number">-0.001</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments contextRef="c-5" decimals="-3" id="f-1165" unitRef="usd">915000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="c-5" decimals="3" id="f-1166" unitRef="number">0.009</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-1167" unitRef="usd">38459000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-1" decimals="3" id="f-1168" unitRef="number">0.258</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-4" decimals="-3" id="f-1169" unitRef="usd">29084000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-4" decimals="3" id="f-1170" unitRef="number">0.261</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-5" decimals="-3" id="f-1171" unitRef="usd">25046000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-5" decimals="3" id="f-1172" unitRef="number">0.252</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock contextRef="c-1" id="f-1173">&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred tax liabilities at December&#160;31 consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:72.692%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.639%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Depreciation&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,838&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,967&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,132&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,325&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,775&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,919&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,706&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,264&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,358&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross deferred tax liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;94,313&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88,541&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capitalized research and development costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,286)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,503)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Equity compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,907)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,993)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,678)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,076)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Assets held for sale&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13,669)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capital loss carryforward&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(26,527)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(26,490)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,422)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,417)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(63,820)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(68,148)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Valuation allowances&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,593&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,488&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax assets, net of valuation allowances&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(37,227)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(41,660)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 37pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net deferred tax liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,086&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,881&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment contextRef="c-7" decimals="-3" id="f-1174" unitRef="usd">13838000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment contextRef="c-8" decimals="-3" id="f-1175" unitRef="usd">14570000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill contextRef="c-7" decimals="-3" id="f-1176" unitRef="usd">65967000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill contextRef="c-8" decimals="-3" id="f-1177" unitRef="usd">62132000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill>
    <us-gaap:DeferredTaxLiabilitiesLeasingArrangements contextRef="c-7" decimals="-3" id="f-1178" unitRef="usd">11325000</us-gaap:DeferredTaxLiabilitiesLeasingArrangements>
    <us-gaap:DeferredTaxLiabilitiesLeasingArrangements contextRef="c-8" decimals="-3" id="f-1179" unitRef="usd">6775000</us-gaap:DeferredTaxLiabilitiesLeasingArrangements>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets contextRef="c-7" decimals="-3" id="f-1180" unitRef="usd">1919000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets contextRef="c-8" decimals="-3" id="f-1181" unitRef="usd">3706000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesOther contextRef="c-7" decimals="-3" id="f-1182" unitRef="usd">1264000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredTaxLiabilitiesOther contextRef="c-8" decimals="-3" id="f-1183" unitRef="usd">1358000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredIncomeTaxLiabilities contextRef="c-7" decimals="-3" id="f-1184" unitRef="usd">94313000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities contextRef="c-8" decimals="-3" id="f-1185" unitRef="usd">88541000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment contextRef="c-7" decimals="-3" id="f-1186" unitRef="usd">6286000</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment contextRef="c-8" decimals="-3" id="f-1187" unitRef="usd">4503000</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost contextRef="c-7" decimals="-3" id="f-1188" unitRef="usd">6907000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost contextRef="c-8" decimals="-3" id="f-1189" unitRef="usd">5993000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <rock:DeferredTaxAssetOperatingLeases contextRef="c-7" decimals="-3" id="f-1190" unitRef="usd">11678000</rock:DeferredTaxAssetOperatingLeases>
    <rock:DeferredTaxAssetOperatingLeases contextRef="c-8" decimals="-3" id="f-1191" unitRef="usd">7076000</rock:DeferredTaxAssetOperatingLeases>
    <rock:DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness contextRef="c-7" decimals="-3" id="f-1192" unitRef="usd">0</rock:DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness>
    <rock:DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness contextRef="c-8" decimals="-3" id="f-1193" unitRef="usd">13669000</rock:DeferredTaxAssetsTemporaryDifferenceFutureSaleOfBusiness>
    <us-gaap:DeferredTaxAssetsCapitalLossCarryforwards contextRef="c-7" decimals="-3" id="f-1194" unitRef="usd">26527000</us-gaap:DeferredTaxAssetsCapitalLossCarryforwards>
    <us-gaap:DeferredTaxAssetsCapitalLossCarryforwards contextRef="c-8" decimals="-3" id="f-1195" unitRef="usd">26490000</us-gaap:DeferredTaxAssetsCapitalLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOther contextRef="c-7" decimals="-3" id="f-1196" unitRef="usd">12422000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther contextRef="c-8" decimals="-3" id="f-1197" unitRef="usd">10417000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsGross contextRef="c-7" decimals="-3" id="f-1198" unitRef="usd">63820000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross contextRef="c-8" decimals="-3" id="f-1199" unitRef="usd">68148000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance contextRef="c-7" decimals="-3" id="f-1200" unitRef="usd">26593000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance contextRef="c-8" decimals="-3" id="f-1201" unitRef="usd">26488000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet contextRef="c-7" decimals="-3" id="f-1202" unitRef="usd">37227000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet contextRef="c-8" decimals="-3" id="f-1203" unitRef="usd">41660000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilities contextRef="c-7" decimals="-3" id="f-1204" unitRef="usd">57086000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities contextRef="c-8" decimals="-3" id="f-1205" unitRef="usd">46881000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:OperatingLossCarryforwards contextRef="c-7" decimals="-5" id="f-1206" unitRef="usd">17500000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards contextRef="c-241" decimals="-5" id="f-1207" unitRef="usd">300000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards contextRef="c-242" decimals="-5" id="f-1208" unitRef="usd">16500000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards contextRef="c-243" decimals="-5" id="f-1209" unitRef="usd">700000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards contextRef="c-7" decimals="-5" id="f-1210" unitRef="usd">1100000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards contextRef="c-241" decimals="-5" id="f-1211" unitRef="usd">100000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards contextRef="c-242" decimals="-5" id="f-1212" unitRef="usd">800000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards contextRef="c-243" decimals="-5" id="f-1213" unitRef="usd">200000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <rock:CapitalLossCarryforward contextRef="c-9" decimals="-5" id="f-1214" unitRef="usd">113700000</rock:CapitalLossCarryforward>
    <rock:CapitalLossCarryforwardAmendedReturns contextRef="c-9" decimals="-5" id="f-1215" unitRef="usd">3700000</rock:CapitalLossCarryforwardAmendedReturns>
    <rock:CapitalLossCarryforward contextRef="c-7" decimals="-5" id="f-1216" unitRef="usd">110000000</rock:CapitalLossCarryforward>
    <us-gaap:DeferredTaxAssetsCapitalLossCarryforwards contextRef="c-7" decimals="-5" id="f-1217" unitRef="usd">26500000</us-gaap:DeferredTaxAssetsCapitalLossCarryforwards>
    <us-gaap:DeferredTaxAssetsCapitalLossCarryforwards contextRef="c-241" decimals="-5" id="f-1218" unitRef="usd">22200000</us-gaap:DeferredTaxAssetsCapitalLossCarryforwards>
    <us-gaap:DeferredTaxAssetsCapitalLossCarryforwards contextRef="c-242" decimals="-5" id="f-1219" unitRef="usd">4300000</us-gaap:DeferredTaxAssetsCapitalLossCarryforwards>
    <us-gaap:SummaryOfValuationAllowanceTextBlock contextRef="c-1" id="f-1220">&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following sets forth a reconciliation of the beginning and ending amount of the Company&#x2019;s valuation allowance (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of January&#160;1&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,488&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,581&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost charged to the tax provision&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reductions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(103)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(41)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reclassification from discontinued operations upon sale of industrial group&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,498&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December&#160;31&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,593&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,488&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,581&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:SummaryOfValuationAllowanceTextBlock>
    <us-gaap:ValuationAllowancesAndReservesBalance contextRef="c-244" decimals="-3" id="f-1221" unitRef="usd">26488000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance contextRef="c-245" decimals="-3" id="f-1222" unitRef="usd">26581000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance contextRef="c-246" decimals="-3" id="f-1223" unitRef="usd">111000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense contextRef="c-247" decimals="-3" id="f-1224" unitRef="usd">105000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense contextRef="c-248" decimals="-3" id="f-1225" unitRef="usd">10000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense contextRef="c-249" decimals="-3" id="f-1226" unitRef="usd">13000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions contextRef="c-247" decimals="-3" id="f-1227" unitRef="usd">0</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesDeductions contextRef="c-248" decimals="-3" id="f-1228" unitRef="usd">103000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesDeductions contextRef="c-249" decimals="-3" id="f-1229" unitRef="usd">41000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesAdjustments contextRef="c-247" decimals="-3" id="f-1230" unitRef="usd">0</us-gaap:ValuationAllowancesAndReservesAdjustments>
    <us-gaap:ValuationAllowancesAndReservesAdjustments contextRef="c-248" decimals="-3" id="f-1231" unitRef="usd">0</us-gaap:ValuationAllowancesAndReservesAdjustments>
    <us-gaap:ValuationAllowancesAndReservesAdjustments contextRef="c-249" decimals="-3" id="f-1232" unitRef="usd">26498000</us-gaap:ValuationAllowancesAndReservesAdjustments>
    <us-gaap:ValuationAllowancesAndReservesBalance contextRef="c-250" decimals="-3" id="f-1233" unitRef="usd">26593000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance contextRef="c-244" decimals="-3" id="f-1234" unitRef="usd">26488000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesBalance contextRef="c-245" decimals="-3" id="f-1235" unitRef="usd">26581000</us-gaap:ValuationAllowancesAndReservesBalance>
    <rock:IncomeTaxesPaidAndNetOfTaxRefundsTableTextBlock contextRef="c-1" id="f-1236">&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company made net payments for income taxes for the following amounts for the years ended December&#160;31 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.830%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:54.077%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.249%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.539%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.249%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.539%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:13.547%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Payments made for income taxes, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,447&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,017&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,076&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</rock:IncomeTaxesPaidAndNetOfTaxRefundsTableTextBlock>
    <us-gaap:IncomeTaxesPaidNet contextRef="c-1" decimals="-3" id="f-1237" unitRef="usd">23447000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet contextRef="c-4" decimals="-3" id="f-1238" unitRef="usd">27017000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet contextRef="c-5" decimals="-3" id="f-1239" unitRef="usd">22076000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:DeferredTaxLiabilitiesUndistributedForeignEarnings contextRef="c-7" decimals="-5" id="f-1240" unitRef="usd">1400000</us-gaap:DeferredTaxLiabilitiesUndistributedForeignEarnings>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense contextRef="c-1" decimals="0" id="f-1241" unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense contextRef="c-5" decimals="0" id="f-1242" unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense contextRef="c-4" decimals="0" id="f-1243" unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense>
    <rock:IncomeTaxStatueOfLimitationsExpirationPeriod contextRef="c-55" id="f-1245">P10Y</rock:IncomeTaxStatueOfLimitationsExpirationPeriod>
    <us-gaap:EarningsPerShareTextBlock contextRef="c-1" id="f-1246">EARNINGS PER SHARE&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Weighted average shares outstanding for basic and diluted earnings were as follows for the years ended December&#160;31 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Numerator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income from continuing operations&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;110,533&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,406&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;74,516&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income from discontinued operations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,113&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income available to common shareholders&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;110,533&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,406&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;75,629&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator for basic earnings per share:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,626&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,096&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,873&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator for diluted earnings per share:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Common stock options and stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;159&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;181&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares and conversions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,785&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,192&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,054&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides the potential anti-dilutive common stock units not included in the diluted weighted average shares calculations for the years ended December 31 (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Common stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;43&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="c-1" id="f-1247">&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Weighted average shares outstanding for basic and diluted earnings were as follows for the years ended December&#160;31 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Numerator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income from continuing operations&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;110,533&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,406&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;74,516&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income from discontinued operations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,113&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income available to common shareholders&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;110,533&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,406&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;75,629&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator for basic earnings per share:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,626&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,096&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,873&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator for diluted earnings per share:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Common stock options and stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;159&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;181&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares and conversions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,785&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,192&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,054&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperations contextRef="c-1" decimals="-3" id="f-1248" unitRef="usd">110533000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeLossFromContinuingOperations contextRef="c-4" decimals="-3" id="f-1249" unitRef="usd">82406000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeLossFromContinuingOperations contextRef="c-5" decimals="-3" id="f-1250" unitRef="usd">74516000</us-gaap:IncomeLossFromContinuingOperations>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity contextRef="c-1" decimals="-3" id="f-1251" unitRef="usd">0</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity contextRef="c-4" decimals="-3" id="f-1252" unitRef="usd">0</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity contextRef="c-5" decimals="-3" id="f-1253" unitRef="usd">1113000</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-1254" unitRef="usd">110533000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-4" decimals="-3" id="f-1255" unitRef="usd">82406000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-5" decimals="-3" id="f-1256" unitRef="usd">75629000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-1" decimals="-3" id="f-1257" unitRef="shares">30626000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-4" decimals="-3" id="f-1258" unitRef="shares">32096000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-5" decimals="-3" id="f-1259" unitRef="shares">32873000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="c-1" decimals="-3" id="f-1260" unitRef="shares">159000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="c-4" decimals="-3" id="f-1261" unitRef="shares">96000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="c-5" decimals="-3" id="f-1262" unitRef="shares">181000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-1" decimals="-3" id="f-1263" unitRef="shares">30785000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-4" decimals="-3" id="f-1264" unitRef="shares">32192000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-5" decimals="-3" id="f-1265" unitRef="shares">33054000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock contextRef="c-1" id="f-1266">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides the potential anti-dilutive common stock units not included in the diluted weighted average shares calculations for the years ended December 31 (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Common stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;43&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-251"
      decimals="0"
      id="f-1267"
      unitRef="shares">26000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-252"
      decimals="0"
      id="f-1268"
      unitRef="shares">43000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c-253"
      decimals="0"
      id="f-1269"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:LesseeOperatingLeasesTextBlock contextRef="c-1" id="f-1270">LEASES &lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's leases are classified as operating leases and consist of manufacturing facilities, distribution centers, office space, vehicles and equipment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Most of the Company's leases include one or more options to renew, with renewal terms that can extend the respective lease term from one month to ten years. The exercise of lease renewal options is at the Company's sole discretion.  As of December&#160;31, 2023 and 2022, the Company's renewal options are not part of the Company's operating lease assets and operating lease liabilities.  Certain leases also include options to purchase at fair value the underlying leased asset at the Company's sole discretion.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of lease costs for the years ended December 31 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:65.566%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.572%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.572%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.576%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,940&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,977&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-term lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,645&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,694&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,585&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,885&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Information related to the Company's operating right-of-use assets and related operating lease liabilities for the years ended December 31 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:65.566%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.572%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.572%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.576%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash paid for amounts included in the measurement of operating liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,628&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,835&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,431&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Right-of-use assets obtained in exchange for new lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,468&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,008&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,084&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Information related to the Company's lease terms and discount rates as of December 31 were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:67.467%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:7.818%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:5.332%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:7.818%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:5.335%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average remaining lease term - operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.6&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average discount rate - operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The future maturity of the Company's lease liabilities as of December&#160;31, 2023 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:88.227%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.573%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,329&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,748&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,304&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,775&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,391&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;After 2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: present value discount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,471)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Present value of lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,267&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company uses its incremental borrowing rate based on information available at the commencement date of a lease in determining the present value of lease payments as the rates implicit in most of the Company's leases are not readily determinable.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeOperatingLeaseRenewalTerm contextRef="c-254" id="f-1271">P1M</us-gaap:LesseeOperatingLeaseRenewalTerm>
    <us-gaap:LesseeOperatingLeaseRenewalTerm contextRef="c-56" id="f-1272">P10Y</us-gaap:LesseeOperatingLeaseRenewalTerm>
    <us-gaap:LeaseCostTableTextBlock contextRef="c-1" id="f-1273">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of lease costs for the years ended December 31 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:65.566%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.572%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.572%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.576%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,940&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,977&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-term lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,645&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,694&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,585&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,885&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Information related to the Company's operating right-of-use assets and related operating lease liabilities for the years ended December 31 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:65.566%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.572%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.572%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.576%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash paid for amounts included in the measurement of operating liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,628&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,835&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,431&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Right-of-use assets obtained in exchange for new lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,468&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,008&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,084&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Information related to the Company's lease terms and discount rates as of December 31 were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:67.467%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:7.818%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:5.332%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:7.818%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:5.335%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="6" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average remaining lease term - operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.6&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average discount rate - operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost contextRef="c-1" decimals="-3" id="f-1274" unitRef="usd">12940000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost contextRef="c-4" decimals="-3" id="f-1275" unitRef="usd">11191000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost contextRef="c-5" decimals="-3" id="f-1276" unitRef="usd">10977000</us-gaap:OperatingLeaseCost>
    <us-gaap:ShortTermLeaseCost contextRef="c-1" decimals="-3" id="f-1277" unitRef="usd">4645000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost contextRef="c-4" decimals="-3" id="f-1278" unitRef="usd">5694000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost contextRef="c-5" decimals="-3" id="f-1279" unitRef="usd">7153000</us-gaap:ShortTermLeaseCost>
    <us-gaap:LeaseCost contextRef="c-1" decimals="-3" id="f-1280" unitRef="usd">17585000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost contextRef="c-4" decimals="-3" id="f-1281" unitRef="usd">16885000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost contextRef="c-5" decimals="-3" id="f-1282" unitRef="usd">18130000</us-gaap:LeaseCost>
    <us-gaap:OperatingLeasePayments contextRef="c-1" decimals="-3" id="f-1283" unitRef="usd">10628000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments contextRef="c-4" decimals="-3" id="f-1284" unitRef="usd">8835000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments contextRef="c-5" decimals="-3" id="f-1285" unitRef="usd">9431000</us-gaap:OperatingLeasePayments>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability contextRef="c-1" decimals="-3" id="f-1286" unitRef="usd">27468000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability contextRef="c-4" decimals="-3" id="f-1287" unitRef="usd">17008000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability contextRef="c-5" decimals="-3" id="f-1288" unitRef="usd">1084000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="c-7" id="f-1289">P6Y7M6D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="c-8" id="f-1290">P5Y3M18D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent contextRef="c-7" decimals="3" id="f-1291" unitRef="number">5</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent contextRef="c-8" decimals="3" id="f-1292" unitRef="number">5</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock contextRef="c-1" id="f-1293">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The future maturity of the Company's lease liabilities as of December&#160;31, 2023 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:88.227%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.573%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,329&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,748&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,304&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,775&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,391&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;After 2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: present value discount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,471)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Present value of lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,267&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths contextRef="c-7" decimals="-3" id="f-1294" unitRef="usd">12329000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo contextRef="c-7" decimals="-3" id="f-1295" unitRef="usd">9748000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree contextRef="c-7" decimals="-3" id="f-1296" unitRef="usd">6304000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour contextRef="c-7" decimals="-3" id="f-1297" unitRef="usd">4775000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive contextRef="c-7" decimals="-3" id="f-1298" unitRef="usd">4391000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive contextRef="c-7" decimals="-3" id="f-1299" unitRef="usd">17191000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue contextRef="c-7" decimals="-3" id="f-1300" unitRef="usd">54738000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount contextRef="c-7" decimals="-3" id="f-1301" unitRef="usd">8471000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability contextRef="c-7" decimals="-3" id="f-1302" unitRef="usd">46267000</us-gaap:OperatingLeaseLiability>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="c-1" id="f-1303">COMMITMENTS AND CONTINGENCIES&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company is a party to certain claims and legal actions generally incidental to its business. Management does not believe that the outcome of any claims, or other claims which are not clearly determinable at the present time, would result in a material adverse effect on the Company's financial condition or results of operations.&lt;/span&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:SegmentReportingDisclosureTextBlock contextRef="c-1" id="f-1304">SEGMENT INFORMATION&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company is organized into four reportable segments on the basis of the production processes, products and services provided by each segment, identified as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:31.5pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(i)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.12pt"&gt;Renewables, which primarily includes designing, engineering, manufacturing and installation of solar racking and electrical balance of systems;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:31.5pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(ii)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.9pt"&gt;Residential, which primarily includes designing, engineering and manufacturing of roof and foundation ventilation products, centralized mail systems and electronic package solutions, retractable awnings and gutter guards, and rain dispersion products, trims and flashings and other accessories;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:31.5pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(iii)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:4.68pt"&gt;Agtech, which provides growing solutions including the designing, engineering, manufacturing and installation of greenhouses; and&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;padding-left:31.5pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(iv)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:4.12pt"&gt;Infrastructure, which primarily includes designing, engineering and manufacturing of structural bearings, expansion joints and pavement sealant for bridges, airport runways and roadways, elastomeric concrete, and bridge cable protection systems.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;When determining the reportable segments, the Company aggregated operating segments based on their similar economic and operating characteristics.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables illustrate certain measurements used by management to assess the performance of the segments described above as of and for the years ended December&#160;31 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;330,738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;377,567&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;432,096&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Residential &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;814,803&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;767,248&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;635,505&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;144,967&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;168,868&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;199,161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Infrastructure &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;87,228&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76,283&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total consolidated net sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,377,736&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,389,966&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,339,783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income from operations:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,160&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,158&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Residential &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143,068&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;126,458&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105,821&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(928)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,914&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(931)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Infrastructure &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,529&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,911&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Segments income from operations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;190,829&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;163,618&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;133,959&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unallocated corporate expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(40,100)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(33,516)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(36,971)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total income from operations&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;150,729&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;130,102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96,988&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Depreciation and Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,671&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,467&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,080&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,983&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,694&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,789&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,377&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,279&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Infrastructure &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,137&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,092&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unallocated corporate expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,701&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,190&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;219&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,378&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,167&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,966&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;377,694&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;392,368&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;445,486&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;515,739&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;519,567&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;453,469&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;168,213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;193,966&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;212,038&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;77,518&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80,264&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,662&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unallocated corporate assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117,287&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,246&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,256,451&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,210,613&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,214,901&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capital expenditures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,113&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,589&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,268&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Residential &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,913&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,050&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,182&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,419&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,177&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,289&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Infrastructure &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,313&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,898&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,097&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unallocated corporate expenditures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,239&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,424&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,869&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,997&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,705&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables illustrate revenue disaggregated by timing of transfer of control to the customer for the years ended December 31 (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:20.211%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.846%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.995%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.375%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.995%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.998%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Point in Time&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,123&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;808,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,920&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,547&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;893,815&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over Time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;281,615&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,578&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;140,047&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,681&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;483,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;330,738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;814,803&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;144,967&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;87,228&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,377,736&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:8pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="27" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Point in Time&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,317&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;761,576&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,011&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,983&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;834,887&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over Time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;350,250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,672&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;155,857&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;555,079&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;377,567&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;767,248&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;168,868&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76,283&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,389,966&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:8pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Point in Time&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,630&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;630,494&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,512&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;711,793&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over Time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;403,466&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,011&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;179,004&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,509&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;627,990&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;432,096&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;635,505&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;199,161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,339,783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net sales by region or origin and long-lived assets by region of domicile for the years ended and as of December&#160;31 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;North America&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,366,012&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,373,907&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,318,795&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asia&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,724&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,059&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,988&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,377,736&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,389,966&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,339,783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-lived assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;North America&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;154,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;136,553&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asia&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;234&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;365&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;154,837&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;136,787&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,368&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="c-1"
      decimals="INF"
      id="f-1305"
      unitRef="segment">4</us-gaap:NumberOfReportableSegments>
    <us-gaap:Revenues contextRef="c-217" decimals="-3" id="f-1306" unitRef="usd">330738000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-218" decimals="-3" id="f-1307" unitRef="usd">377567000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-219" decimals="-3" id="f-1308" unitRef="usd">432096000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-220" decimals="-3" id="f-1309" unitRef="usd">814803000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-221" decimals="-3" id="f-1310" unitRef="usd">767248000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-222" decimals="-3" id="f-1311" unitRef="usd">635505000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-223" decimals="-3" id="f-1312" unitRef="usd">144967000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-224" decimals="-3" id="f-1313" unitRef="usd">168868000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-225" decimals="-3" id="f-1314" unitRef="usd">199161000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-226" decimals="-3" id="f-1315" unitRef="usd">87228000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-227" decimals="-3" id="f-1316" unitRef="usd">76283000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-228" decimals="-3" id="f-1317" unitRef="usd">73021000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-1" decimals="-3" id="f-1318" unitRef="usd">1377736000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-4" decimals="-3" id="f-1319" unitRef="usd">1389966000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-5" decimals="-3" id="f-1320" unitRef="usd">1339783000</us-gaap:Revenues>
    <us-gaap:OperatingIncomeLoss contextRef="c-217" decimals="-3" id="f-1321" unitRef="usd">30160000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-218" decimals="-3" id="f-1322" unitRef="usd">25243000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-219" decimals="-3" id="f-1323" unitRef="usd">20158000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-220" decimals="-3" id="f-1324" unitRef="usd">143068000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-221" decimals="-3" id="f-1325" unitRef="usd">126458000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-222" decimals="-3" id="f-1326" unitRef="usd">105821000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-223" decimals="-3" id="f-1327" unitRef="usd">-928000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-224" decimals="-3" id="f-1328" unitRef="usd">2914000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-225" decimals="-3" id="f-1329" unitRef="usd">-931000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-226" decimals="-3" id="f-1330" unitRef="usd">18529000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-227" decimals="-3" id="f-1331" unitRef="usd">9003000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-228" decimals="-3" id="f-1332" unitRef="usd">8911000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-255" decimals="-3" id="f-1333" unitRef="usd">190829000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-256" decimals="-3" id="f-1334" unitRef="usd">163618000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-257" decimals="-3" id="f-1335" unitRef="usd">133959000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-229" decimals="-3" id="f-1336" unitRef="usd">-40100000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-230" decimals="-3" id="f-1337" unitRef="usd">-33516000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-231" decimals="-3" id="f-1338" unitRef="usd">-36971000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-1" decimals="-3" id="f-1339" unitRef="usd">150729000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-4" decimals="-3" id="f-1340" unitRef="usd">130102000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-5" decimals="-3" id="f-1341" unitRef="usd">96988000</us-gaap:OperatingIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-217" decimals="-3" id="f-1342" unitRef="usd">8671000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-218" decimals="-3" id="f-1343" unitRef="usd">8467000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-219" decimals="-3" id="f-1344" unitRef="usd">14682000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-220" decimals="-3" id="f-1345" unitRef="usd">10080000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-221" decimals="-3" id="f-1346" unitRef="usd">8983000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-222" decimals="-3" id="f-1347" unitRef="usd">8694000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-223" decimals="-3" id="f-1348" unitRef="usd">3789000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-224" decimals="-3" id="f-1349" unitRef="usd">4377000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-225" decimals="-3" id="f-1350" unitRef="usd">5279000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-226" decimals="-3" id="f-1351" unitRef="usd">3137000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-227" decimals="-3" id="f-1352" unitRef="usd">3150000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-228" decimals="-3" id="f-1353" unitRef="usd">3092000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-229" decimals="-3" id="f-1354" unitRef="usd">1701000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-230" decimals="-3" id="f-1355" unitRef="usd">1190000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-231" decimals="-3" id="f-1356" unitRef="usd">219000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-1" decimals="-3" id="f-1357" unitRef="usd">27378000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-4" decimals="-3" id="f-1358" unitRef="usd">26167000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c-5" decimals="-3" id="f-1359" unitRef="usd">31966000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock contextRef="c-1" id="f-1360">&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;377,694&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;392,368&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;445,486&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;515,739&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;519,567&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;453,469&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;168,213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;193,966&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;212,038&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;77,518&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80,264&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,662&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unallocated corporate assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117,287&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,448&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,246&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,256,451&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,210,613&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,214,901&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capital expenditures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,113&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,589&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,268&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Residential &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,913&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,050&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,182&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,419&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,177&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,289&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Infrastructure &lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,313&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,898&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,097&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unallocated corporate expenditures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,239&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,424&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,869&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,997&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,705&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock>
    <us-gaap:Assets contextRef="c-258" decimals="-3" id="f-1361" unitRef="usd">377694000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-259" decimals="-3" id="f-1362" unitRef="usd">392368000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-260" decimals="-3" id="f-1363" unitRef="usd">445486000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-261" decimals="-3" id="f-1364" unitRef="usd">515739000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-262" decimals="-3" id="f-1365" unitRef="usd">519567000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-263" decimals="-3" id="f-1366" unitRef="usd">453469000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-264" decimals="-3" id="f-1367" unitRef="usd">168213000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-265" decimals="-3" id="f-1368" unitRef="usd">193966000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-266" decimals="-3" id="f-1369" unitRef="usd">212038000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-267" decimals="-3" id="f-1370" unitRef="usd">77518000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-268" decimals="-3" id="f-1371" unitRef="usd">80264000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-269" decimals="-3" id="f-1372" unitRef="usd">82662000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-270" decimals="-3" id="f-1373" unitRef="usd">117287000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-271" decimals="-3" id="f-1374" unitRef="usd">24448000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-272" decimals="-3" id="f-1375" unitRef="usd">21246000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-7" decimals="-3" id="f-1376" unitRef="usd">1256451000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-8" decimals="-3" id="f-1377" unitRef="usd">1210613000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-9" decimals="-3" id="f-1378" unitRef="usd">1214901000</us-gaap:Assets>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-217" decimals="-3" id="f-1379" unitRef="usd">1113000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-218" decimals="-3" id="f-1380" unitRef="usd">3589000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-219" decimals="-3" id="f-1381" unitRef="usd">4268000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-220" decimals="-3" id="f-1382" unitRef="usd">6913000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-221" decimals="-3" id="f-1383" unitRef="usd">10050000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-222" decimals="-3" id="f-1384" unitRef="usd">4182000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-223" decimals="-3" id="f-1385" unitRef="usd">1419000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-224" decimals="-3" id="f-1386" unitRef="usd">3177000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-225" decimals="-3" id="f-1387" unitRef="usd">3289000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-226" decimals="-3" id="f-1388" unitRef="usd">1313000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-227" decimals="-3" id="f-1389" unitRef="usd">1898000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-228" decimals="-3" id="f-1390" unitRef="usd">2097000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-229" decimals="-3" id="f-1391" unitRef="usd">4239000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-230" decimals="-3" id="f-1392" unitRef="usd">1424000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-231" decimals="-3" id="f-1393" unitRef="usd">3869000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-1" decimals="-3" id="f-1394" unitRef="usd">14997000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-4" decimals="-3" id="f-1395" unitRef="usd">20138000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-5" decimals="-3" id="f-1396" unitRef="usd">17705000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:DisaggregationOfRevenueTableTextBlock contextRef="c-1" id="f-1397">&lt;div style="margin-top:12pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables illustrate revenue disaggregated by timing of transfer of control to the customer for the years ended December 31 (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:20.211%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.846%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.995%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.375%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.995%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.545%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:14.998%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Point in Time&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,123&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;808,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,920&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,547&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;893,815&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over Time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;281,615&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,578&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;140,047&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55,681&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;483,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;330,738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;814,803&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;144,967&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;87,228&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,377,736&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:8pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="27" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Point in Time&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,317&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;761,576&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,011&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,983&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;834,887&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over Time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;350,250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,672&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;155,857&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;555,079&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;377,567&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;767,248&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;168,868&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76,283&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,389,966&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:8pt"&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Renewables&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Residential&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Agtech&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Infrastructure&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Point in Time&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,630&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;630,494&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,512&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;711,793&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Over Time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;403,466&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,011&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;179,004&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,509&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;627,990&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;432,096&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;635,505&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;199,161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;73,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,339,783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:Revenues contextRef="c-273" decimals="-3" id="f-1398" unitRef="usd">49123000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-274" decimals="-3" id="f-1399" unitRef="usd">808225000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-275" decimals="-3" id="f-1400" unitRef="usd">4920000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-276" decimals="-3" id="f-1401" unitRef="usd">31547000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-277" decimals="-3" id="f-1402" unitRef="usd">893815000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-278" decimals="-3" id="f-1403" unitRef="usd">281615000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-279" decimals="-3" id="f-1404" unitRef="usd">6578000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-280" decimals="-3" id="f-1405" unitRef="usd">140047000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-281" decimals="-3" id="f-1406" unitRef="usd">55681000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-282" decimals="-3" id="f-1407" unitRef="usd">483921000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-88" decimals="-3" id="f-1408" unitRef="usd">330738000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-89" decimals="-3" id="f-1409" unitRef="usd">814803000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-90" decimals="-3" id="f-1410" unitRef="usd">144967000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-91" decimals="-3" id="f-1411" unitRef="usd">87228000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-1" decimals="-3" id="f-1412" unitRef="usd">1377736000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-283" decimals="-3" id="f-1413" unitRef="usd">27317000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-284" decimals="-3" id="f-1414" unitRef="usd">761576000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-285" decimals="-3" id="f-1415" unitRef="usd">13011000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-286" decimals="-3" id="f-1416" unitRef="usd">32983000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-287" decimals="-3" id="f-1417" unitRef="usd">834887000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-288" decimals="-3" id="f-1418" unitRef="usd">350250000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-289" decimals="-3" id="f-1419" unitRef="usd">5672000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-290" decimals="-3" id="f-1420" unitRef="usd">155857000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-291" decimals="-3" id="f-1421" unitRef="usd">43300000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-292" decimals="-3" id="f-1422" unitRef="usd">555079000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-80" decimals="-3" id="f-1423" unitRef="usd">377567000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-81" decimals="-3" id="f-1424" unitRef="usd">767248000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-82" decimals="-3" id="f-1425" unitRef="usd">168868000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-83" decimals="-3" id="f-1426" unitRef="usd">76283000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-4" decimals="-3" id="f-1427" unitRef="usd">1389966000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-293" decimals="-3" id="f-1428" unitRef="usd">28630000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-294" decimals="-3" id="f-1429" unitRef="usd">630494000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-295" decimals="-3" id="f-1430" unitRef="usd">20157000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-296" decimals="-3" id="f-1431" unitRef="usd">32512000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-297" decimals="-3" id="f-1432" unitRef="usd">711793000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-298" decimals="-3" id="f-1433" unitRef="usd">403466000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-299" decimals="-3" id="f-1434" unitRef="usd">5011000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-300" decimals="-3" id="f-1435" unitRef="usd">179004000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-301" decimals="-3" id="f-1436" unitRef="usd">40509000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-302" decimals="-3" id="f-1437" unitRef="usd">627990000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-303" decimals="-3" id="f-1438" unitRef="usd">432096000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-304" decimals="-3" id="f-1439" unitRef="usd">635505000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-305" decimals="-3" id="f-1440" unitRef="usd">199161000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-306" decimals="-3" id="f-1441" unitRef="usd">73021000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-5" decimals="-3" id="f-1442" unitRef="usd">1339783000</us-gaap:Revenues>
    <us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock contextRef="c-1" id="f-1443">&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net sales by region or origin and long-lived assets by region of domicile for the years ended and as of December&#160;31 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:59.222%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.637%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.532%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.640%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;North America&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,366,012&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,373,907&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,318,795&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asia&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,724&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,059&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,988&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,377,736&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,389,966&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,339,783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-lived assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;North America&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;154,778&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;136,553&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asia&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;234&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;365&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;154,837&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;136,787&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;97,368&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock>
    <us-gaap:Revenues contextRef="c-307" decimals="-3" id="f-1444" unitRef="usd">1366012000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-308" decimals="-3" id="f-1445" unitRef="usd">1373907000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-309" decimals="-3" id="f-1446" unitRef="usd">1318795000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-310" decimals="-3" id="f-1447" unitRef="usd">11724000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-311" decimals="-3" id="f-1448" unitRef="usd">16059000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-312" decimals="-3" id="f-1449" unitRef="usd">20988000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-1" decimals="-3" id="f-1450" unitRef="usd">1377736000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-4" decimals="-3" id="f-1451" unitRef="usd">1389966000</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c-5" decimals="-3" id="f-1452" unitRef="usd">1339783000</us-gaap:Revenues>
    <us-gaap:NoncurrentAssets contextRef="c-313" decimals="-3" id="f-1453" unitRef="usd">154778000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets contextRef="c-314" decimals="-3" id="f-1454" unitRef="usd">136553000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets contextRef="c-315" decimals="-3" id="f-1455" unitRef="usd">97003000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets contextRef="c-316" decimals="-3" id="f-1456" unitRef="usd">59000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets contextRef="c-317" decimals="-3" id="f-1457" unitRef="usd">234000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets contextRef="c-318" decimals="-3" id="f-1458" unitRef="usd">365000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets contextRef="c-7" decimals="-3" id="f-1459" unitRef="usd">154837000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets contextRef="c-8" decimals="-3" id="f-1460" unitRef="usd">136787000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets contextRef="c-9" decimals="-3" id="f-1461" unitRef="usd">97368000</us-gaap:NoncurrentAssets>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
